Duda práctico 4 ejericico 1 parte c) iii)

Duda práctico 4 ejericico 1 parte c) iii)

de Mauricio Vanzulli -
Número de respuestas: 3

A quien corresponda:

En este ejercicio a que se refiere con la solución vista en el teórico? Además, en esta parte no se puede perder el acceso coalesced de lectura y escritura sobre la memoria global? Nosotros logramos implementarlo  leyendo una fila del tile que se corresponde con una fila de la matriz original y escribiendo en las columnas de la imagen de salida, por lo que perdemos la escritura coalesced. ¿Es esta la idea?

Saludos,
Mauricio 



En respuesta a Mauricio Vanzulli

Re: Duda práctico 4 ejericico 1 parte c) iii)

de Ernesto Dufrechou -
Hola Mauricio,

por equivocación hice referencia al teórico en relación a la optimización para evitar los conflictos de bancos en la parte c-iii del ejercicio 1.

En realidad dicha optimización se explica en la sección 9.2.3.3. (Shared Memory in Matrix Multiplication (C=AAT)) de la Cuda C Best Practices Guide.

La optimización consiste en reservar la zona de memoria compartida de forma que la cantidad de columnas no sea múltiplo de la cantidad de bancos. De esta forma, los elementos almacenados en una misma columna del tile en memoria compartida se asignan a bancos distintos.
Saludos!
En respuesta a Ernesto Dufrechou

Re: Duda práctico 4 ejericico 1 parte c) iii)

de Maximiliano Bove Pugliese -
Hola,

La optimización tiene que lograr 100% de shared_efficiency?

En nuestra implementación, considerando que la cantidad de columnas de la zona reservada para shared memory no sea múltiplo de la cantidad de bancos, logramos una eficiencia de 66.6% (vs. 6.06% sin optimizar), es suficiente?

Muchas gracias,
Saludos.
En respuesta a Maximiliano Bove Pugliese

Re: Duda práctico 4 ejericico 1 parte c) iii)

de Ernesto Dufrechou -
Hola,
en el caso de tamaño de bloque 32x32 la optimización debería lograr shared_efficiency=100%.
Si no logran ese resultado al menos analicen el patrón de acceso a memoria (lectura y escritura) y determinen dónde se están dando los conflictos de bancos.
Saludos!