Вот мой код программы, которая выполняет гистограмму на изображении, а затем сканирование суммы префикса на гистограмме http://codepad.org/4RMtWn1e. Проблема заключается в строке 396, которая правильно выводит значение numBins (количество бункеров для гистограммы) на 1024. Я чем копирую гистограмму из памяти устройства обратно в память хоста. Это как-то изменяет значение numBins, а следующий результат - 0. Это кажется очень странным. Я не вносил никаких конкретных изменений в numBins, но все равно меняет значение. Мне кажется, если я смогу это понять, я пойму, почему моя программа не работает.cudaMemcpy влияет на другие переменные
0
A
ответ
2
Это неправильно:
unsigned int* h_histogram;
h_histogram = (unsigned int*) malloc(sizeof(unsigned int)* 1024);
std::cout << numBins;
checkCudaErrors(cudaMemcpy(&h_histogram, d_histogram, sizeof(unsigned int)* numBins, cudaMemcpyDeviceToHost));
^
|
h_histogram is already a pointer
Вместо этого:
checkCudaErrors(cudaMemcpy(h_histogram, d_histogram, sizeof(unsigned int)* numBins, cudaMemcpyDeviceToHost));
(единственное изменение в том, чтобы удалить амперсанд перед h_histogram
Я не уверен, что на самом деле, почему numBins
был поврежден точно, но эта конкретная ошибка cudaMemcpy
операция не будет копировать в пункт назначения, который вы ожидаете, вместо этого он закончил бы напишите значение указателя, сохраненное в h_histogram
, а также все, что появилось после него. И если после него было сохранено numBins
, оно также перезаписало бы это.
Смежные вопросы
- 1. Почему создание строки влияет на другие переменные?
- 2. Tumblr like-button влияет на другие переменные?
- 3. Неправильный формат спецификатора NSLog (...) влияет на другие переменные?
- 4. TextArea влияет на другие Лобов
- 5. переход влияет на другие фотографии
- 6. SetInterval влияет на другие функции?
- 7. Почему Array.prototype.pop() влияет на другие массивы?
- 8. Переменные среды Linux, ссылающиеся на другие переменные
- 9. Маржа влияет на другие объекты в Firefox
- 10. CCParticleSystemQuad текстура эмиттера влияет на другие эмиттеры
- 11. Почему этот modrewrite влияет на другие файлы?
- 12. Websphere: влияет ли parent_last на другие приложения?
- 13. кнопку Масштаб не влияет на другие кнопки
- 14. сортируемый список влияет на другие элементы вокруг
- 15. UITableViewCell drawRect влияет на другие ячейки
- 16. Hover псевдо-класс влияет на другие элементы
- 17. изменение ползунка влияет на другие ячейки таблицы
- 18. Url переписано влияет на другие linksthe
- 19. Засорение TCP влияет на другие порты?
- 20. Выполнение функции влияет на другие функции
- 21. Выполнение функций Excel влияет на «другие» ячейки
- 22. Профилирование callgrind влияет на другие процессы?
- 23. Разделить переменную на другие переменные
- 24. multiprocessing.Pool, не влияет на переменные классов постоянно
- 25. cudaMemcpy - ПРОВЕРКА
- 26. Сегментация на cudaMalloc или cudaMemcpy
- 27. CUDA cudaMemcpy: недопустимый аргумент
- 28. Переменные - Другие скрипты - jQuery
- 29. таНос обнуление другие переменные
- 30. Две переменные, если пустые другие другие