Execution - HiFiLES/HiFiLES-solver GitHub Wiki

After compiling with the desired settings, HiFiLES can be run with the following commands.

Something to keep in mind:

The input file contains the address of the mesh file. The HiFiLES executable looks for the mesh file relative to the current directory. Then, if only the mesh file name appears in the input file, both input and mesh files need to be in the same directory, and the HiFiLES executable needs to be called from the directory containing both files.

##Single CPU/GPU Assume the HiFiLES executable is in the directory /EXEC_DIR, and the input and mesh files are in the directory /TESTCASE_DIR. Suppose the input file is named input_file. The following command runs the simulation:

$ /EXEC_DIR/./HiFiLES /TESTCASE_DIR/input_file

##Multiple CPUs/GPUs The compilation should be made with MPI support and, if using GPUs, with CUDA support. See the Installation instructions to learn more.

###In a personal computer $ mpirun -n 8 /EXEC_DIR/./HiFiLES /TESTCASE_DIR/input_file

Change the number 8 to the number of processors you would like to run on.

###In a computer cluster If running in a cluster with a queue, refer to your cluster manager. If you do not have a queue system and are able to access each node directly, you will need to create a machine file. In this file, include the network name of each of the processors you would like to run on. For example, let us say we want to run HiFiLES in a two-node cluster, using 4 CPUs (or 4 GPUs) in each node. Suppose node 1 is named compute-0-0 and node 2 is named compute-0-1. The machine file would include the following:

compute-0-0 compute-0-0 compute-0-0 compute-0-0 compute-0-1 compute-0-1 compute-0-1 compute-0-1

Suppose the machine file is called mfile in directory /MFILE_DIR. You can run the simulation with the following line:

$ mpirun -n 8 -machinefile /MFILE_DIR/mfile /EXEC_DIR/./HiFiLES /TESTCASE_DIR/input_file

In this case, the number of processors you want to use (8 in the example) needs to match the number of CPUs (or GPUs) you have mentioned in the mfile.