The division into the areas is a combined decision taking into account “real” (wall clock) and “user” (summed time of all threads) time (from the time command). NOTE: Parallel does not (necessarily) mean faster!!! Parallel execution introduces overhead (starting threads, communication)! For optimal execution time and optimal use of resources one needs to test and find the sweet spot. Lesson to be learned: Parallel computation is only useful for sufficiently large jobs. In a testrun, the resuls have been as follows: time type Time mpirun -n $SLURM_NTASKS interFoam -parallelĪs the damBreak case is quite small, it is likely that the parallel run is not faster than the sequential, due to the communication overhead. When using Gmsh, be sure to save the mesh in v2 ASCII format (see separate page on CAD-mesh. The geometry and mesh can be either hand-coded using blockMesh or with Gmsh, FreeCAD or Salome. Pre-processing (geometry and mesh generation) If a memory intensive application is on the other cores, this may cause a slow-down. A Xeon Skylake CPU has only 6 memory lanes to be shared by 20 cores. This is probably due to two reasons, full nodes cannot run on boost-clock-frequency and there may be congestion of the memory lanes. However, on full nodes we experienced a significant difference to the empty nodes. Surprisingly, the timing between the different modules is not much different. Here are timings for the simpleFoam solver with the motorBike case on empty nodes: #!/bin/bash -l #SBATCH -n 4 #SBATCH -t 00:10:00 #SBATCH -J openfoam-damBreak #SBATCH -partition=green-ib #the following 3 lines are only needed if not done manually in command-line #before submitting the job source / usr / share / lmod / lmod / init / bash module load green - spack module load openfoam blockMesh decomposePar setFields srun interFoam - parallel reconstructPar
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |