diff --git a/scripts/run-build-visit b/scripts/run-build-visit index 900c66e316..0d3e90f6d0 100755 --- a/scripts/run-build-visit +++ b/scripts/run-build-visit @@ -9,13 +9,13 @@ # Usage: # run-build-visit - -v -s # Valid machine names: -# poodle (LC, Linux, x86_64, toss4), -# lassen (LC, Linux, power9), -# rzwhippet (LC, Linux, x86_64, toss4), -# rzvernal (LC, Linux, x86_64, toss4-cray), -# trinity (LANL, x86_64) -# tuolumne (LC, Linux, x86_64, toss4-cray), -# rzadams (LC, Linux, x86_64, toss4-cray) +# poodle (LC, Linux, x86_64, toss4), +# lassen (LC, Linux, power9), +# rzwhippet (LC, Linux, x86_64, toss4), +# rzvernal (LC, Linux, x86_64, toss4-cray), +# crossroads (LANL, x86_64) +# tuolumne (LC, Linux, x86_64, toss4-cray), +# rzadams (LC, Linux, x86_64, toss4-cray) # # Modifications: # Eric Brugger, Fri Feb 17 09:36:29 PST 2023 @@ -71,6 +71,9 @@ # Justin Privitera, Fri Nov 22 16:40:46 PST 2024 # Removed kickit with extreme prejudice. # +# Eric Brugger, Wed Dec 4 16:00:35 PST 2024 +# Removed trinity and added crossroads. +# #----------------------------------------------------------------------- # @@ -80,7 +83,7 @@ poodle=false lassen=false rzgenie=false rzvernal=false -trinity=false +crossroads=false tuolumne=false machine_name="unknown" @@ -118,9 +121,9 @@ do machine_name="rzvernal" shift ;; - -trinity) - trinity=true - machine_name="trinity" + -crossroads) + crossroads=true + machine_name="crossroads" shift ;; -tuolumne) @@ -151,13 +154,13 @@ if [ "$build_visit_script" = "undefined" ] || [ "$version" = "undefined" ] then echo "Usage: - -v -s " echo "Valid machine names:" - echo " poodle (LC, Linux, x86_64, toss4)," - echo " lassen (LC, Linux, power9)," - echo " rzwhippet (LC, Linux, x86_64, toss4)," - echo " rzvernal (LC, Linux, x86_64, toss4-cray)," - echo " trinity (LANL, Linux, x86_64)" - echo " tuolumne (LC, Linux, x86_64, toss4-cray)," - echo " rzadams (LC, Linux, x86_64, toss4-cray)" + echo " poodle (LC, Linux, x86_64, toss4)," + echo " lassen (LC, Linux, power9)," + echo " rzwhippet (LC, Linux, x86_64, toss4)," + echo " rzvernal (LC, Linux, x86_64, toss4-cray)," + echo " crossroads (LANL, Linux, x86_64)" + echo " tuolumne (LC, Linux, x86_64, toss4-cray)," + echo " rzadams (LC, Linux, x86_64, toss4-cray)" exit fi @@ -178,7 +181,7 @@ fi # Info and set ran_build_visit # if [ "$poodle" = true ] || [ "$lassen" = true ] || [ "$rzwhippet" = true ] || \ - [ "$rzvernal" = true ] || [ "$trinity" = true ] || \ + [ "$rzvernal" = true ] || [ "$crossroads" = true ] || \ [ "$tuolumne" = true ]; then echo "Building on $machine_name" ran_build_visit=true @@ -198,7 +201,7 @@ elif [ "$rzvernal" = true ]; then dest_dir=/usr/workspace/visit/visit/thirdparty_shared/$version/toss4-cray-gfx90a elif [ "$tuolumne" = true ]; then dest_dir=/usr/workspace/visit/visit/thirdparty_shared/$version/toss4-cray-gfx942 -elif [ "$trinity" = true ]; then +elif [ "$crossroads" = true ]; then dest_dir=/usr/projects/views/visit/thirdparty_shared/$version else echo "case for $machine_name not implemented. Bailing out." @@ -211,7 +214,7 @@ fi if [ "$poodle" = true ] || [ "$lassen" = true ] || [ "$rzwhippet" = true ] || \ [ "$rzvernal" = true ] || [ "$tuolumne" = true ]; then dest_group=visit -elif [ "$trinity" = true ]; then +elif [ "$crossroads" = true ]; then dest_group=viz else echo "case for $machine_name not implemented. Bailing out." @@ -222,7 +225,7 @@ fi # housekeeping # if [ "$poodle" = true ] || [ "$lassen" = true ] || [ "$rzwhippet" = true ] || \ - [ "$rzvernal" = true ] || [ "$trinity" = true ] || \ + [ "$rzvernal" = true ] || [ "$crossroads" = true ] || \ [ "$tuolumne" = true ]; then if [ -f ${build_visit_script}_log.${machine_name} ]; then mv ${build_visit_script}_log.${machine_name} ${build_visit_script}_log @@ -266,19 +269,15 @@ elif [ "$rzvernal" = true ]; then PAR_INCLUDE=-I/usr/tce/packages/cray-mpich/cray-mpich-8.1.28-gcc-12.2.1-magic/include \ ./$build_visit_script --group ${dest_group} --required --optional --mesagl --uintah --parallel \ --qt6 --qwt --no-pyside --no-gdal --no-uintah --no-visit --makeflags -j24 --thirdparty-path ${dest_dir} -elif [ "$trinity" = true ]; then - module swap PrgEnv-intel/6.0.10 PrgEnv-gnu/6.0.10 - module swap gcc/11.2.0 gcc/8.2.0 - export XTPE_LINK_TYPE=dynamic - export CRAYPE_LINK_TYPE=dynamic - env C_COMPILER=/opt/cray/pe/craype/2.7.15/bin/cc \ - CXX_COMPILER=/opt/cray/pe/craype/2.7.15/bin/CC \ - PAR_COMPILER=/opt/cray/pe/craype/2.7.15/bin/cc \ - PAR_COMPILER_CXX=/opt/cray/pe/craype/2.7.15/bin/CC \ - PAR_INCLUDE=-I/opt/cray/pe/mpt/7.7.20/gni/mpich-gnu/8.2/include \ - PAR_LIBS="-L/opt/cray/pe/mpt/7.7.20/gni/mpich-gnu/8.2/lib -Wl,-rpath=/opt/cray/pe/mpt/7.7.20/gni/mpich-gnu/8.2/lib -lmpich" \ +elif [ "$crossroads" = true ]; then + env C_COMPILER=gcc \ + CXX_COMPILER=g++ \ + PAR_COMPILER=mpicc \ + PAR_COMPILER_CXX=mpic++ \ + PAR_INCLUDE=-I/opt/cray/pe/mpich/8.1.28/ofi/intel/2022.1/include \ + PAR_LIBS="-L/opt/cray/pe/mpich/8.1.28/ofi/intel/2022.1/lib -Wl,-rpath=/opt/cray/pe/mpich/8.1.28/ofi/intel/intel/lib" \ ./$build_visit_script --group ${dest_group} --required --optional --mesagl --parallel \ - --no-adios --no-adios2 --no-mili --no-pyside --qt510 --qwt --no-visit \ + --qt6 --qwt --no-adios --no-gdal --no-pyside --no-visit \ --makeflags -j16 --thirdparty-path ${dest_dir} elif [ "$tuolumne" = true ]; then env CC=gcc \ @@ -296,7 +295,7 @@ fi # Final housekeeping and permissions # if [ "$poodle" = true ] || [ "$lassen" = true ] || [ "$rzwhippet" = true ] || \ - [ "$rzvernal" = true ] || [ "$trinity" = true ] || \ + [ "$rzvernal" = true ] || [ "$crossroads" = true ] || \ [ "$tuolumne" = true ]; then mv ${build_visit_script}_log ${build_visit_script}_log.${machine_name} # just in case perms @@ -316,12 +315,12 @@ then echo "Invalid or missing machine name." echo "Usage: - -v -s " echo "Valid machine names:" - echo " poodle (LC, Linux, x86_64, toss4)," - echo " lassen (LC, Linux, power9)," - echo " rzgenie (LC, Linux, x86_64, toss3)," - echo " rzvernal (LC, Linux, x86_64, toss4-cray)," - echo " trinity (LANL, Linux, x86_64)" - echo " tuolumne (LC, Linux, x86_64, toss4-cray)," - echo " rzadams (LC, Linux, x86_64, toss4-cray)," + echo " poodle (LC, Linux, x86_64, toss4)," + echo " lassen (LC, Linux, power9)," + echo " rzgenie (LC, Linux, x86_64, toss3)," + echo " rzvernal (LC, Linux, x86_64, toss4-cray)," + echo " crossroads (LANL, Linux, x86_64)" + echo " tuolumne (LC, Linux, x86_64, toss4-cray)," + echo " rzadams (LC, Linux, x86_64, toss4-cray)," exit fi diff --git a/src/config-site/xr-fe1.cmake b/src/config-site/xr-fe1.cmake new file mode 100644 index 0000000000..5b6015c86d --- /dev/null +++ b/src/config-site/xr-fe1.cmake @@ -0,0 +1,231 @@ +#/usr/projects/views/visit/thirdparty_shared/3.4.2/cmake/3.24.3/linux-x86_64_gcc-12.2/bin/cmake +## +## ./build_visit3_4_2 generated host.cmake +## created: Wed 04 Dec 2024 03:51:16 PM MST +## system: Linux xr-fe1 5.14.21-150400.24.111_12.0.90-cray_shasta_c #1 SMP Fri Apr 19 23:37:58 UTC 2024 (18c041e) x86_64 x86_64 x86_64 GNU/Linux +## by: brugger + +## +## Setup VISITHOME & VISITARCH variables. +## +SET(VISITHOME /usr/projects/views/visit/loser/thirdparty_shared/3.4.2) +SET(VISITARCH linux-x86_64_gcc-12.2) + +## Compiler flags. +## +VISIT_OPTION_DEFAULT(VISIT_C_COMPILER cc TYPE FILEPATH) +VISIT_OPTION_DEFAULT(VISIT_CXX_COMPILER CC TYPE FILEPATH) +VISIT_OPTION_DEFAULT(VISIT_FORTRAN_COMPILER no TYPE FILEPATH) +VISIT_OPTION_DEFAULT(VISIT_C_FLAGS " -m64 -fPIC -fvisibility=hidden" TYPE STRING) +VISIT_OPTION_DEFAULT(VISIT_CXX_FLAGS " -m64 -fPIC -fvisibility=hidden" TYPE STRING) + +## +## Parallel Build Setup. +## +VISIT_OPTION_DEFAULT(VISIT_PARALLEL ON TYPE BOOL) +## (configured w/ mpi compiler wrapper) +VISIT_OPTION_DEFAULT(VISIT_MPI_COMPILER mpicc TYPE FILEPATH) +VISIT_OPTION_DEFAULT(VISIT_CREATE_SOCKET_RELAY_EXECUTABLE ON) + +## +## VisIt Thread Option +## +VISIT_OPTION_DEFAULT(VISIT_THREAD OFF TYPE BOOL) + +## +## Turn on DDT support. +## +##VISIT_OPTION_DEFAULT(VISIT_DDT ON TYPE BOOL) + +############################################################## +## +## Database reader plugin support libraries +## +## The HDF5 and NetCDF libraries must be first so that +## their libdeps are defined for any plugins that need them. +## +## For libraries with LIBDEP settings, order matters. +## Libraries with LIBDEP settings that depend on other +## Library's LIBDEP settings must come after them. +############################################################## +## + +## +## ZLIB +## +SETUP_APP_VERSION(ZLIB 1.2.13) +VISIT_OPTION_DEFAULT(VISIT_ZLIB_DIR ${VISITHOME}/zlib/${ZLIB_VERSION}/${VISITARCH}) + +## +## Python +## +VISIT_OPTION_DEFAULT(VISIT_PYTHON_DIR ${VISITHOME}/python/3.9.18/${VISITARCH}) + +## +## LLVM +## +VISIT_OPTION_DEFAULT(VISIT_LLVM_DIR ${VISITHOME}/llvm/6.0.1/${VISITARCH}) + +## +## MesaGL +## +VISIT_OPTION_DEFAULT(VISIT_MESAGL_DIR ${VISITHOME}/mesagl/17.3.9/${VISITARCH}) + +## +## QT6 +## +SETUP_APP_VERSION(QT 6.4.2) +VISIT_OPTION_DEFAULT(VISIT_QT_DIR ${VISITHOME}/qt/6.4.2/${VISITARCH}) + +## +## OSPRay +## +SETUP_APP_VERSION(OSPRAY 3.0.0) +VISIT_OPTION_DEFAULT(VISIT_OSPRAY_DIR ${VISITHOME}/ospray/${OSPRAY_VERSION}/${VISITARCH}/ospray) + +## +## VTK +## +SETUP_APP_VERSION(VTK 9.2.6) +VISIT_OPTION_DEFAULT(VISIT_VTK_DIR ${VISITHOME}/vtk/${VTK_VERSION}/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_VTK_INCDEP ZLIB_INCLUDE_DIR) +VISIT_OPTION_DEFAULT(VISIT_VTK_LIBDEP ZLIB_LIBRARY) + +## +## SZIP +## +VISIT_OPTION_DEFAULT(VISIT_SZIP_DIR ${VISITHOME}/szip/2.1/${VISITARCH}) + +## +## HDF5 +## +VISIT_OPTION_DEFAULT(VISIT_HDF5_DIR ${VISITHOME}/hdf5/1.8.14/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_HDF5_MPI_DIR ${VISITHOME}/hdf5_mpi/1.8.14/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_HDF5_LIBDEP ${VISITHOME}/szip/2.1/${VISITARCH}/lib sz ${VISITHOME}/zlib/${ZLIB_VERSION}/${VISITARCH}/lib z TYPE STRING) +VISIT_OPTION_DEFAULT(VISIT_HDF5_MPI_LIBDEP ${VISITHOME}/szip/2.1/${VISITARCH}/lib sz ${VISITHOME}/zlib/${ZLIB_VERSION}/${VISITARCH}/lib z TYPE STRING) + +## +## BLOSC2 +## +VISIT_OPTION_DEFAULT(VISIT_BLOSC2_DIR ${VISITHOME}/blosc2/2.11.3/${VISITARCH}) + +## +## ADIOS2 +## +SETUP_APP_VERSION(ADIOS2 2.10.0-rc1) +VISIT_OPTION_DEFAULT(VISIT_ADIOS2_DIR ${VISITHOME}/adios2-ser/${ADIOS2_VERSION}/${VISITARCH}) +## (configured w/ mpi compiler wrapper) +VISIT_OPTION_DEFAULT(VISIT_ADIOS2_PAR_DIR ${VISITHOME}/adios2-par/${ADIOS2_VERSION}/${VISITARCH}) + +## +## AdvIO +## +VISIT_OPTION_DEFAULT(VISIT_ADVIO_DIR ${VISITHOME}/AdvIO/1.2/${VISITARCH}) + +## +## BOOST +## +SETUP_APP_VERSION(BOOST 1_67_0) +VISIT_OPTION_DEFAULT(VISIT_BOOST_DIR ${VISITHOME}/boost/${BOOST_VERSION}/${VISITARCH}) + +## +## Boxlib +## +VISIT_OPTION_DEFAULT(VISIT_BOXLIB_DIR ${VISITHOME}/boxlib/1.3.5/${VISITARCH}) + +## +## CFITSIO +## +VISIT_OPTION_DEFAULT(VISIT_CFITSIO_DIR ${VISITHOME}/cfitsio/3006/${VISITARCH}) + +## +## CGNS +## +VISIT_OPTION_DEFAULT(VISIT_CGNS_DIR ${VISITHOME}/cgns/4.1.0/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_CGNS_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} TYPE STRING) + +## +## Silo +## +VISIT_OPTION_DEFAULT(VISIT_SILO_DIR ${VISITHOME}/silo/4.10.2/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_SILO_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} ZLIB_LIBRARY_DIR z TYPE STRING) + +## +## Conduit +## +SETUP_APP_VERSION(CONDUIT 0.9.2) +VISIT_OPTION_DEFAULT(VISIT_CONDUIT_DIR ${VISITHOME}/conduit/v0.9.2/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_CONDUIT_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} ${VISIT_SILO_LIBDEP} TYPE STRING) + +## +## FMS +## +VISIT_OPTION_DEFAULT(VISIT_FMS_DIR ${VISITHOME}/fms/0.2/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_FMS_LIBDEP CONDUIT_LIBRARY_DIR conduit CONDUIT_LIBRARY_DIR conduit_blueprint CONDUIT_LIBRARY_DIR conduit_relay ${VISIT_CONDUIT_LIBDEP} TYPE STRING) + +## +## H5Part +## +SETUP_APP_VERSION(H5PART 1.6.6) +VISIT_OPTION_DEFAULT(VISIT_H5PART_DIR ${VISITHOME}/h5part/${H5PART_VERSION}/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_H5PART_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} TYPE STRING) + +## +## IceT +## +VISIT_OPTION_DEFAULT(VISIT_ICET_DIR ${VISITHOME}/icet/77c708f9090236b576669b74c53e9f105eedbd7e/${VISITARCH}) + +## +## MFEM +## +VISIT_OPTION_DEFAULT(VISIT_MFEM_DIR ${VISITHOME}/mfem/4.6/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_MFEM_INCDEP CONDUIT_INCLUDE_DIR FMS_INCLUDE_DIR TYPE STRING) +VISIT_OPTION_DEFAULT(VISIT_MFEM_LIBDEP ${VISIT_CONDUIT_LIBDEP} ${VISITHOME}/zlib/${ZLIB_VERSION}/${VISITARCH}/lib z TYPE STRING) + +## +## Mili +## +VISIT_OPTION_DEFAULT(VISIT_MILI_DIR ${VISITHOME}/mili/23.02/${VISITARCH}) + +## +## MOAB +## +VISIT_OPTION_DEFAULT(VISIT_MOAB_DIR ${VISITHOME}/moab/5.5.0/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_MOAB_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} TYPE STRING) +VISIT_OPTION_DEFAULT(VISIT_MOAB_MPI_DIR ${VISITHOME}/moab_mpi/5.5.0/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_MOAB_MPI_LIBDEP HDF5_MPI_LIBRARY_DIR hdf5_mpi ${VISIT_HDF5_MPI_LIBDEP} TYPE STRING) + +## +## NetCDF +## +VISIT_OPTION_DEFAULT(VISIT_NETCDF_DIR ${VISITHOME}/netcdf/4.1.1/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_NETCDF_LIBDEP HDF5_LIBRARY_DIR hdf5_hl HDF5_LIBRARY_DIR hdf5 ${VISIT_HDF5_LIBDEP} TYPE STRING) + +## +## OpenEXR +## +VISIT_OPTION_DEFAULT(VISIT_OPENEXR_DIR ${VISITHOME}/openexr/2.2.0/${VISITARCH}) + +## +## PIDX +## +SETUP_APP_VERSION(PIDX 0.9.3) +VISIT_OPTION_DEFAULT(VISIT_PIDX_DIR ${VISITHOME}/pidx/${PIDX_VERSION}/${VISITARCH}) + +## +## QWT +## +SETUP_APP_VERSION(QWT 6.3.0) +VISIT_OPTION_DEFAULT(VISIT_QWT_DIR ${VISITHOME}/qwt/${QWT_VERSION}/${VISITARCH}) + +## +## VTKM +## +VISIT_OPTION_DEFAULT(VISIT_VTKM_DIR ${VISITHOME}/vtkm/v1.9.0/${VISITARCH}) + +## +## Xdmf +## +VISIT_OPTION_DEFAULT(VISIT_XDMF_DIR ${VISITHOME}/Xdmf/2.1.1/${VISITARCH}) +VISIT_OPTION_DEFAULT(VISIT_XDMF_LIBDEP HDF5_LIBRARY_DIR hdf5 ${VISITHOME}/vtk/${VTK_VERSION}/${VISITARCH}/lib64 vtklibxml2-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} TYPE STRING) + diff --git a/src/tools/dev/scripts/bv_support/bv_adios2.sh b/src/tools/dev/scripts/bv_support/bv_adios2.sh index 6a71940896..0900d2665d 100644 --- a/src/tools/dev/scripts/bv_support/bv_adios2.sh +++ b/src/tools/dev/scripts/bv_support/bv_adios2.sh @@ -205,9 +205,7 @@ function build_adios2 # note: lib dir can be `lib``, or `lib64` depending on the platform if [[ -d "${BLOSC2_INSTALL_DIR}/lib64/" ]] ; then BLOSC2_LIBRARY="${BLOSC2_INSTALL_DIR}/lib64/libblosc2.${SO_EXT}" - fi - - if [[ -d "${BLOSC2_INSTALL_DIR}/lib/" ]] ; then + elif [[ -d "${BLOSC2_INSTALL_DIR}/lib/" ]] ; then BLOSC2_LIBRARY="${BLOSC2_INSTALL_DIR}/lib/libblosc2.${SO_EXT}" fi diff --git a/src/tools/dev/scripts/bv_support/bv_blosc2.sh b/src/tools/dev/scripts/bv_support/bv_blosc2.sh index c3371e47db..dc27569b21 100644 --- a/src/tools/dev/scripts/bv_support/bv_blosc2.sh +++ b/src/tools/dev/scripts/bv_support/bv_blosc2.sh @@ -72,6 +72,11 @@ function build_blosc2 cd $BLOSC2_BUILD_DIR || error "Can't cd to BLOSC2 source dir." cfg_opts="-DCMAKE_INSTALL_PREFIX:PATH=${VISITDIR}/blosc2/${BLOSC2_VERSION}/${VISITARCH}" + # Enable ssse3 target feature on intel and amd processors. + if [[ "$(uname -m)" == "x86_64" ]] ; then + cfg_opts="$cfg_opts -DCMAKE_C_FLAGS=-mssse3" + cfg_opts="$cfg_opts -DCMAKE_CXX_FLAGS=-mssse3" + fi CMAKE_BIN="${CMAKE_INSTALL}/cmake" if test -e bv_run_cmake.sh ; then diff --git a/src/tools/dev/scripts/bv_support/bv_hdf5.sh b/src/tools/dev/scripts/bv_support/bv_hdf5.sh index 80d8977930..15d5ec9928 100644 --- a/src/tools/dev/scripts/bv_support/bv_hdf5.sh +++ b/src/tools/dev/scripts/bv_support/bv_hdf5.sh @@ -628,10 +628,12 @@ function build_hdf5 fi # In order to ensure $cf_fortranargs is expanded to build the arguments to - # configure, we wrap the invokation in 'sh -c "..."' syntax C_OPT_FLAGS="-Wno-error=implicit-function-declaration" + # ignore conversion of NULL to int. + C_OPT_FLAGS="$C_OPT_FLAGS -Wno-error=int-conversion" info "Invoking command to configure $bt HDF5" set -x + # configure, we wrap the invokation in 'sh -c "..."' syntax sh -c "../configure CC=\"$cf_c_compiler\" \ CFLAGS=\"$CFLAGS $C_OPT_FLAGS $cf_extra_flags\" $cf_fortranargs \ --prefix=\"$VISITDIR/hdf5${cf_par_suffix}/$HDF5_VERSION/$VISITARCH\" \