Commit fd4bc4ce authored by gsaxena's avatar gsaxena

Update readme.txt

parent ed60bb21
......@@ -16,14 +16,15 @@ BioFVM_X is based on BioFVM v 1.1.6.
is completely parallelized using MPI + OpenMP.
+ Procedure to run:
- git clone the repository
- Change to the top level directory i.e. $ cd GS_BioFVM_X/GS_BioFVM
- Make sure GCC 8.1 (or other version) and OpenMPI 3.1.1 (or other version)
present (or the modules are loaded in a module environment)
- Execute $ make ./examples/tutorial1
- For the SLURM scheduler, the following script can be used:
(1) git clone the repository
(2) Change to the top level directory i.e. $ cd GS_BioFVM_X/GS_BioFVM
(3) Make sure GCC 8.1 (or other version) and OpenMPI 3.1.1 (or other version)
present (or the modules are loaded in a module environment)
(4) Execute $ make tutorial1
This results in an executable file "tutorial1" in the directory ./examples
(5) For the SLURM scheduler, the following script can be used:
=============================================================
============================================================================
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
......@@ -38,14 +39,31 @@ export OMP_NUM_THREADS=24
export OMP_PROC_BIND=spread
export OMP_PLACES=threads
mpiexec --map-by ppr:1:socket:pe=24 --report-bindings ./examples/tutorial1
=============================================================
============================================================================
This uses 1 single node, spawns 2 MPI processes in that node (we use 1 MPI
process per socket - please adjust acording to the number of sockets you have),
creates 24 threads per socket (we use 1 thread per core, please adjust according
to the number of cores you have).
This script implies :
(1) uses 1 single node
(2) spawns 2 MPI processes in that node (Since we have 2 sockets per node, we
create 2 MPI processes i.e. 1 MPI process per socket).
(3) create 24 threads per MPI process (Since we have 24 cores in 1 socket,
we create 24 threads i.e. 1 thread per core).
IMPORTANT:
(a) Please make sure that the dimension of the Physical domain
(specified by the constant 'N' in ./examples/tutorial1_BioFVM.cpp)
is completely divisible by the Voxel dimensions (given by
mesh_resolution in ./examples/tutorial1_BioFVM.cpp).
(b) Please make sure that the number of Voxels in the X direction are perfectly
divisible by the total number of processes.
For the given example: N=1000, minX=0, maxX=N, mesh_resolution=10. This gives
total Voxels in X (or Y or Z) direction as (maxX-minX)/mesh_resolution =
(1000 - 0)/10 = 100 Voxels. Now the total number of Voxels in the X-direction
must be perfectly divisible by total number of MPI processes (in this case P=2).
Thus, we have 100/2 = 50 Voxels per process.
BioFVM: Finite Volume Solver for Biological Problems.
......
Markdown is supported
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