Как выбрать размеры сетки и блока для ядер CUDA?
Это вопрос о том, как определить сетку CUDA, размеры блоков и нитей. Это дополнительный вопрос к опубликованному здесь:
https://stackoverflow.com/a/5643838/1292251
По этой ссылке ответ от talonmies содержит фрагмент кода (см. Ниже). Я не понимаю комментарий "значение, обычно выбираемое настройками и аппаратными ограничениями".
Я не нашел хорошего объяснения или разъяснения, которое объясняет это в документации CUDA. Таким образом, мой вопрос заключается в том, как определить оптимальныйразмер блока (= количество потоков) с учетом следующего кода:
const int n = 128 * 1024;
int blocksize = 512; // value usually chosen by tuning and hardware constraints
int nblocks = n / nthreads; // value determine by block size and total work
madd<<<nblocks,blocksize>>>mAdd(A,B,C,n);
Кстати, я начал свой вопрос с ссылки выше, потому что она частично отвечает на мой первый вопрос. Если это не правильный способ задать вопросы о переполнении стека, извините или сообщите мне.