Trabajo en la conversión de un código grande de Matlab en C++ y CUDA. Tengo problemas de conversión de algunas operaciones de matrices dispersas como:Operaciones de matriz dispersa en CUDA
1. full_Matrix * sparse_Matrix
2. sparse_Matrix * full_Matrix
3. sparse_Matrix * sparse_Matrix (SOLVED WITH CUSP)
4. full_Matrix .* sparse_Matrix (elementwise multiplication)
5. sparse_Matrix * full_Matrix (elementwise multiplication)
6. sparse_Matrix .* sparse_Matrix (elementwise multiplication)
yo era capaz de resolver 2 usando CUSPARSE y 3 usando cambio de signo, sin embargo, no era capaz de utilizar CÚSPIDE (o CUSPARSE) para la multiplicación de matrices elementwise o para el problema 1.
Me interesa saber si hay una biblioteca CUDA que implemente todas las operaciones anteriores (preferiblemente una de código abierto).
Gracias
uhh, '(AB) = (B'A ')''? – Anycorn
@Anycorn Si bien teóricamente correcto, estás haciendo 3 transposiciones que pueden ser excesivas (depende del tamaño de tus matrices, por supuesto). – mmisu
debe ser capaz de especificar banderas de transposición, por lo tanto, solo 1 transpone. – Anycorn