Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
27.03.2015
Размер:
606 б
Скачать
#include "mmult.h"


/* Вычисление матричного произведения c = a * b,
a — матрица размера m x n, b — n x k, c — m x k,
матрицы хранятся по строкам.
*/
void mmult(int m, int n, int k, const float * a, const float * b, float * c)
{
    // Простое вычисление по определению (далеко не самый эффективный способ
    // реализации на CPU).
    for (int i = 0; i < m; ++i)
        for (int j = 0; j < k; ++j)
        {
            c[i * k + j] = 0;
            for (int l = 0; l < n; ++l)
                c[i * k + j] += a[i * n + l] * b[l * k + j]; // c(i, j) += a(i, l) * b(l, j)
        }
}
Соседние файлы в папке CUDA_MMult