C'è qualche vantaggio nella compilazione di LAPACK dal sorgente rispetto all'installazione del pacchetto precompilato da Ubuntu?


13

So che ATLAS è in grado di ottimizzarsi per la macchina su cui è compilato e quindi i massimi benefici si ottengono compilando dalla fonte. C'è qualche vantaggio nella compilazione di LAPACK dalla fonte? Sarebbe molto più semplice installare il pacchetto predefinito.


Potrebbe valere la pena provare questa tecnica per capire perché il tempo è trascorso. Ho scoperto che, se sto lavorando molto con matrici non grandi, le routine di libreria impiegano più della metà del loro tempo a classificare i loro flag dei caratteri di input e altre classificazioni di input, quindi potresti ottenere molto speedup aumentando la libreria con alcune routine ben codificate a mano.
Mike Dunlavey,

Risposte:


9

OpenBlas è abbastanza veloce, quindi puoi collegarlo a LAPACK. Hai provato la versione precompilata di LAPACK / BLAS dal tuo fornitore di CPU? Ad esempio AMD ACML (gratuito) o Intel MKL (gratuito su Linux per uso non commerciale e non accademico)? Devi semplicemente decomprimere ed eseguire il file di installazione.

A mio avviso, l'unico vantaggio dell'utilizzo di ATLAS è quando si utilizza una CPU insolita. In caso contrario, utilizzare quello del fornitore della CPU. Inoltre sono disponibili le versioni nVIDIA CUDA e AMD OpenCL che fanno davvero rock.

EDIT: ricorda che puoi sempre creare un pacchetto DEB Ubuntu dal sorgente, che di solito è molto più semplice della compilazione del software dal sorgente.


Penso che seguirò il tuo suggerimento e installerò MKL. Inoltre, grazie per il suggerimento sulla creazione di pacchetti DEB, non sapevo che fosse possibile.
OSE,

2
Ricorda che devi configurare ld (linker librerie dinamiche per poter trovare quelle librerie). BLAS e LAPACK di Intel MKL si trovano nel libmkl_rt.sofile solitamente collegato usando:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Misery il

2
Va sottolineato che la licenza non commerciale di Intel è diventata sempre più restrittiva con ogni versione, al punto in cui sono ora molto espliciti sul fatto che l'uso accademico non è coperto da essa non appena si ottengono soldi per la propria ricerca.
Christian Clason,

Vale la pena menzionare. Tuttavia, è possibile testarlo gratuitamente:] E se si rivela utile, non è la cosa più costosa al mondo.
Miseria,

7

Il pacchetto di repository non è sicuro da utilizzare con il threading a causa del modo in cui è stato compilato. Ho segnalato il bug sul forum di Lapack , ma ci vorrà molto tempo perché soluzioni alternative o soluzioni finiscano nel repository. Se lo compili tu stesso, assicurati di aggiungere "-frecursive" a gfortran.


6

Nella mia esperienza, il modo migliore per usare blas / lapack nelle recenti versioni di Ubuntu è usare gli openblas in pacchetto.

Per quello che vale, uso principalmente blas / lapack tramite python numpy / scipy e l'utilizzo di openblas accelera parte dell'algebra lineare di circa 200x rispetto al valore predefinito. Ho provato ad usare ATLAS personalizzato, ma è stato un grande dolore e non ho dato molto se ho avuto qualche speedup contro openblas, ma avrei potuto sbagliare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.