Я новичок в CUDA и нуждаюсь в помощи в понимании некоторых вещей. Мне нужна помощь, распараллеливающая эти два цикла. В частности, как настроить dimBlock и dimGrid, чтобы сделать этот запуск быстрее. Я знаю, что это похоже на пример добавления вектора в sdk, но этот пример предназначен только для квадратных матриц, и когда я пытаюсь изменить этот код для своей матрицы размером 128 x 1024, он работает неправильно.
__global__ void mAdd(float* A, float* B, float* C)
{
for(int i = 0; i < 128; i++)
{
for(int i = 0; i < 1024; i++)
{
C[i * 1024 + j] = A[i * 1024 + j] + B[i * 1024 + j];
}
}
}
Этот код является частью более крупного цикла и является самой простой частью кода, поэтому я решил попытаться выполнить параллелизацию thia и изучить CUDA в одно и то же время. Я читал руководства, но до сих пор не понимаю, как правильно подобрать. сеток/блоков/потоков и эффективно использовать их.