Почему 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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