NuSiF-Solver/BasicSolver/2D-mpi-v3-multigrid
2024-03-05 21:45:17 +01:00
..
src 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
vis_files 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
backstep.par 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
canal.par 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
config.mk 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
dcavity.par 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
include_CLANG.mk 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
include_GCC.mk 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
include_ICC.mk 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
karman.par 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
Makefile 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
pressure.dat 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
README.md 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
sample.sh 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
surface.plot 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
vector.plot 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
velocity.dat 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
velocity.png 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00

C source skeleton

Build

  1. Configure the toolchain and additional options in config.mk:
# Supported: GCC, CLANG, ICC
TAG ?= GCC
ENABLE_OPENMP ?= false

OPTIONS +=  -DARRAY_ALIGNMENT=64
#OPTIONS +=  -DVERBOSE_AFFINITY
#OPTIONS +=  -DVERBOSE_DATASIZE
#OPTIONS +=  -DVERBOSE_TIMER

The verbosity options enable detailed output about affinity settings, allocation sizes and timer resolution.

  1. Build with:
make

You can build multiple toolchains in the same directory, but notice that the Makefile is only acting on the one currently set. Intermediate build results are located in the <TOOLCHAIN> directory.

To output the executed commands use:

make Q=
  1. Clean up with:
make clean

to clean intermediate build results.

make distclean

to clean intermediate build results and binary.

  1. (Optional) Generate assembler:
make asm

The assembler files will also be located in the <TOOLCHAIN> directory.