Je sais qu'ATLAS est en mesure de s'optimiser pour la machine sur laquelle il est compilé et donc les avantages maximaux sont trouvés en compilant à partir de la source. Y a-t-il un avantage à compiler LAPACK à partir de la source? Il serait beaucoup plus facile d'installer simplement le package précompilé.
13
Réponses:
OpenBlas est assez rapide, vous pouvez donc le lier à LAPACK. Avez-vous essayé la version précompilée de LAPACK / BLAS de votre fournisseur de CPU? Par exemple AMD ACML (gratuit) ou Intel MKL (gratuit sur linux pour une utilisation non commerciale et non académique)? Il vous suffit de décompresser et d'exécuter le fichier d'installation.
À mon avis, le seul avantage d'utiliser ATLAS est alors lorsque vous utilisez un processeur inhabituel. Sinon, utilisez celui du fournisseur de CPU. Il existe également des versions nVIDIA CUDA et AMD OpenCL vraiment rock.
EDIT: rappelez-vous que vous pouvez toujours construire un paquet Ubuntu DEB à partir de la source, ce qui est généralement beaucoup plus facile que de compiler un logiciel à partir de la source.
la source
libmkl_rt.so
fichier généralement liés en utilisant:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Le package de référentiel n'est pas sûr à utiliser avec le threading en raison de la façon dont il a été compilé. J'ai signalé le bogue sur le forum Lapack , mais il faudra beaucoup de temps pour que des solutions de contournement ou des solutions pénètrent dans le référentiel. Si vous le compilez vous-même, assurez-vous d'ajouter le "-frecursive" à gfortran.
la source
D'après mon expérience, la meilleure façon d'utiliser blas / lapack sur les versions récentes d'ubuntu est d'utiliser les openblas emballés.
Pour ce que ça vaut, j'utilise principalement blas / lapack via python numpy / scipy, et l'utilisation de openblas accélère une partie de l'algèbre linéaire comme 200x par rapport à la valeur par défaut. J'ai essayé d'utiliser ATLAS personnalisé, mais c'était une énorme douleur et je n'ai pas donné grand-chose, sinon une accélération par rapport à openblas, mais je l'ai peut-être mal fait.
la source