cudaMallocPitch не хватает памяти - PullRequest
0 голосов
/ 17 ноября 2011

Я работаю с cuda, и мне нужно выделить байты в память:

cudaMallocPitch( (void **) &query_dev, &query_pitch_in_bytes, max_nb_query_traited * size_of_float, height + ref_width);

in which:

float *query_dev;
size_t query_pitch_in_bytes;
size_t max_nb_query_traited;
int height;
int ref_width

Но у меня "недостаточно памяти".Есть ли безопасный способ сделать cudaMallocPitch?

Заранее спасибо

1 Ответ

1 голос
/ 02 сентября 2012

Поскольку операции с памятью в CUDA блокируются, они создают точку синхронизации.Поэтому другие ошибки, если они не проверены с помощью cudaThreadSynchonize, будут казаться ошибками при вызовах памяти.

Поэтому, если в операции с памятью получена ошибка, попробуйте поместить cudaThreadSynchronize перед ней и проверить результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...