Czy jest jakaś korzyść ze skompilowania LAPACK-a ze źródła w porównaniu z instalacją gotowego pakietu z Ubuntu?

13

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.

OSE
źródło
Może warto wypróbować tę technikę, aby zobaczyć, dlaczego poświęca się czas. Odkryłem, że jeśli dużo pracuję z niedużymi macierzami, procedury biblioteczne spędzają ponad połowę swojego czasu na klasyfikowaniu flag znaków wejściowych i innej klasyfikacji danych wejściowych, więc możesz uzyskać dużo przyspieszenia poprzez rozszerzenie biblioteki z kilkoma dobrze dobranymi ręcznie kodowanymi procedurami.
Mike Dunlavey

Odpowiedzi:

9

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.

Nędza
źródło
Myślę, że pójdę z twoją sugestią i zainstaluję MKL. Dziękuję również za wskazówkę dotyczącą budowania pakietów DEB, nie wiedziałem, że to możliwe.
OSE
2
Pamiętaj, że musisz skonfigurować ld (dynamiczny linker bibliotek, aby móc znaleźć te biblioteki). BLAS i LAPACK z Intel MKL znajdują się w libmkl_rt.sopliku zwykle połączonym przy użyciu:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Misery
2
Należy zauważyć, że niekomercyjna licencja Intela stawała się coraz bardziej restrykcyjna z każdym wydaniem, do tego stopnia, że ​​są one teraz bardzo wyraźne na temat tego, że wykorzystanie akademickie nie jest nią objęte, gdy tylko otrzymasz pieniądze na badania.
Christian Clason,
Tak, o czym warto wspomnieć. Można go jednak przetestować za darmo:] A jeśli okaże się przydatny, nie jest to najdroższa rzecz na świecie.
Niedola
7

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.

Victor Liu
źródło
6

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.

kliper
źródło