Debugging CRCM5 : Différence entre versions
m |
m |
||
(4 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1: | Ligne 1: | ||
− | 1) The grid<br> If you have general problems right away in more than one point of your domain I would you a little test grid: Either global 24x12 points or, if you need to run LAM, use a grid 60x60 points. | + | 1) The grid<br> If you have general problems right away in more than one point of your domain I would you a little test grid: Either global 24x12 points or, if you need to run LAM, use a grid 60x60 points. |
− | or, if you want to compile all your routines or modifyed a *.cdk | + | Make sure you are '''running on 1 core''' only: |
+ | |||
+ | Ptopo_npex = 1 , Ptopo_npey = 1 , | ||
+ | |||
+ | BACKEND_OMP=1; | ||
+ | |||
+ | <br> I usually use these test grids:<br> <br> /home/winger/gem/v_3.3.3.1/Config/Test/24x12<br> /home/winger/gem/v_3.3.3.1/Config/Test/LAM_60x60<br> <br> <br> 2) Debugging mode?<br> Do you want to use a debugger?<br> If yes, I suggest you compile all routines you want to debug in debugging mode by adding "OPTIL=0 FCOMPF=-debug": | ||
+ | |||
+ | <span style="font-weight: bold;">make routine.o OPTIL=0 FCOMPF=-debug </span> | ||
+ | |||
+ | or, if you want to compile all your routines or modifyed a *.cdk | ||
+ | |||
+ | <span style="font-weight: bold;">make objloc OPTIL=0 FCOMPF=-debug </span> | ||
+ | |||
+ | <br> Create the executables with: | ||
+ | |||
+ | <span style="font-weight: bold;">make gemclimdm_nompi OPTIL=0 DEBUG=-debug</span><br><span style="font-weight: bold;"> </span> <span style="font-weight: bold;">make gemclimntr_nompi OPTIL=0 DEBUG=-debug </span> | ||
+ | |||
+ | <br> 3) Executing just the executable Does your entry/model crash? If not, the easiest way is to start the simulation the normal way with: | ||
+ | |||
+ | '''Um_lance''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Then kill the entry/model job (the job you want to debug) once it started. | Then kill the entry/model job (the job you want to debug) once it started. | ||
− | + | ||
− | Go into the execution directory: | + | Go into the execution directory: |
− | + | ||
− | '''cd '''<span | + | '''cd '''<span style="font-weight: bold;" class="moz-txt-slash"><span class="moz-txt-tag">/</span>home/${USER}/MODEL_EXEC_RUN/${TRUE_HOST}<span class="moz-txt-tag">/</span></span><span style="font-weight: bold;">${UM_EXEC_exp}</span> |
− | + | ||
− | + | <br> 3a) If you want to debug the entry execute: | |
− | + | ||
− | 3a) If you want to debug the entry execute: | ||
− | |||
<span style="font-weight: bold;">. | <span style="font-weight: bold;">. | ||
− | RUNENT_upload/configexp.cfg </span> | + | RUNENT_upload/configexp.cfg </span> |
− | + | ||
− | Go in the entry working directory: | + | Go in the entry working directory: |
− | + | ||
− | ''' cd | + | ''' cd RUNENT/work''' |
− | | + | |
− | + | Execute the executable: | |
− | + | ||
− | ''' | + | ''' ../bin/ATM_NTR.Abs''' |
− | + | ||
− | + | Or, if you want to use the debugger pgdbg: | |
+ | |||
+ | ''' pgdbg -dbx ../bin/ATM_NTR.Abs &''' | ||
+ | |||
+ | <br> 3b) If you want to debug the model execute: | ||
+ | |||
+ | <span style="font-weight: bold;">. RUNMOD_upload/configexp.cfg </span> | ||
+ | |||
+ | Go in the entry working directory: | ||
+ | |||
+ | ''' cd RUNMOD/work''' | ||
− | + | Execute the executable: | |
− | + | ||
− | + | ''' ../bin/ATM_MOD.Abs''' | |
− | + | ||
− | + | Or, if you want to use the debugger pgdbg: | |
− | + | ||
− | + | ''' pgdbg -dbx ../bin/ATM_MOD.Abs &''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | Execute the executable: | ||
− | |||
− | ''' | ||
− | |||
− | Or, if you want to use the debugger pgdbg: | ||
− | |||
− | ''' |
Version actuelle datée du 19 de mars 2015 à 15:10
1) The grid
If you have general problems right away in more than one point of your domain I would you a little test grid: Either global 24x12 points or, if you need to run LAM, use a grid 60x60 points.
Make sure you are running on 1 core only:
Ptopo_npex = 1 , Ptopo_npey = 1 ,
BACKEND_OMP=1;
I usually use these test grids:
/home/winger/gem/v_3.3.3.1/Config/Test/24x12
/home/winger/gem/v_3.3.3.1/Config/Test/LAM_60x60
2) Debugging mode?
Do you want to use a debugger?
If yes, I suggest you compile all routines you want to debug in debugging mode by adding "OPTIL=0 FCOMPF=-debug":
make routine.o OPTIL=0 FCOMPF=-debug
or, if you want to compile all your routines or modifyed a *.cdk
make objloc OPTIL=0 FCOMPF=-debug
Create the executables with:
make gemclimdm_nompi OPTIL=0 DEBUG=-debug
make gemclimntr_nompi OPTIL=0 DEBUG=-debug
3) Executing just the executable Does your entry/model crash? If not, the easiest way is to start the simulation the normal way with:
Um_lance
Then kill the entry/model job (the job you want to debug) once it started.
Go into the execution directory:
cd /home/${USER}/MODEL_EXEC_RUN/${TRUE_HOST}/${UM_EXEC_exp}
3a) If you want to debug the entry execute:
. RUNENT_upload/configexp.cfg
Go in the entry working directory:
cd RUNENT/work
Execute the executable:
../bin/ATM_NTR.Abs
Or, if you want to use the debugger pgdbg:
pgdbg -dbx ../bin/ATM_NTR.Abs &
3b) If you want to debug the model execute:
. RUNMOD_upload/configexp.cfg
Go in the entry working directory:
cd RUNMOD/work
Execute the executable:
../bin/ATM_MOD.Abs
Or, if you want to use the debugger pgdbg:
pgdbg -dbx ../bin/ATM_MOD.Abs &