Skip to content

Commit 44e70ae

Browse files
Merge pull request #13668 from marcosvanella/master
FDS Utilities : Misc/loop_test, setup make and run for gnu, ifort and…
2 parents f7aaf3c + 795cdef commit 44e70ae

File tree

7 files changed

+90
-5
lines changed

7 files changed

+90
-5
lines changed

Utilities/Misc/loop_test/README

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
The code in main.f90 runs 640 intances of the 3D loops for computation of
2+
momentum RHS done in VELOCITY_FLUX. This is done on a single mesh with 64^3 cells.
3+
----------------------------------------------------------------------------------
4+
In Spark run the script:
5+
6+
$./make_run_all.sh
7+
8+
To check calculation times given by CPU_TIME() type:
9+
10+
$grep Time *.txt

Utilities/Misc/loop_test/main.f90

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ PROGRAM LOOP3D
55

66
! Miscellaneous declarations
77
INTEGER, PARAMETER :: EB = SELECTED_REAL_KIND(12)
8-
INTEGER, PARAMETER :: IBAR = 256, JBAR = 256, KBAR = 256
8+
INTEGER, PARAMETER :: IBAR = 64, JBAR = 64, KBAR = 64
9+
INTEGER, PARAMETER :: NSOLVES = 640
910
INTEGER, PARAMETER :: NEDGE = 12
1011
INTEGER, PARAMETER :: IBP1 = IBAR+1, JBP1 = JBAR+1, KBP1 = KBAR+1
1112
REAL(EB), PARAMETER :: FOTH = 4.0_EB/3.0_EB
@@ -20,7 +21,7 @@ PROGRAM LOOP3D
2021
DUDX,DVDY,DWDZ,DUDY,DUDZ,DVDX,DVDZ,DWDX,DWDY, &
2122
VOMZ,WOMY,UOMY,VOMX,UOMZ,WOMX, &
2223
RRHO,TXXP,TXXM,TYYP,TYYM,TZZP,TZZM,DTXXDX,DTYYDY,DTZZDZ,T_NOW,T_END
23-
INTEGER :: I,J,K,IEXP,IEXM,IEYP,IEYM,IEZP,IEZM,IC,IC1,IC2,IE,MAX_EDGE,NT
24+
INTEGER :: I,J,K,IEXP,IEXM,IEYP,IEYM,IEZP,IEZM,IC,IC1,IC2,IE,MAX_EDGE,NT,ISOLVE
2425
CHARACTER(LEN=50) :: FILENAME
2526

2627
TYPE CELL_TYPE
@@ -34,6 +35,7 @@ PROGRAM LOOP3D
3435
END TYPE EDGE_TYPE
3536
TYPE(EDGE_TYPE), ALLOCATABLE, DIMENSION(:) :: EDGE
3637

38+
NT=1
3739
! Write out Starting:
3840
!$OMP PARALLEL
3941
!$OMP MASTER
@@ -42,7 +44,14 @@ PROGRAM LOOP3D
4244
!$OMP BARRIER
4345
!$OMP END PARALLEL
4446

45-
WRITE(FILENAME,'(A,I4.4,A,I2.2,A)') 'loop3d_',IBAR,'_',NT,'THR.txt'
47+
WRITE(FILENAME,'(A,I4.4,A,I2.2,A)') 'loop3d_gnu_',IBAR,'_',NT,'THR.txt'
48+
#ifdef IFORT
49+
WRITE(FILENAME,'(A,I4.4,A,I2.2,A)') 'loop3d_ifort_',IBAR,'_',NT,'THR.txt'
50+
#endif
51+
#ifdef IFX
52+
WRITE(FILENAME,'(A,I4.4,A,I2.2,A)') 'loop3d_ifx_',IBAR,'_',NT,'THR.txt'
53+
#endif
54+
4655
WRITE(*,*) 'Starting Loop3D, out file: ',TRIM(FILENAME)
4756
OPEN(UNIT=10,FILE=TRIM(FILENAME),STATUS='UNKNOWN')
4857
WRITE(10,*) 'Starting Loop3D'
@@ -175,7 +184,9 @@ PROGRAM LOOP3D
175184
ENDDO
176185

177186
CALL CPU_TIME(T_NOW)
178-
CALL LOOP3D_OMP_CPU()
187+
DO ISOLVE = 1, NSOLVES
188+
CALL LOOP3D_OMP_CPU()
189+
ENDDO
179190
CALL CPU_TIME(T_END)
180191

181192
WRITE(10,*) 'Time=',T_END-T_NOW
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
gfortran -m64 -O2 -fopenmp main.f90 -o loop3d
1+
gfortran -m64 -O2 -fopenmp -cpp main.f90 -o loop3d
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
# For use in spark.el.nist.gov:
3+
rm -f loop3d_gnu loop3d_ifort loop3d_ifx *.txt
4+
# GNU - gfortran:
5+
module load gcc/13.1.1
6+
echo "Compiling loop3d_gnu.."
7+
gfortran -m64 -O3 -cpp main.f90 -o loop3d_gnu
8+
echo "Submitting loop3d_gnu job.."
9+
sbatch submit_gnu.slog
10+
11+
#Intel:
12+
module unload gcc/13.1.1
13+
module load tbb/latest compiler-rt/latest compiler/latest
14+
# ifort:
15+
echo "Compiling loop3d_ifort.."
16+
ifort -m64 -O2 -ipo -fpp -DIFORT -diag-disable=10448 main.f90 -o loop3d_ifort
17+
echo "Submitting loop3d_ifort job.."
18+
sbatch submit_ifort.slog
19+
20+
# ifx:
21+
echo "Compiling loop3d_ifx.."
22+
ifx -m64 -O2 -ipo -fpp -DIFX main.f90 -o loop3d_ifx
23+
echo "Submitting loop3d_ifx job.."
24+
sbatch submit_ifx.slog
25+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
#SBATCH -J loop3d_gnu
3+
#SBATCH -e /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_gnu.err
4+
#SBATCH -o /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_gnu.log
5+
#SBATCH --partition=firebot
6+
#SBATCH --ntasks=1
7+
#SBATCH --exclusive
8+
#SBATCH --cpus-per-task=1
9+
#SBATCH --time=99-99:99:99
10+
export OMP_NUM_THREADS=1
11+
12+
cd /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test
13+
./loop3d_gnu
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
#SBATCH -J loop3d_ifort
3+
#SBATCH -e /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_ifort.err
4+
#SBATCH -o /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_ifort.log
5+
#SBATCH --partition=firebot
6+
#SBATCH --ntasks=1
7+
#SBATCH --exclusive
8+
#SBATCH --cpus-per-task=1
9+
#SBATCH --time=99-99:99:99
10+
export OMP_NUM_THREADS=1
11+
12+
cd /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test
13+
./loop3d_ifort
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
#SBATCH -J loop3d_ifx
3+
#SBATCH -e /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_ifx.err
4+
#SBATCH -o /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test/loop3d_ifx.log
5+
#SBATCH --partition=firebot
6+
#SBATCH --ntasks=1
7+
#SBATCH --exclusive
8+
#SBATCH --cpus-per-task=1
9+
#SBATCH --time=99-99:99:99
10+
export OMP_NUM_THREADS=1
11+
12+
cd /home/mnv/FireModels_fork_home/fds/Utilities/Misc/loop_test
13+
./loop3d_ifx

0 commit comments

Comments
 (0)