Version 2 (modified by dsolyga, 11 years ago) (diff) |
---|
How to run ORCHIDEE with Vampir (at Curie)
Vampir is a profiling software.
Global
- Install ORCHIDEE on $WORKDIR at Curie.
- If you use modipsl, you have to modify AA_make.gdef. Look for curie and make the following changes :
#-Q- curie #- #-Q- curie #- Global definitions for Curie at TGCC #-Q- curie LIB_MPI = MPI1 #-Q- curie LIB_MPI_BIS = MPI1 #-Q- curie PRISM_ARCH = X64 #-Q- curie PRISM_NAME = curie #-Q- curie FCM_ARCH = X64_CURIE #-Q- curie M_K = gmake #-Q- curie P_C = cpp #-Q- curie P_O = -P -C $(P_P) #-Q- curie F_C = vtf90 -vt:mpi -vt:f90 mpif90 -c -cpp #-Q- curie #-D- MD F_D = -g #-Q- curie #-D- MN F_D = #-Q- curie #-P- I4R4 F_P = -i4 #-Q- curie #-P- I4R8 F_P = -i4 -r8 #-Q- curie #-P- I8R8 F_P = -i8 -r8 #-Q- curie F_O = -DCPP_PARA -xHost -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) #-Q- curie F_L = vtf90 -vt:mpi -vt:f90 mpif90 #-Q- curie M_M = 0 #-Q- curie L_X = 0 #-Q- curie L_O = #-Q- curie A_C = ar -r #-Q- curie A_G = ar -x #-Q- curie C_C = cc -c #-Q- curie C_O = #-Q- curie C_L = cc #-Q- curie #- #-Q- curie NCDF_INC = $(NETCDF_INC_DIR) #-Q- curie NCDF_LIB = -L$(NETCDF_LIB_DIR) -lnetcdff -lnetcdf #-Q- curie #-
- Execute ins_make script
> ./ins_make
- Compile with gmake
Isolate a part of the code
If you suspect some part of your code to be time-consuming, you can isolate it with Vampirtrace. Around your code, add the instructions :
VT_USER_START('Name_to_give_to_this_part_of_code') "Code Fortran" VT_USER_END('Name_to_give_to_this_part_of_code')
You have to give name to each part of code you isolated see ParallelismPerformances for an example.
To be continued