Eu sei que o ATLAS é capaz de otimizar-se para a máquina na qual é compilado e, portanto, o máximo de benefícios é encontrado ao compilar a partir do código-fonte. Existe algum benefício em compilar o LAPACK a partir da fonte? Seria muito mais fácil instalar o pacote pré-construído.
performance
lapack
OSE
fonte
fonte
Respostas:
O OpenBlas é bastante rápido, então você pode vinculá-lo ao LAPACK. Você já tentou a versão pré-compilada do LAPACK / BLAS do seu fornecedor de CPU? Por exemplo, AMD ACML (gratuito) ou Intel MKL (gratuito no Linux para uso não comercial e não acadêmico)? Você simplesmente precisa descompactar e executar o arquivo de instalação.
Na minha opinião, a única vantagem de usar o ATLAS é quando você usa uma CPU incomum. Caso contrário, use o do fornecedor da CPU. Também existem as versões nVIDIA CUDA e AMD OpenCL disponíveis, que são realmente boas.
EDIT: lembre-se de que você sempre pode criar um pacote Ubuntu DEB a partir da fonte, o que geralmente é muito mais fácil do que compilar software a partir da fonte.
fonte
libmkl_rt.so
arquivo normalmente vinculado usando:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
O pacote do repositório não é seguro para uso com o encadeamento devido à maneira como foi compilado. Eu relatei o bug no fórum Lapack , mas levará muito tempo para que as soluções alternativas ou soluções cheguem ao repositório. Se você mesmo compilar, não se esqueça de adicionar o "-frecursive" ao gfortran.
fonte
Na minha experiência, a melhor maneira de usar blas / lapack em versões recentes do ubuntu é usar os openblas empacotados.
Quanto vale a pena, eu uso principalmente blas / lapack através de python numpy / scipy, e o uso de openblas acelera parte da álgebra linear em 200x vs. o padrão. Eu tentei usar o ATLAS personalizado, mas foi uma dor enorme e não deu muito mais aceleração do que openblas, mas eu poderia estar fazendo errado.
fonte