Actualmente, las multiplicaciones de matrices (matmul) en T-Tensor dependen de kernels CUDA personalizados. Para maximizar los FLOPS y aprovechar al máximo la arquitectura de hardware de NVIDIA, es necesario delegar las operaciones fundamentales de álgebra lineal a cuBLAS. Esto reducirá drásticamente el tiempo de ejecución en las capas nn.Linear y evitará cuellos de botella de memoria.
Criterios de Aceptación
Checklist Técnica
Pruebas Mínimas
- Prueba de Precisión: Ejecutar un script en Python que compare el resultado del nuevo
matmul con cuBLAS frente a una operación equivalente calculada en CPU (numpy), verificando la tolerancia de punto flotante (isclose).
- Prueba de Rendimiento (Benchmark): Un script que mida el tiempo de ejecución de una multiplicación de matrices grandes (ej. 4096x4096) midiendo el impacto real en hardware de entrada
Actualmente, las multiplicaciones de matrices (
matmul) en T-Tensor dependen de kernels CUDA personalizados. Para maximizar los FLOPS y aprovechar al máximo la arquitectura de hardware de NVIDIA, es necesario delegar las operaciones fundamentales de álgebra lineal a cuBLAS. Esto reducirá drásticamente el tiempo de ejecución en las capasnn.Lineary evitará cuellos de botella de memoria.Criterios de Aceptación
cublasSgemm(o el equivalente según el tipo de dato) en lugar del kernel nativo.cublasHandle_tsin fugas de memoria (memory leaks).Checklist Técnica
CMakeLists.txtoMakefile) para enlazar la librería estática/dinámica decublas.Pruebas Mínimas
matmulcon cuBLAS frente a una operación equivalente calculada en CPU (numpy), verificando la tolerancia de punto flotante (isclose).