Wiem, że ATLAS jest w stanie zoptymalizować się pod kątem maszyny, na której jest skompilowany, dzięki czemu można uzyskać maksymalne korzyści przy kompilacji ze źródła. Czy jest jakaś korzyść ze skompilowania LAPACK-a ze źródła? O wiele łatwiej byłoby po prostu zainstalować wstępnie przygotowany pakiet.
performance
lapack
OSE
źródło
źródło
Odpowiedzi:
OpenBlas jest dość szybki, więc możesz połączyć go z LAPACK. Czy próbowałeś wcześniej skompilowanej wersji LAPACK / BLAS od swojego dostawcy CPU? Na przykład AMD ACML (bezpłatny) lub Intel MKL (bezpłatny w systemie Linux do użytku niekomercyjnego i nieakademickiego)? Musisz po prostu rozpakować i uruchomić plik instalacyjny.
Moim zdaniem jedyną zaletą korzystania z ATLAS jest wtedy, gdy używasz niezwykłego procesora. W przeciwnym razie użyj tego od dostawcy procesora. Dostępne są również wersje nVIDIA CUDA i AMD OpenCL, które naprawdę się bawią.
EDYCJA: pamiętaj, że zawsze możesz zbudować pakiet Ubuntu DEB ze źródła, co zwykle jest znacznie łatwiejsze niż kompilowanie oprogramowania ze źródła.
źródło
libmkl_rt.so
pliku zwykle połączonym przy użyciu:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Ze względu na sposób kompilacji pakiet repozytorium nie jest bezpieczny w przypadku korzystania z wątków. Zgłosiłem błąd na forum Lapacka , ale obejście obejścia lub rozwiązania zajmie dużo czasu w repozytorium. Jeśli skompilujesz go samodzielnie, pamiętaj o dodaniu „-frecursive” do gfortran.
źródło
Z mojego doświadczenia wynika, że najlepszym sposobem używania blas / lapack w najnowszych wersjach ubuntu jest użycie spakowanego pakietu openblas.
Jeśli chodzi o to, co warto, używam głównie blas / lapack przez python numpy / scipy, a użycie openblas przyspiesza część algebry liniowej o około 200x w porównaniu do domyślnej. Próbowałem użyć niestandardowego ATLAS, ale to był ogromny ból i nie dawałem wiele, jeśli jakieś przyspieszenie w porównaniu z openblas, ale mogłem robić to źle.
źródło