<div dir="ltr">So I finally got decent performance with gfortran, openmpi, and openblas across inifiniband. Now I find that the use of openmp and <div>half the number of mpi processes seems to give better performance for the 64 molecule H2O test case. Is that reasonable? I recompiled everything including BLAS, scalapack, etc without -fopenmp etc. to make the popt version.</div><div><br></div><div>I find in seconds:</div><div><br></div><div>1 node 16 MPI procs psmp OMP_NUM_THREADS=1              834</div><div>1 node 16 MPI procs popt OMP_NUM_THREADS=1                836</div><div>2 nodes 16 MPI procs psmp OMP_NUM_THREADS=2             266</div><div>2 nodes 32 MPI procs popt OMP_NUM_THREADS=1               430</div><div>4 nodes   64 MPI procs popt OMP_NUM_THREADS=1             331<br></div><div><div>4 nodes   32 MPI procs psmp OMP_NUM_THREADS=2           189</div><div>4 nodes   64 MPI procs psmp OMP_NUM_THREADS=4           166</div></div><div><br></div><div>So you see there is no overhead using psmp built with openmp and setting threads to 1.</div><div>Using OMP THREADS greatly improves performance over just increasing mpi processes</div><div>This may be because this machine has only 1 GB memory per core, but even 4 threads is better than 2, so it seems openmp </div><div>is more efficient than mpi.</div><div><br></div><div>Still room for improvement though. Any ideas of how to tweak out better performance?</div><div><br></div><div><br></div><div>Ron</div><div><br></div><div> <br></div></div>