[CP2K:3237] status of hybrid OpenMP+MPI version

Urban Borštnik urban.b... at gmail.com
Mon May 9 20:50:22 UTC 2011


Hi Axel,



On Mon, 2011-05-09 at 09:34 -0700, Axel wrote:
> [...]
> hmmm... interesting.
> was this the very latest cvs code?

Yes, this was today's CVS.

> it almost looked to me as if there were some 
> mpi calls within a multi-threaded region that 
> were messing things up...

I believe we don't (or shouldn't) use such calls.  Also, you can
explicitly make CP2K call mpi_init_thread() instead of mpi_init()
(change .TRUE. to .FALSE. on line 479 of src/message_passing.F)--the
current default is a workaround  for de facto MPI threading behavior but
is technically wrong.  Also, I just committed a patch to declare the use
of MPI funneled mode instead of general mode.

> also, can you comment on what these two defines are for?
>  -D__USE_CP2K_TRACE -D__HAS_smm_dnn 

__USE_CP2K_TRACE uses CP2K's stack trace infrastructure on failed
assertions in the DBCSR sparse matrix (sub)library.  To use it you must
also add the timings_mp.o module to the LIBS variable (used to get
around this and some other circular dependencies).  While using it or
not should not affect behavior, there are OpenMP statements in stack
tracing and timing.

__HAS_smm_dnn is for using the Small Matrix Multiply library (see
tools/build_libsmm).  It is not threaded so skipping it should have no
effect on the program's behavior.

> this one is a bit of a surprise, since already gfortran 4.3.x claims
> to be OpenMP 3 compliant.
> -D__HAS_NO_OMP_3

I used gfortran 4.3 until recently (where psmp also worked last time I
checked) and didn't update the defines...

> as far as threaded libraries go. what about MKL?
> last thing a remember is that it would not go multi-threaded
> if it is called from within an OpenMP multi-threaded region,
> but that may be wishful thinking...

I haven't tried MKL recently so I can't say.  However, to rule out any
library issues, I would try standard netlib BLAS and Lapack...

Cheers,
Urban.

> 
> in any case, i'll give it a try.
> 
> 
> thanks,
>      axel.
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "cp2k" group.
> To post to this group, send email to cp... at googlegroups.com.
> To unsubscribe from this group, send email to cp2k
> +unsub... at googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/cp2k?hl=en.





More information about the CP2K-user mailing list