torch-sla: Libreria di Algebra Lineare Sparsa Differenziabile per PyTorch
È stata rilasciata una nuova libreria open-source chiamata torch-sla, progettata per portare l'algebra lineare sparsa differenziabile in PyTorch. Questo strumento offre un'API compatibile con autograd, che facilita l'uso di vari risolutori, inclusi quelli iterativi, non lineari e per autovalori, su cinque backend: SciPy, Eigen per CPU, e cuDSS, CuPy o un risolutore nativo PyTorch per GPU. Consente la risoluzione batch con pattern di sparsità condivisi o unici e può funzionare su più GPU utilizzando la decomposizione del dominio. Inoltre, presenta un sistema di differenziazione aggiunta O(1)-graph scalabile e un layer di scambio halo distribuito compatibile con autograd. È possibile consultarlo su arXiv con il riferimento 2601.13994.
Fatti principali
- torch-sla è una libreria open-source per l'algebra lineare sparsa differenziabile in PyTorch
- Fornisce un'unica API compatibile con autograd per molteplici tipi di risolutori
- Supporta cinque backend intercambiabili: SciPy, Eigen, cuDSS, CuPy e il risolutore iterativo nativo PyTorch
- Dispatch automatico in base al dispositivo e alla dimensione del problema
- Risoluzioni batch su pattern di sparsità condivisi o distinti
- Esecuzione distribuita su più GPU tramite decomposizione del dominio con scambio halo
- Framework di differenziazione aggiunta O(1)-graph per la scalabilità
- Layer di scambio halo distribuito compatibile con autograd
Entità
Istituzioni
- PyTorch
- SciPy
- Eigen
- cuDSS
- CuPy
- arXiv