1 | # Arbitrary name of the LoadLeveler job |
---|
2 | # @ job_name = Generic_testcase |
---|
3 | # Standard job output file |
---|
4 | # @ output = $(job_name).out |
---|
5 | # Error job output file |
---|
6 | # @ error = $(job_name).err |
---|
7 | # Type of job |
---|
8 | # @ job_type = mpich |
---|
9 | # Number of MPI processes requested |
---|
10 | # @ total_tasks = 12 |
---|
11 | # Number of OpenMP/pthreads tasks per MPI process |
---|
12 | # @ nb_threads = 4 |
---|
13 | # @ resources = ConsumableCpus($(nb_threads)) |
---|
14 | # Permits passing total_tasks to mpirun via NB_TASKS |
---|
15 | # as well as the number of threads/processes |
---|
16 | # @ environment = OMP_NUM_THREADS=$(nb_threads); NB_TASKS=$(total_tasks) |
---|
17 | # Job time hh:mm:ss (1h30mn here) |
---|
18 | # @ wall_clock_limit = 0:30:00 |
---|
19 | # @ queue |
---|
20 | |
---|
21 | # Recommendation : Compile and execute your codes under the same Intel environment. |
---|
22 | # If necessary, therefore, use the module command to load the appropriate environment. |
---|
23 | # For example, if your code is compiled with Intel/2016.2, uncomment the following line: |
---|
24 | #module load intel/2016.2 |
---|
25 | |
---|
26 | # To have the command echoes |
---|
27 | set -x |
---|
28 | |
---|
29 | module load intel/2018.2 |
---|
30 | module load gcc/6.4.0 |
---|
31 | |
---|
32 | # The LOADL_STEP_INITDIR vaiable is automatically set by |
---|
33 | # LoadLeveler at the directory where the llsubmit is typed |
---|
34 | #cp $LOADL_STEP_INITDIR/a.out . |
---|
35 | # The max. STACK memory used (default 4MB) (here 16 MB) per |
---|
36 | # the private variables of each thread. |
---|
37 | export KMP_STACKSIZE=16m |
---|
38 | # It is also possible to use OMP_STACKSIZE |
---|
39 | # export OMP_STACKSIZE=16M |
---|
40 | |
---|
41 | # Execution of a parallel hybrid program (MPI + threads). |
---|
42 | mpirun -np $NB_TASKS ../../build_prod/bin/generic_testcase.exe |
---|
43 | |
---|
44 | |
---|
45 | |
---|