11.1. Parse timings from the log file#

11.1.1. Compare CONUS CycleCloud Runs#

Note

CycleCloud Configurations can impact the model run times.

It is up the the user, as to what model run configurations are used to run CMAQ on the CycleCloud. The following configurations may impact the run time of the model.

  • For different PE configurations, using 36 cpus out of 44 cpus on HC44rs

       NPCOL x NPROW    
    
    • [ ] 6x6 #SBATCH –nodes=1, #SBATCH –ntasks-per-node=36

    • [ ] 9x12 #SBATCH –nodes=3, #SBATCH –ntasks-per-node=36

    • [ ] 12x12 #SBATCH –nodes=4, #SBATCH –ntasks-per-node=36

    • [ ] 16x16 #SBATCH –nodes=8, #SBATCH –ntasks-per-node=36

    • [ ] 16x18 #SBATCH –nodes=8, #SBATCH –ntasks-per-node=36

  • For different PE configurations, using 18 cpus out of 44 cpus on HC44rs

    • [ ] 3x6 #SBATCH –nodes=1, #SBATCH –ntasks-per-node=18

    • [ ] 9x14 #SBATCH –nodes=7, #SBATCH –ntasks-per-node=18

  • For different compute nodes

    • [ ] HC44rs (44 cpus) - with Elastic Fabric Adapter (see above)

    • [ ] HBv120 (120 cpus - with Elastic Fabric Adapter

  • For different PE configurations, using 36 cpus out of 120 cpus on HBv120s

    • [ ] 6x6 #SBATCH –nodes=2, #SBATCH –ntasks-per-node=18

    • [ ] 6x6 #SBATCH –nodes=1, #SBATCH –ntasks-per-node=36

  • For different PE configurations, using 90 cpus out of 120 cpus on HBv120s

    • [ ] 9x10 #SBATCH –nodes=1, #SBATCH –ntasks-per-node=90

    • [ ] 10x18 #SBATCH –nodes=2, #SBATCH –ntasks-per-node=90

    • [ ] 15x18 #SBATCH –nodes=3, #SBATCH –ntasks-per-node=90

    • [ ] 20x18 #SBATCH –nodes=4, #SBATCH –ntasks-per-node=90

  • For with and without Elastic Fabric and Elastic Netaork Adapter

  • For with and without network placement

  • For /shared versus /data

    • [ ] input data copied to /shared

    • [ ] input data copied to /data

    • [ ] input data copied to /mnt resource (local to each node)

11.1.2. Edit the R script#

First check to see what log files are available:

ls -lrt /shared/build/openmpi_gcc/CMAQ_v533/CCTM/scripts/*.log

Modify the name of the log file to match what is avaible on your system.

cd /shared/pcluster-cmaq/qa_scripts

vi parse_timing_pcluster.r

Edit the following section of the script to specify the log file names available on your ParallelCluster

sens.dir  <- '/shared/build/openmpi_gcc/CMAQ_v533/CCTM/scripts/'
base.dir  <- '/shared/build/openmpi_gcc/CMAQ_v533/CCTM/scripts/'
files     <- dir(sens.dir, pattern ='run_cctmv5.3.3_Bench_2016_12US2.20x18pe.2day.sleep.cyclecloud.log' )
b.files <- dir(base.dir,pattern='run_cctmv5.3.3_Bench_2016_12US2.9x10pe.2day_remove_native_sleep.cyclecloud.log')
#Compilers <- c('intel','gcc','pgi')
Compilers <- c('gcc')
# name of the base case timing. I am using the current master branch from the CMAQ_Dev repository.
# The project directory name is used for the sensitivity case.
base.name <- '9x10pe'
sens.name <- '20x18pe'

Use parse_timing.r script to examine timings of each process in CMAQ#

cd qa_scripts
Rscript parse_timing.r

Timing Plot Comparing GCC run on 20x18 versus 9x10.

gcc_20x18_vs_9x10