Commit 76bcf818 authored by gsaxena's avatar gsaxena
Browse files

Update readme.txt

parent 38287fde
......@@ -41,8 +41,16 @@ mpic++ -march=native -O2 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=
mpic++ -march=native -O2 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11 -g -c pugixml.cpp
mpic++ -march=native -O2 -fomit-frame-pointer -mfpmath=both -fopenmp -m64 -std=c++11 -g -o ./examples/tutorial1 ./examples/tutorial1_BioFVM.cpp BioFVM_vector.o BioFVM_matlab.o BioFVM_utilities.o BioFVM_mesh.o BioFVM_microenvironment.o BioFVM_solvers.o BioFVM_basic_agent.o BioFVM_agent_container.o BioFVM_MultiCellDS.o BioFVM_parallel.o pugixml.o
bsc99102@login1:~/GS_BioFVM_X/GS_BioFVM>
(5) For the SLURM scheduler, the following script can be used:
Check if the executable has been made:
bsc99102@login1:~/GS_BioFVM_X/GS_BioFVM> ls -lrt ./examples | grep tutorial1
-rw-r--r-- 1 bsc99102 bsc99 420 Sep 4 2019 tutorial1_BioFVM.h
-rw-r--r-- 1 bsc99102 bsc99 34502 Feb 14 13:46 tutorial1_BioFVM.cpp
-rwxr-xr-x 1 bsc99102 bsc99 6991728 Apr 16 16:03 tutorial1
(5) For the SLURM scheduler, the following script can be used
(script_tuturial1.sh):
============================================================================
#!/bin/bash
......@@ -63,18 +71,18 @@ mpiexec --map-by ppr:1:socket:pe=24 --report-bindings ./examples/tutorial1
This script implies :
(1) uses 1 single node
(2) spawns 2 MPI processes in that node (Since we have 2 sockets per node, we
(a) uses 1 single node
(b) 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,
(c) 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)
(specified in ./examples/tutorial1_BioFVM.cpp)
is completely divisible by the Voxel dimensions (given by
mesh_resolution in ./examples/tutorial1_BioFVM.cpp).
'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.
......@@ -85,6 +93,65 @@ total Voxels in X (or Y or Z) direction as (maxX-minX)/mesh_resolution =
must be perfectly divisible by total number of MPI processes (in this case P=2).
Thus, we have 100/2 = 50 Voxels per process.
(6) Submit the batch script using: $sbatch script_tutorial1.sh
(7) After the simulation completes, two text files are produced. One is the
error file that contains the bindings of MPI processes and threads:
For example:
========================================================================================================================================================
[s05r2b10:340036] MCW rank 0 bound to socket 0[core 0[hwt 0]], socket 0[core 1[hwt 0]], socket 0[core 2[hwt 0]], socket 0[core 3[hwt 0]], socket 0[core 4[hwt 0]], socket 0[core 5[hwt 0]], socket 0[core 6[hwt 0]], socket 0[core 7[hwt 0]], socket 0[core 8[hwt 0]], socket 0[core 9[hwt 0]], socket 0[core 10[hwt 0]], socket 0[core 11[hwt 0]], socket 0[core 12[hwt 0]], socket 0[core 13[hwt 0]], socket 0[core 14[hwt 0]], socket 0[core 15[hwt 0]], socket 0[core 16[hwt 0]], socket 0[core 17[hwt 0]], socket 0[core 18[hwt 0]], socket 0[core 19[hwt 0]], socket 0[core 20[hwt 0]], socket 0[core 21[hwt 0]], socket 0[core 22[hwt 0]], socket 0[core 23[hwt 0]]: [B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B][./././././././././././././././././././././././.]
[s05r2b10:340036] MCW rank 1 bound to socket 1[core 24[hwt 0]], socket 1[core 25[hwt 0]], socket 1[core 26[hwt 0]], socket 1[core 27[hwt 0]], socket 1[core 28[hwt 0]], socket 1[core 29[hwt 0]], socket 1[core 30[hwt 0]], socket 1[core 31[hwt 0]], socket 1[core 32[hwt 0]], socket 1[core 33[hwt 0]], socket 1[core 34[hwt 0]], socket 1[core 35[hwt 0]], socket 1[core 36[hwt 0]], socket 1[core 37[hwt 0]], socket 1[core 38[hwt 0]], socket 1[core 39[hwt 0]], socket 1[core 40[hwt 0]], socket 1[core 41[hwt 0]], socket 1[core 42[hwt 0]], socket 1[core 43[hwt 0]], socket 1[core 44[hwt 0]], socket 1[core 45[hwt 0]], socket 1[core 46[hwt 0]], socket 1[core 47[hwt 0]]: [./././././././././././././././././././././././.][B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B/B]
OPENMP DISPLAY ENVIRONMENT BEGIN
_OPENMP = '201511'
OMP_DYNAMIC = 'FALSE'
OMP_NESTED = 'FALSE'
OMP_NUM_THREADS = '24'
OMP_SCHEDULE = 'DYNAMIC'
OMP_PROC_BIND = 'SPREAD'
OMP_PLACES = '{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23}'
OMP_STACKSIZE = '0'
OMP_WAIT_POLICY = 'PASSIVE'
OMP_THREAD_LIMIT = '4294967295'
OMP_MAX_ACTIVE_LEVELS = '2147483647'
OMP_CANCELLATION = 'FALSE'
OMP_DEFAULT_DEVICE = '0'
OMP_MAX_TASK_PRIORITY = '0'
OPENMP DISPLAY ENVIRONMENT END
OPENMP DISPLAY ENVIRONMENT BEGIN
_OPENMP = '201511'
OMP_DYNAMIC = 'FALSE'
OMP_NESTED = 'FALSE'
OMP_NUM_THREADS = '24'
OMP_SCHEDULE = 'DYNAMIC'
OMP_PROC_BIND = 'SPREAD'
OMP_PLACES = '{24},{25},{26},{27},{28},{29},{30},{31},{32},{33},{34},{35},{36},{37},{38},{39},{40},{41},{42},{43},{44},{45},{46},{47}'
OMP_STACKSIZE = '0'
OMP_WAIT_POLICY = 'PASSIVE'
OMP_THREAD_LIMIT = '4294967295'
OMP_MAX_ACTIVE_LEVELS = '2147483647'
OMP_CANCELLATION = 'FALSE'
OMP_DEFAULT_DEVICE = '0'
OMP_MAX_TASK_PRIORITY = '0'
OPENMP DISPLAY ENVIRONMENT END
========================================================================================================================================================
and the second file is that of the output.
For example:
========================================================
TIME FOR RESIZING MICROENVIRONMENT = 1.0491
TIME FOR GENERATING GAUSSIAN PROFILE = 0.011721
TIME FOR WRITING INITIAL CONCENTRATION FILE = 0.154976
TIME FOR CREATING ALL BASIC AGENTS = 0.000926388
TIME FOR SIMULATING (SOURCES+SINKS+DIFFUSION) = 2.60654
TIME FOR WRITING FINAL FILE = 0.170324
TOTAL PROGRAM EXECUTION TIME = 3.99776
========================================================
####################################################
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