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


/* Вычисление матричного произведения c = a * b,
a — матрица размера m x n, b — n x k, c — m x k,
матрицы хранятся по строкам, размеры кратны BLOCK_SIZE.
*/
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_completed
  • #
    27.03.2015900 б16CUDA_MMult_Completed.sln
  • #
    27.03.20154.14 Кб16CUDA_MMult_Completed.vcproj
  • #
    27.03.20154.09 Кб16main.cpp
  • #
    27.03.2015633 б16mmult.cpp
  • #
    27.03.20152.94 Кб17mmult.cu
  • #
    27.03.2015500 б16mmult.h