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.
...
...
@@ -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.
Then, copy/paste an existing sugys. For example:
```cp ../occigen-bdw/subgys ./```
From this point, you can test if the compilation succeeds by running these commands:
```
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: