Saya tahu bahwa ATLAS dapat mengoptimalkan dirinya untuk mesin yang dikompilasi dan dengan demikian manfaat maksimum dapat ditemukan dengan mengkompilasi dari sumber. Apakah ada manfaat untuk menyusun LAPACK dari sumber? Akan jauh lebih mudah untuk menginstal paket prebuilt.
performance
lapack
OSE
sumber
sumber
Jawaban:
OpenBlas cukup cepat, sehingga Anda dapat menautkannya ke LAPACK. Sudahkah Anda mencoba versi LAPACK / BLAS yang telah dikompilasi dari vendor CPU Anda? Misalnya AMD ACML (gratis) atau Intel MKL (gratis di linux untuk penggunaan non-komersial dan non-akademik)? Anda hanya perlu membongkar dan menjalankan file instal.
Menurut pendapat saya satu-satunya keuntungan menggunakan ATLAS adalah ketika Anda menggunakan CPU yang tidak biasa. Kalau tidak gunakan yang dari vendor CPU. Juga ada versi nVIDIA CUDA dan AMD OpenCL yang sangat bagus.
EDIT: ingatlah bahwa Anda selalu dapat membangun paket DEB Ubuntu dari sumber yang biasanya lebih mudah daripada mengkompilasi perangkat lunak dari sumber.
sumber
libmkl_rt.so
file yang biasanya ditautkan menggunakan:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Paket repositori tidak aman untuk digunakan dengan threading karena cara itu dikompilasi. Saya melaporkan bug di forum Lapack , tetapi akan butuh waktu lama untuk solusi atau solusi untuk masuk ke dalam repositori. Jika Anda mengompilasinya sendiri, pastikan untuk menambahkan "-frecursive" ke gfortran.
sumber
Dalam pengalaman saya, cara terbaik untuk menggunakan blas / lapack pada versi terbaru dari ubuntu adalah dengan menggunakan openblas yang dikemas.
Untuk apa nilainya, saya kebanyakan menggunakan blas / lapack melalui python numpy / scipy, dan menggunakan openblas mempercepat beberapa aljabar linier dengan seperti 200x vs default. Saya sudah mencoba menggunakan custom ATLAS, tetapi itu sangat menyakitkan dan tidak memberi banyak jika ada speedup vs openblas, tapi saya mungkin salah melakukannya.
sumber