[ET Trac] [Einstein Toolkit] #1065: Pass CCTK_ARGUMENTS more efficiently in Fortran

Einstein Toolkit trac-noreply at einsteintoolkit.org
Fri Sep 7 07:18:55 CDT 2012


#1065: Pass CCTK_ARGUMENTS more efficiently in Fortran
--------------------------+-------------------------------------------------
  Reporter:  eschnett     |       Owner:     
      Type:  enhancement  |      Status:  new
  Priority:  major        |   Milestone:     
 Component:  Other        |     Version:     
Resolution:               |    Keywords:     
--------------------------+-------------------------------------------------

Comment (by rhaas):

 I did some experiments with Cray pointers on my own and found that adding
 {{{
 CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) ::
 evolution_mask
 CCTK_POINTER_TO_CONST :: evolution_mask_ptr
 pointer (evolution_mask_ptr, evolution_mask)
 }}}
 to
 EinsteinEvolve/GRHydro/src/GRHydro_Con2Prim.F90/check_GRHydro_C2P_failed
 around line 2238 leads to an internal compiler error with intel ifort 11.1
 20100414
 {{{
 COMPILING arrangements/Zelmani/GRHydro/src/GRHydro_Con2Prim.F90
 0_1855

 : catastrophic error: **Internal compiler error: internal abort** Please
 report this error along with the circumstances in which it occurred in a
 Software Problem Report.  Note: File and line given may not be explicit
 cause of this error.
 in file arrangements/Zelmani/GRHydro/src/GRHydro_Con2Prim.F90, line 2220,
 column 12

 compilation aborted for configs/bns_all/build/GRHydro/GRHydro_Con2Prim.f90
 (code 3)
 }}}

 Note that I do not actually access the pointer at all. The ICE goes away
 if I comment out the OpenMP pragmas further down in the routine or if
 instead of cctk_lsh(1...2) I hard-code the pointee dimensions (say to
 1,2,3 which of course is wrong).

 So unless a workaround is found or CCTK_ARGUMENTS somehow does not trigger
 this then using Cray pointers (while a good idea I think) is not possible
 right now.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1065#comment:1>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list