Additional instructions for the project

Get test data files

Example data and parameters files can be obtained by loading the Info0939Tools module and run the command get_testdata

  module load releases/2021b
module load Info0939Tools
get_testdata
it will result in the simple files in_c.dat, in_rho.dat and param.txt to be copied in the directory from which you run the command, and since November 28th, the files in_c_slit.dat, in_rho_slit.dat and param_slit.txt corresponding to a more elaborate geometry.

Generating movie output

To generate a movie from your pressure file, you can use the gen_movie tool available vie the Info0939Tools module. Basic usage is

module load releases/2021b
module load Info0939Tools
gen_movie

By default this tool will look for a parameter file named param.txt, read it and generate a movie using the information in the file and output an MP4 file named out.mp4. The format of param.txt is expected to be the one described in the project statement. Additional options are available to change the default behavior of the tool:

$  gen_movie -h

usage: gen_movie [-h] [--cscaling COLOR_SCALING] [--framerate FRAMERATE] [--paramfile PARAMFILE] [--output OUTPUT] [--keep] [--best]

Generate movie from INFO0939 project data

optional arguments:
  -h, --help            show this help message and exit
  --cscaling COLOR_SCALING
                        Color scaling factor
  --framerate FRAMERATE
                        Frame rate
  --paramfile PARAMFILE
                        Path to the parameter file
  --output OUTPUT       Name of the output file
  --keep                Keep the generated frame images
  --best                Generate a better quality movie

Deliverable for deadline 1 (25/10/2022 at 23:59)

One member of each group of two students must create a directory PROJECT-D1 in her/his $HOME directory.
This directory must contain the C source file(s) of the program (.c and possibly .h extension).
We will compile and test the user's program with the commands:

module  load  releases/2021b  GCC/11.2.0  Info0939Tools

gcc  *.c  -I$PWD  -lm  -Wall  -O3  -march=native

./a.out param.txt

Deliverable for deadline 2 (22/11/2022 at 23:59)

One member of each group of two students (the same as for D1 !) must create a directory PROJECT-D2 in her/his $HOME directory.
This directory must contain the C source file(s) of the program (.c and possibly .h extension).
We will compile and test the user's program with the commands:

module  load  releases/2021b  GCC/11.2.0  Info0939Tools

gcc  *.c  -I$PWD  -lm  -Wall  -O3  -march=native  -fopenmp

time OMP_NUM_THREADS=1 ./a.out param.txt

time OMP_NUM_THREADS=8 ./a.out param.txt

Deliverable for deadline 3 (13/01/2023 at 23:59)

One member of each group of two students (the same as for D2 !) must create a directory PROJECT-D3 in her/his $HOME directory.
This directory must contain the C source file(s) of the program (.c and possibly .h extension).
We will compile and test the user's program with the commands:

module  load  releases/2021b  OpenMPI/4.1.1-GCC-11.2.0  Info0939Tools

mpicc  *.c  -I$PWD  -lm  -Wall  -O3  -march=native

time mpirun -np 2  ./a.out param.txt
time mpirun -np 4  ./a.out param.txt
time mpirun -np 8  ./a.out param.txt
time mpirun -np 16 ./a.out param.txt

# note that your code should be able to run with any number of MPI processes between 2 and 32, and even more if it makes sense wrt the size of the problem and the running time.

Instructions for the exam (20/01/2023 and 23/01/2023 , local I.21)

The final version of your code needs to be submitted no later than Friday, January 13rd 2023.
You need to prepare a 10 minute presentation for the oral exam, with a summary of the main results of your project, and according to the instructions in the project description.
A hands-on examination will follow, where you will be asked technical questions on your program, and you will be tasked with running it on a new input dataset, on the NIC5 cluster.