[Carpet] Errors with LoopControl

Erik Schnetter schnetter at cct.lsu.edu
Thu Mar 27 23:24:40 CET 2008


On Mar 27, 2008, at 04:25:26, Hee Il Kim wrote:
> Hi,
>
> I encountered the following errors on a system with intel compilers  
> 10.1. I'm using the latest Carpet.
>
> ###
> ...
> ...
>
> Preprocessing /home/khi/Cactus/arrangements/Carpet/LoopControl/src/ 
> loopcontrol_types.F90
> Compiling /home/khi/Cactus/arrangements/Carpet/LoopControl/src/ 
> loopcontrol_types.F90
> fortcom: Error: /home/khi/Cactus/configs/rns_carpet_loopcontrol/ 
> build/LoopControl/loopcontrol_types.f90, line 6: Syntax error, found  
> IDENTIFIER 'NEXT' when expecting one of: => = . ( : %
>      CCTK_POINTER next
> ------------------^
> ...
>
> ###
>
> I included this thorn whether it could be helpful to improve the  
> scalability of my cluster whose nodes are consisted of dual Intel  
> quad core Harpertown cpus. Could I make a hybrid (OpenMP+MPI) run  
> with this thorn and "-openmp" option in the intel compiler? The  
> result was terrible if I included "-openmp" without LoopControl.


Thorn LoopControl can help parallelise code, but it is not necessary.   
It may lead to better performance than a manual parallelisation, but  
the difference is probably not large.

Independent of whether you use LoopControl or not, you have to  
indicate which loops should be parallel.  Without LoopControl, you  
need to add the corresponding OpenMP directives to loop by hand.  With  
LoopControl, it should suffice to add a line (for Fortran)

!$omp parallel

directly before the LC_LOOP statement.

It is also necessary to declare which local variables are private and  
which are shared.  This is much easier in C than in Fortran.  One way  
to get started would be to look at an OpenMP tutorial; see e.g. <http://scv.bu.edu/documentation/tutorials/OpenMP/ 
 >, but there are many others.

In short, similar to MPI, OpenMP parallelisation doesn't come for  
free.  One has to follow a certain set of rules to make a program run  
in parallel.  I hope we can come up with a good set of simple rules in  
the future which will help people get started.  At the moment, OpenMP  
is still experimental.

I don't know why the type CCTK_POINTER is not known.  There may be  
something missing in the flesh.  I'll have a look.

-erik

-- 
Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/~eschnett/

My email is as private as my paper mail.  I therefore support encrypting
and signing email messages.  Get my PGP key from www.keyserver.net.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20080327/5ff03c02/attachment.pgp 


More information about the developers mailing list