Почему cudaMemset не устанавливает байты в заданное значениеC++

Программы на C++. Форум разработчиков
Anonymous
Почему cudaMemset не устанавливает байты в заданное значение

Сообщение Anonymous »

По какой-то причине при вызове cudaMemset и проверке значения моего массива я не получаю ожидаемые значения мусора.
int main(){

float *elementsC;
# Allocate on host
cudaMallocHost(&elementsC, 4*sizeof(float));
# set all bytes to 1
cudaMemset(elementsC, 1, 4*sizeof(float));
printf("Check the last ele of C: %f\n", elementsC[0]);
}

При компиляции я получаю следующее:

Проверьте последний элемент C: 0.000000

Может кто-нибудь объяснить, почему в моем массиве все нули?
PS: Изменение набора значений 1 на любое другое значение не имеет никакого эффекта , и я компилирую с помощью:
nvcc -std=c++17


Подробнее здесь: https://stackoverflow.com/questions/793 ... iven-value

Вернуться в «C++»