 
        
        
          Добавил:
          
          
        
        
    
            Upload
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:CUDA_full / P03_MatrixMultiplication / CUDA_MMult / mmult
.cpp#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)
        }
}
