Skip to content
Snippets Groups Projects
Commit 189e3ac4 authored by midou's avatar midou
Browse files

Complete the documentation to add a new machine in GYSELAX

parent 8ae21791
No related branches found
No related tags found
No related merge requests found
...@@ -68,7 +68,7 @@ cd testcase_XXX ...@@ -68,7 +68,7 @@ cd testcase_XXX
``` ```
Those steps can also be used in a batch file for running the simulation using a job scheduler. Those steps can also be used in a batch file for running the simulation using a job scheduler.
Create a new machine: Add a new machine:
--------------------- ---------------------
First download gyselax. First download gyselax.
...@@ -87,15 +87,31 @@ Then copy paste an existing cmake file. For example: ...@@ -87,15 +87,31 @@ Then copy paste an existing cmake file. For example:
Edit the cmake file to make the compilation options fit to your machine. Edit the cmake file to make the compilation options fit to your machine.
Then, copy/paste an existing sugys. For example: From this point, you can test if the compilation succeeds by running these commands:
```cp ../occigen-bdw/subgys ./``` ```
cd ../../
./compile.sh $machine_name
```
If the compilation succeeds, you need to create the submission file **subgys**.
Go to ```cd ./machines/$machine_name/```.
Copy an existing subgys file: ```cp ../occigen-bdw/subgys ./```
Edit it: change the machine name **occigen2** by $machine_name. Then, configure your machine. Here are some key parameters:
- THPNODE: it is the number of thread available on one node (equal to number of cores, or 2X number of cores if hyperthreading). You need to hard write it.
- NTHREAD: this is the number of thread you ask per MPI task. This variable is an input and comes from your input testcase.
- MPIPROCS: this is the number of MPI tasks per node. It is computed from the given values THPNODE and NTHREAD (THPNODE/NTHREAD)
- NPES: is equal to the total number of MPI tasks of the simulation. Computes from the input file.
- CPUTASK: stands for the number of CPU per MPI task. Computed as NPES/MPIPROCS or NPES/(2*MPIPROCS) if hyperthreading is activated.
- NCPUS: is equal to the total number of thread used for the simulation. Computed as NPES*NTHREAD
- NNODES: stands for the number of nodes used for the simulation. Computed from the previous variables.
Edit the subgys file: in particular, change the ARCH name and adapt the batch creation. In summary, you need to change the name of the machine and the THPNODE with the proper values of your machine. Then, you need to adapt MPIPROCS (depending on the activated hyperthreading).
Compile the code and have a look at these two files: Then, adapt the test of the number of thread to match your machine. You can adapt the CMD\_MPIRUN and the generation of the batch file if you do not use slurm.
You are ready to test your subgys. You can do it on the testcase_small:
``` ```
vim gysela/01.make.out cd ../../testcase_small/
vim 01.make.err ./prepare.sh $machine_name
./run.sh
``` ```
If it does not work adapt your cmake file.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment