Skip to content

Commit

Permalink
Output OMP threading info to screen when running ww3_shel/ww3_multi c…
Browse files Browse the repository at this point in the history
…ompiled with the OMPG switch. Also fixes truncation of build.log when running run_cmake_build. (#1191)

* Added screen output showing number of threads when OMP enabled.

* update build to get more info in logs (#46)

---------

Co-authored-by: Jessica Meixner <[email protected]>
  • Loading branch information
ukmo-ccbunney and JessicaMeixner-NOAA authored Mar 11, 2024
1 parent e085bcf commit 156a46d
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 9 deletions.
13 changes: 13 additions & 0 deletions model/src/ww3_multi.F90
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ PROGRAM W3MLTI
!/
USE WMMDATMD, ONLY: MDSI, MDSO, MDSS, MDST, MDSE, &
NMPROC, IMPROC, NMPSCR, NRGRD, ETIME
#ifdef W3_OMPG
USE OMP_LIB
#endif
!/
IMPLICIT NONE
!
Expand Down Expand Up @@ -144,6 +147,12 @@ PROGRAM W3MLTI
#ifdef W3_OMPH
IF ( IMPROC .EQ. NMPSCR ) WRITE (*,905) &
MPI_THREAD_FUNNELED, THRLEV
#endif
!
#ifdef W3_OMPG
IF( IMPROC .EQ. NMPSCR ) THEN
WRITE(*,906) omp_get_max_threads()
ENDIF
#endif
!
!/ ------------------------------------------------------------------- /
Expand Down Expand Up @@ -210,6 +219,10 @@ PROGRAM W3MLTI
905 FORMAT ( ' Hybrid MPI/OMP thread support level:'/ &
' Requested: ', I2/ &
' Provided: ', I2/ )
#endif
!
#ifdef W3_OMPG
906 FORMAT ( ' OMP threading enabled. Number of threads: ', I3 / )
#endif
!
999 FORMAT(//' End of program '/ &
Expand Down
14 changes: 14 additions & 0 deletions model/src/ww3_shel.F90
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,10 @@ PROGRAM W3SHEL
#endif
!
USE W3NMLSHELMD

#ifdef W3_OMPG
USE OMP_LIB
#endif
IMPLICIT NONE
!
#ifdef W3_MPI
Expand Down Expand Up @@ -481,6 +485,7 @@ PROGRAM W3SHEL
#ifdef W3_OMPH
ENDIF
#endif

#ifdef W3_MPI
MPI_COMM = MPI_COMM_WORLD
#endif
Expand Down Expand Up @@ -583,6 +588,11 @@ PROGRAM W3SHEL
MPI_THREAD_FUNNELED, THRLEV
#endif
!
#ifdef W3_OMPG
IF(IAPROC .EQ. NAPOUT) THEN
WRITE(NDSO, 906) omp_get_max_threads()
ENDIF
#endif

!
! 1.b For WAVEWATCH III (See W3INIT)
Expand Down Expand Up @@ -2737,6 +2747,10 @@ PROGRAM W3SHEL
905 FORMAT ( ' Hybrid MPI/OMP thread support level:'/ &
' Requested: ', I2/ &
' Provided: ', I2/ )
#endif
!
#ifdef W3_OMPG
906 FORMAT ( ' OMP threading enabled. Number of threads: ', I3 / )
#endif
920 FORMAT (/' Input fields : '/ &
' --------------------------------------------------')
Expand Down
18 changes: 9 additions & 9 deletions regtests/bin/run_cmake_test
Original file line number Diff line number Diff line change
Expand Up @@ -435,21 +435,21 @@ then

echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in cmake."
echo "The build log is in $ofile"
exit
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
rc=$?
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make."
echo "The build log is in $ofile"
exit
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make install."
echo "The build log is in $ofile"
Expand All @@ -468,20 +468,20 @@ then
\cp -f $file_c $path_build/switch
echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in cmake."
echo "The build log is in $ofile"
exit
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make."
echo "The build log is in $ofile"
exit
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make install."
echo "The build log is in $ofile"
Expand All @@ -507,20 +507,20 @@ else
fi
echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in cmake."
echo "The build log is in $ofile"
exit
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make."
echo "The build log is in $ofile"
exit
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
if [[ $rc -ne 0 ]] ; then
echo "Fatal error in make install."
echo "The build log is in $ofile"
Expand Down

0 comments on commit 156a46d

Please sign in to comment.