tipe/src/cnn/include/matrix_multiplication.h
augustin64 c0381efa71 Ajout de utils.cu & recoloration des tests
Ajout de test.cu:
    Suppression de redondances dans le code
Recoloration des tests:
    Ajout de couleurs pour clarifier le bon fonctionnement ou non du programme
2022-11-11 11:20:30 +01:00

31 lines
889 B
C

#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#ifndef DEF_MATRIX_MULTIPLICATION_H
#define DEF_MATRIX_MULTIPLICATION_H
#ifdef __CUDACC__
/*
* Fonction exécutée par chaque thread lancé dans `matrix_multiplication_device`
*/
__global__ void matrix_mul_kernel(float* Md, float* Nd, float* Pd, int n, int p, int q, size_t pitch_m, size_t pitch_n, size_t pitch_p);
/*
* Multiplication de deux matrices sur le GPU
*/
void matrix_multiplication_device(float** m1, float** m2, float** result, int n, int p, int q);
#endif
/*
* Multiplication naïve de matrices sur le CPU (1 seul coeur)
*/
void matrix_multiplication_host(float** m1, float** m2, float** result, int n, int p, int q);
/*
* Multiplication de matrices (décide si il faut la faire sur CPU ou GPU)
*/
void matrix_multiplication(float** m1, float** m2, float** result, int n, int p, int q, bool use_cuda);
#endif