EM Photonics propose désormais, en version beta, un port de la librairie Fortran LAPACK (Linear Algebra Package, paquet pour l’algèbre linéaire), très utilisée dans le monde laborantin. Cette librairie contient BLAS, dont une implémentation orientée CUDA est d’ores et déjà disponible dans le runtime.
Cette version beta est gratuite, mais ne propose des algorithmes que pour des calculs réels de simple précision. La version finale proposera aussi les versions complexes de ces algorithmes, tandis que la double précision sera payante.
Comme beaucoup de librairies portées sur GPU, celle-ci promet de belles performances, autant en simple qu’en double précision : jusqu’à 120x plus rapide, sur certains types de calculs, que l’implémentation de référence ! En moyenne, 95x.
CULA vs Netlib Performance
Comme d’autres librairies pour CUDA, CULA propose de cacher entièrement la partie GPU, en exposant une simple API, peu différente de ce qu’on peut trouver pour du calcul sur CPU.
La librairie sera disponible en deux versions : une gratuite, la Basic, sans double précision mais redistribuable ; une payante (395$ annoncés), avec double précision mais seulement pour usage interne. La première ne supporte que six fonctions de LAPACK, la seconde une quinzaine, et ce chiffre devrait augmenter. Le code source n’est jamais disponible. Au niveau du support, cela varie du forum (Basic, gratuit), aux tickets en ligne (Premium, 395$), et même au téléphone et à l’email (em>Commercial, en volume).