Задать вопрос
@Pushunter

Сколько нужно нитей и блоков, чтобы перемножить 2 матрицы на Cuda?

Здравствуйте, не могу разобраться, сколько необходимо нитей и блоков, чтобы правильно перемножить матрицы при вызове ядра?
__global__ void mul(float *a, float *b, float *c, int m, int n, int k)
{
	int row = blockIdx.y * blockDim.y + threadIdx.y;
	int col = blockIdx.x * blockDim.x + threadIdx.x;
	float sum = 0;
	if (col < k && row < m)
	{
		for (int i = 0; i < n; i++)
		{
			sum += a[row * n + i] * b[i * k + col];
		}
		c[row * k + col] = sum;
	}
}
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы