Skip to content

Commit

Permalink
Updates to fix problem correctness on scaling runs.
Browse files Browse the repository at this point in the history
  • Loading branch information
aaroncblack committed Jan 5, 2024
1 parent 05a18fa commit ed70b58
Show file tree
Hide file tree
Showing 16 changed files with 952 additions and 419 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ UMT can run different test problems, depending on how it was configured and buil
Blueprint test problem
------------------------
UMT can dynamically generate an unstructured 2D or 3D mesh when built against Conduit
version 0.8.9 or later. This mode is selected using the -B command line argument.
version 0.8.9 or later, or their develop branch as of 1/1/2024 or later. This mode is
selected using the -B command line argument.
Each MPI rank in UMT will construct a mesh domain by repeating a Blueprint tile topology
into a larger, repeated pattern arranged as a square tiling of the tile topology.
By default, UMT will use the tile pattern that is built into Conduit, although other
Expand Down
18 changes: 9 additions & 9 deletions build_and_run_umt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
# FC = <path to Fortran compiler>

# Default to GNU
CC=gcc
CXX=g++
FC=gfortran
#CC=gcc
#CXX=g++
#FC=gfortran

FFLAGS=-fallow-argument-mismatch
#FFLAGS=-fallow-argument-mismatch

# Intel example
# CC=icx
# CXX=icpx
# FC=ifx
CC=icx
CXX=icpx
FC=ifx


# This script will compile a basic Release build of UMT. Additional CMake options can be added to the command line args of this script, and they will be picked up and added to the UMT CMake command at the bottom of this script.
Expand Down Expand Up @@ -52,7 +52,7 @@ cmake ${UMT_REPO_PATH}/src -DCMAKE_Fortran_FLAGS=${FFLAGS} -DCMAKE_BUILD_TYPE=Re
gmake -j install
cd ..

srun -n 8 ${INSTALL_PATH}/bin/test_driver -c 10 -B -d 8,8,0 --benchmark_problem 2
srun -n 8 ${INSTALL_PATH}/bin/test_driver -c 10 -B -d 4,4,4 --benchmark_problem 2
srun -n 8 ${INSTALL_PATH}/bin/test_driver -c 10 -B local -d 8,8,0 --benchmark_problem 2
srun -n 8 ${INSTALL_PATH}/bin/test_driver -c 10 -B local -d 4,4,4 --benchmark_problem 2

# Test UMT on SSP1 unstructured 3d mesh problem on two mpi ranks. Refine the mesh via -r and -R arguments.
5 changes: 1 addition & 4 deletions host-configs/example.gnu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,4 @@ set(CMAKE_Fortran_FLAGS "-ffree-line-length-none" CACHE PATH "")
set(ENABLE_OPENMP ON CACHE BOOL "")
set(ENABLE_OPENMP_OFFLOAD OFF CACHE BOOL "")

set(CONDUIT_ROOT ${TPL_ROOT}/conduit/0.8.2 CACHE PATH "")
set(MFEM_ROOT ${TPL_ROOT}/mfem/4.4 CACHE PATH "")
set(HYPRE_ROOT ${TPL_ROOT}/hypre/2.24.0 CACHE PATH "")
set(METIS_ROOT ${TPL_ROOT}/metis/5.1.0 CACHE PATH "")
set(CONDUIT_ROOT ${TPL_ROOT}/conduit/develop CACHE PATH "")
4 changes: 2 additions & 2 deletions src/cmake/InitBuildTypeCompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "")

elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "IntelLLVM")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -DNDEBUG")
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-O2 -g -warn all,noexternal,nointerfaces -diag-enable=remark -fpe-all=0 -fpe0 -traceback")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -warn all,noexternal,nointerfaces -diag-enable=remark -check all -fpe-all=0 -fpe0 -traceback")
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-O2 -g -warn all,noexternal,nointerfaces -diag-enable=remark -fpen=0-traceback")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -warn all,noexternal,nointerfaces -diag-enable=remark -check all -fpen=0 -traceback")

elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "PGI")

Expand Down
12 changes: 4 additions & 8 deletions src/teton/aux/DestructMeshData.F90
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,11 @@ subroutine DestructMeshData(nonLTE) BIND(C,NAME="teton_destructmeshdata")

! Communication Sets

if (Size% ndim >= 2) then
do setID=1,nCommSets+nGTASets
CSet => getCommSetData(Quad, setID)

do setID=1,nCommSets+nGTASets
CSet => getCommSetData(Quad, setID)

call destruct(CSet)
enddo

endif
call destruct(CSet)
enddo

! Deallocate Quadrature data (One for Sn, One for GTA)

Expand Down
Loading

0 comments on commit ed70b58

Please sign in to comment.