[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Strano comportamento di gfortran





On 12/12/2017 12:03, cage wrote:
On Mon, Dec 11, 2017 at 03:56:49PM +0100, Stefano Simonucci wrote: ......

cioè il programma si comporta come se fosse parallelizzato a livello Open-MP
con un consumo medio di CPU superiore al 160%.Eppure io non ho messo nessuna
istruzione open-MP e l'ho compilato senza l'opzione -fopenmp.
Ma almeno va piu' veloce?? :-)
No! Purtroppo va più lento!!!!

Scherzi a parte puoi provare con ldd a vedere se e' cosi' (la libreria
dovrebbe  essere collegata  dinamicamente,  almeno se  ho capito  bene
quanto                           scritto                          qui:
https://gcc.gnu.org/onlinedocs/gfortran/OpenMP.html)
Devi anche  vedere come  sono implementate  le routine  delle librerie
dietro le interfaccie,  per esempio le openblas usano  i thread. Anche
le ATLAS. Entrambe espongono le API delle BLAS.

https://stackoverflow.com/questions/30891296/are-the-lapack-routines-thread-safe/30893141#30893141

Non ho alcuna esperienza recente col  fortran (o col calcolo se e' per
questo :-)), spero di essere stato utile comunque.

Ciao!
Uso da molto tempo le blas e non avevo mai visto questo comportamento, però confesso di non conoscere come sono implementate. Sono comunque riuscito a far andare un solo thread utilizzando
export OMP_NUM_THREADS=1
Grazie comunque. Proverò a vedere se questo strano comportamento si mantiene anche quando non uso lapack e le blas. La cosa più sorprendente però era che se avviavo due programmi contemporaneamente il consumo di CPU di ciascuno dei due cresceva rispetto al caso di avvio singolo.
Ciao a tutti
Stefano


Reply to: