Hola, que tal estamos teniendo un problema con esta operación, no pudimos hacer que nos funcionara mas rápido que la multiplicacion por filas normal:
Las ejecuciones nos dan:
1024 32
mult_fila: 2840.11 ms, 0.38 GFlops runs: 1
mult_bl_fila: 3675.24 ms, 0.29 GFlops runs: 1
1024 64
mult_fila: 2842.54 ms, 0.38 GFlops runs: 1
mult_bl_fila: 3598.52 ms, 0.30 GFlops runs: 1
1024 128
mult_fila: 2842.88 ms, 0.38 GFlops runs: 1
mult_bl_fila: 3459.95 ms, 0.31 GFlops runs: 1
Los checks que hicimos son:
- Las 4 matrices resultantes son idénticas para tamaños de 9 12 y 24.
- Corrimos manual e imprimí la recorrida de la matriz por bloque fila y me da perfecto según el ejemplo en (y adjunto) https://docs.google.com/spreadsheets/d/1mSp-2kfjo8zuK7obyWS-TWRapH9G7RaoOwoAj54akhg/edit?usp=sharing
- Realicamos la mayor cantiad de operaciones fuera de los buckles correspondietes, eso mejoró los tiempos, pero no fue suficiente.
- Probamo modificar el orden de las flags al compilar, sin mejoras, al momento estoy compilando con: gcc -march=native -mtune=native -o3 main.c -o pr1
Algo que nos estemos perdiendo?