This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
software:specfem [2018/03/05 15:00] wphase |
software:specfem [2018/03/05 16:06] (current) wphase |
||
---|---|---|---|
Line 284: | Line 284: | ||
- | ==== Parallel SPECFEM3D_GLOBE RUNS ==== | + | ==== Running SEM simulations in parallel ==== |
+ | |||
+ | Some instructions to use custom scripts enabling parallel SEM simulations on the HPC cluster | ||
+ | |||
+ | === Preparing the input files === | ||
- | To launch batch of SEM runs: | ||
First, create an event list "Events.txt" with 3 collumns: | First, create an event list "Events.txt" with 3 collumns: | ||
- | - 1st column: event_id (will also be the name of the run directory) | + | * 1st column: event_id (will also be the name of the run directory) |
- | - 2nd column: path to ''CMTSOLUTION'' file for this event | + | * 2nd column: path to ''CMTSOLUTION'' file for this event |
- | - 3nd column: path to ''STATION'' file for this event (can be the same for all events) | + | * 3nd column: path to ''STATION'' file for this event (can be the same for all events) |
- | Then you must setup a ''Par_file'' as described above (be careful to use a version of ''Par_file'' that is compatible with your SEM version) | + | Then you must setup a ''Par_file'' (be careful to use a version of ''Par_file'' that is compatible with your SEM version) |
- | The SPECFEM runs will be handled using 3 scripts: | + | Finally, you must setup hostfiles named ''nodelistN'' files where N=0,...,Np-1 (Np, the number of parallel SEM simulations). These files must specify host names and number of slots per node. Here is an example: |
- | - ''parallelSEM.sh'': is the main script | + | <code> |
- | - ''run_gpu_nodelist.sh'' is the script used to run the mesher and solver | + | $ cat nodelist0 |
- | - ''sleep.slurm'' is a script to reserve the GPU nodes | + | hpc-n443 slots=8 |
+ | hpc-n444 slots=8 | ||
+ | hpc-n445 slots=8 | ||
+ | </code> | ||
+ | (see ''/b/home/eost/zac/jobs/specfem/parallelSEM/nodelist0'') | ||
- | Before running it, make sure the input parameters in ''parallelSEM.sh'' are consistent with the input parameters stated above (see ''INPUT PARAMS'' in the main script). Then run: | + | === Running the simulations in parallel === |
+ | |||
+ | Parallel SEM simulations are handled using 3 scripts: | ||
+ | * ''parallelSEM.sh'': is the main script, that compiles the code and run the simulations | ||
+ | * ''run_gpu_nodelist.sh'' is the script used to run the mesher and solver | ||
+ | * ''sleep.slurm'' is a script to reserve the GPU nodes | ||
+ | All these scripts are available in ''/b/home/eost/zac/jobs/specfem/parallelSEM'' | ||
+ | |||
+ | Before running your job, make sure that the input parameters in ''parallelSEM.sh'' are consistent with the input parameters stated above (see ''INPUT PARAMS'' in the main script). Specifically: | ||
+ | * ''SPECFEMDIR'': path to SPECFEM3D_GLOBE directory | ||
+ | * ''Par_file'': path to the Par_file used in simulations | ||
+ | * ''Nparallel'': Number of SEM simulations in parallel (make sure enough GPUs are available) | ||
+ | * ''event_list'': List of events with the format given above | ||
+ | |||
+ | Then run your simulations: | ||
<code> | <code> | ||
./parallelSEM.sh | ./parallelSEM.sh | ||
</code> | </code> | ||
+ | The script will make sure that the GPU nodes are available before launching SPECFEM3D_GLOBE. | ||
+ | |||
+ | |||