Loading README.rst +10 −92 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ to be useful as proof-of-concept for actual production work. Profugus is also used as a test-bed mini-app for the ASCR projects XPRESS and MCREX. Profugus Development Team ========================= Loading Loading @@ -61,10 +60,6 @@ Profugus Packages Profugus constains the following code mini-apps: **SPn** Mini-app of Simplified Spherical Harmonics ("SPn") computational kernel. **MC** Mini-app of Monte Carlo computational kernel. Loading Loading @@ -103,12 +98,8 @@ Building The Code The most straightforward method for building Profugus is to use the scripts in `Profugus/install`. Profugus uses the `TriBITS` build system. This system is a set of package-based extensions to standard cmake. So, first you need to obtain *Trilinos* and *TriBITS* and put them in your top-level Profugus directory:: > cd Profugus > git clone https://github.com/TriBITSPub/TriBITS.git > ln -s $PATH_TO_TRILINOS . cmake. The components of TriBITS and Trilinos that are required are included in the Profugus distribution. The preferred mechanism for using the build scripts is to make a *target* directory where the build is to be performed:: Loading @@ -131,9 +122,6 @@ configure time) are specified in the `install/base.cmake`:: ##---------------------------------------------------------------------------## # Default build all packages SET(Profugus_ENABLE_Utils ON CACHE BOOL "") SET(Profugus_ENABLE_Matprop ON CACHE BOOL "") SET(Profugus_ENABLE_SPn ON CACHE BOOL "") SET(Profugus_ENABLE_MC ON CACHE BOOL "") # Turn on tests Loading @@ -145,101 +133,31 @@ configure time) are specified in the `install/base.cmake`:: SET(Profugus_ENABLE_ALL_OPTIONAL_PACKAGES ON CACHE BOOL "") SET(Profugus_ENABLE_SECONDARY_STABLE_CODE ON CACHE BOOL "") # Up the max num procs SET(MPI_EXEC_MAX_NUMPROCS 8 CACHE STRING "") # Turn off binutils SET(Teuchos_ENABLE_BinUtils OFF CACHE BOOL "") # Turn off Zoltan2 SET(Profugus_ENABLE_Zoltan2 OFF CACHE BOOL "") # Compiler options SET(BUILD_SHARED_LIBS ON CACHE BOOL "") SET(CMAKE_CXX_FLAGS "-std=c++11 -Wno-deprecated-declarations" CACHE STRING "") SET(Profugus_ENABLE_CXX11:BOOL=ON) # TriBITS stuff SET(Profugus_ENABLE_INSTALL_CMAKE_CONFIG_FILES OFF CACHE BOOL "") SET(Profugus_DEPS_XML_OUTPUT_FILE "" CACHE FILEPATH "") By default, all of the packages inside of Profugus are turned on. Furthermore, *C++-11* is **required**. The default options specify the appropriate compiler flags for gcc. The tests are also turned on by default; to disable tests in any upstream package simply do not explicitly *ENABLE* that package. For example, to build the *SPn* explicitly *ENABLE* that package. For example, to build the *MC* package and all of its tests but only include required *source* from upstream packages, the user would specify:: SET(Profugus_ENABLE_SPn ON CACHE BOOL "") SET(Profugus_ENABLE_MC ON CACHE BOOL "") In this case, only the pieces of *Utils* needed to build *SPn* are In this case, only the pieces of *Utils* needed to build *MC* are compiled. All tests can be turned off by setting **Profugus_ENABLE_TESTS** to **OFF**. The `install` directory contains several build scripts that are all suffixed by the platform name. For example, to build on a Linux *x86_64* system the "install/cmake_x86_64.sh" script can be used:: #!/bin/sh ##---------------------------------------------------------------------------## ## CMAKE FOR X86_64 ##---------------------------------------------------------------------------## # CLEANUP rm -rf CMakeCache.txt rm -rf CMakeFiles # SOURCE AND INSTALL SOURCE=<SET_SOURCE_DIR> INSTALL=<SET_INSTALL_DIR> # BUILD OPTIONS BUILD="DEBUG" MPI="ON" # TPL PATHS HDF5_PATH="/vendors/hdf5_parallel" MPI_PATH="/opt/openmpi/gcc/current" ##---------------------------------------------------------------------------## cmake \ -DCMAKE_BUILD_TYPE:STRING="$BUILD" \ -DTPL_ENABLE_MPI:BOOL=$MPI \ -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL \ \ -DMPI_BASE_DIR:PATH=$MPI_PATH \ \ -DTPL_ENABLE_HDF5:BOOL=ON \ -DHDF5_INCLUDE_DIRS:PATH=$HDF5_PATH/include \ -DHDF5_LIBRARY_DIRS:PATH=$HDF5_PATH/lib \ \ -DBLAS_LIBRARY_DIRS:PATH=/vendors/gcc/atlas/lib \ -DLAPACK_LIBRARY_DIRS:PATH=/vendors/gcc/atlas/lib \ -DBLAS_LIBRARY_NAMES:STRING="f77blas;cblas;atlas" \ -DLAPACK_LIBRARY_NAMES:STRING="lapack" \ \ -DProfugus_CONFIGURE_OPTIONS_FILE:FILEPATH="${SOURCE}/install/base.cmake" \ -DProfugus_ASSERT_MISSING_PACKAGES:BOOL=OFF \ \ ${SOURCE} ##---------------------------------------------------------------------------## ## end of cmake_x86_64.sh ##---------------------------------------------------------------------------## The source and install locations must be set. Also, to enable a optimized build set **BUILD** to **RELEASE**. Adjust the paths and libraries for LAPACK to fit your platform. The example assumes that the ATLAS LAPACK is available. Any standard LAPACK distribution will work. HDF5 is **not** required, to build/run/test the applications; however, problem output will be severely curtailed if a parallel HDF5 option is not provided. If HDF5 is not available, setting:: -DTPL_ENABLE_HDF5:BOOL=OFF \ will disable HDF5. suffixed by the platform name. The source and install locations must be set. Also, to enable a optimized build set **BUILD** to **RELEASE**. Adjust the paths and libraries for LAPACK to fit your platform. The example assumes that the ATLAS LAPACK is available. Any standard LAPACK distribution will work. To complete the configuration, execute this script inside the *target* directory and then make/test/install:: Loading TPLsList.cmake +0 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ # Trilinos/cmake/TrilinosTPLs.cmake # SET(Profugus_TPLS_FINDMODS_CLASSIFICATIONS SILO "cmake/TPLs/" SS HDF5 "cmake/TPLs/" SS ) Loading packages/MC/CMakeLists.txt +1 −8 Original line number Diff line number Diff line Loading @@ -24,13 +24,6 @@ TRIBITS_PACKAGE(MC) ## B) Set up package-specific options ##---------------------------------------------------------------------------## ## ML OPTIONS ## Turn on ML if that package is enabled IF (${PROJECT_NAME}_ENABLE_ML) SET(USE_ML 1) ENDIF() # Setup M4 for FORTRAN processing APPEND_SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) Loading Loading @@ -240,5 +233,5 @@ TRIBITS_EXCLUDE_AUTOTOOLS_FILES() TRIBITS_PACKAGE_POSTPROCESS() ##---------------------------------------------------------------------------## ## end of Utils/CMakeLists.txt ## end of MC/CMakeLists.txt ##---------------------------------------------------------------------------## packages/MC/cmake/Dependencies.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ SET(LIB_REQUIRED_DEP_PACKAGES Teuchos Matprop Utils) SET(LIB_OPTIONAL_DEP_PACKAGES CudaUtils Epetra SPn) SET(LIB_OPTIONAL_DEP_PACKAGES CudaUtils) SET(TEST_REQUIRED_DEP_PACKAGES) SET(TEST_OPTIONAL_DEP_PACKAGES) Loading packages/MC/mc/test/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ ##---------------------------------------------------------------------------## ## Copyright (C) 2014 Oak Ridge National Laboratory, UT-Battelle, LLC. ##---------------------------------------------------------------------------## ## CMAKE for spn ## CMAKE for MC ##---------------------------------------------------------------------------## INCLUDE(UtilsTest) Loading Loading
README.rst +10 −92 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ to be useful as proof-of-concept for actual production work. Profugus is also used as a test-bed mini-app for the ASCR projects XPRESS and MCREX. Profugus Development Team ========================= Loading Loading @@ -61,10 +60,6 @@ Profugus Packages Profugus constains the following code mini-apps: **SPn** Mini-app of Simplified Spherical Harmonics ("SPn") computational kernel. **MC** Mini-app of Monte Carlo computational kernel. Loading Loading @@ -103,12 +98,8 @@ Building The Code The most straightforward method for building Profugus is to use the scripts in `Profugus/install`. Profugus uses the `TriBITS` build system. This system is a set of package-based extensions to standard cmake. So, first you need to obtain *Trilinos* and *TriBITS* and put them in your top-level Profugus directory:: > cd Profugus > git clone https://github.com/TriBITSPub/TriBITS.git > ln -s $PATH_TO_TRILINOS . cmake. The components of TriBITS and Trilinos that are required are included in the Profugus distribution. The preferred mechanism for using the build scripts is to make a *target* directory where the build is to be performed:: Loading @@ -131,9 +122,6 @@ configure time) are specified in the `install/base.cmake`:: ##---------------------------------------------------------------------------## # Default build all packages SET(Profugus_ENABLE_Utils ON CACHE BOOL "") SET(Profugus_ENABLE_Matprop ON CACHE BOOL "") SET(Profugus_ENABLE_SPn ON CACHE BOOL "") SET(Profugus_ENABLE_MC ON CACHE BOOL "") # Turn on tests Loading @@ -145,101 +133,31 @@ configure time) are specified in the `install/base.cmake`:: SET(Profugus_ENABLE_ALL_OPTIONAL_PACKAGES ON CACHE BOOL "") SET(Profugus_ENABLE_SECONDARY_STABLE_CODE ON CACHE BOOL "") # Up the max num procs SET(MPI_EXEC_MAX_NUMPROCS 8 CACHE STRING "") # Turn off binutils SET(Teuchos_ENABLE_BinUtils OFF CACHE BOOL "") # Turn off Zoltan2 SET(Profugus_ENABLE_Zoltan2 OFF CACHE BOOL "") # Compiler options SET(BUILD_SHARED_LIBS ON CACHE BOOL "") SET(CMAKE_CXX_FLAGS "-std=c++11 -Wno-deprecated-declarations" CACHE STRING "") SET(Profugus_ENABLE_CXX11:BOOL=ON) # TriBITS stuff SET(Profugus_ENABLE_INSTALL_CMAKE_CONFIG_FILES OFF CACHE BOOL "") SET(Profugus_DEPS_XML_OUTPUT_FILE "" CACHE FILEPATH "") By default, all of the packages inside of Profugus are turned on. Furthermore, *C++-11* is **required**. The default options specify the appropriate compiler flags for gcc. The tests are also turned on by default; to disable tests in any upstream package simply do not explicitly *ENABLE* that package. For example, to build the *SPn* explicitly *ENABLE* that package. For example, to build the *MC* package and all of its tests but only include required *source* from upstream packages, the user would specify:: SET(Profugus_ENABLE_SPn ON CACHE BOOL "") SET(Profugus_ENABLE_MC ON CACHE BOOL "") In this case, only the pieces of *Utils* needed to build *SPn* are In this case, only the pieces of *Utils* needed to build *MC* are compiled. All tests can be turned off by setting **Profugus_ENABLE_TESTS** to **OFF**. The `install` directory contains several build scripts that are all suffixed by the platform name. For example, to build on a Linux *x86_64* system the "install/cmake_x86_64.sh" script can be used:: #!/bin/sh ##---------------------------------------------------------------------------## ## CMAKE FOR X86_64 ##---------------------------------------------------------------------------## # CLEANUP rm -rf CMakeCache.txt rm -rf CMakeFiles # SOURCE AND INSTALL SOURCE=<SET_SOURCE_DIR> INSTALL=<SET_INSTALL_DIR> # BUILD OPTIONS BUILD="DEBUG" MPI="ON" # TPL PATHS HDF5_PATH="/vendors/hdf5_parallel" MPI_PATH="/opt/openmpi/gcc/current" ##---------------------------------------------------------------------------## cmake \ -DCMAKE_BUILD_TYPE:STRING="$BUILD" \ -DTPL_ENABLE_MPI:BOOL=$MPI \ -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL \ \ -DMPI_BASE_DIR:PATH=$MPI_PATH \ \ -DTPL_ENABLE_HDF5:BOOL=ON \ -DHDF5_INCLUDE_DIRS:PATH=$HDF5_PATH/include \ -DHDF5_LIBRARY_DIRS:PATH=$HDF5_PATH/lib \ \ -DBLAS_LIBRARY_DIRS:PATH=/vendors/gcc/atlas/lib \ -DLAPACK_LIBRARY_DIRS:PATH=/vendors/gcc/atlas/lib \ -DBLAS_LIBRARY_NAMES:STRING="f77blas;cblas;atlas" \ -DLAPACK_LIBRARY_NAMES:STRING="lapack" \ \ -DProfugus_CONFIGURE_OPTIONS_FILE:FILEPATH="${SOURCE}/install/base.cmake" \ -DProfugus_ASSERT_MISSING_PACKAGES:BOOL=OFF \ \ ${SOURCE} ##---------------------------------------------------------------------------## ## end of cmake_x86_64.sh ##---------------------------------------------------------------------------## The source and install locations must be set. Also, to enable a optimized build set **BUILD** to **RELEASE**. Adjust the paths and libraries for LAPACK to fit your platform. The example assumes that the ATLAS LAPACK is available. Any standard LAPACK distribution will work. HDF5 is **not** required, to build/run/test the applications; however, problem output will be severely curtailed if a parallel HDF5 option is not provided. If HDF5 is not available, setting:: -DTPL_ENABLE_HDF5:BOOL=OFF \ will disable HDF5. suffixed by the platform name. The source and install locations must be set. Also, to enable a optimized build set **BUILD** to **RELEASE**. Adjust the paths and libraries for LAPACK to fit your platform. The example assumes that the ATLAS LAPACK is available. Any standard LAPACK distribution will work. To complete the configuration, execute this script inside the *target* directory and then make/test/install:: Loading
TPLsList.cmake +0 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ # Trilinos/cmake/TrilinosTPLs.cmake # SET(Profugus_TPLS_FINDMODS_CLASSIFICATIONS SILO "cmake/TPLs/" SS HDF5 "cmake/TPLs/" SS ) Loading
packages/MC/CMakeLists.txt +1 −8 Original line number Diff line number Diff line Loading @@ -24,13 +24,6 @@ TRIBITS_PACKAGE(MC) ## B) Set up package-specific options ##---------------------------------------------------------------------------## ## ML OPTIONS ## Turn on ML if that package is enabled IF (${PROJECT_NAME}_ENABLE_ML) SET(USE_ML 1) ENDIF() # Setup M4 for FORTRAN processing APPEND_SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) Loading Loading @@ -240,5 +233,5 @@ TRIBITS_EXCLUDE_AUTOTOOLS_FILES() TRIBITS_PACKAGE_POSTPROCESS() ##---------------------------------------------------------------------------## ## end of Utils/CMakeLists.txt ## end of MC/CMakeLists.txt ##---------------------------------------------------------------------------##
packages/MC/cmake/Dependencies.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ SET(LIB_REQUIRED_DEP_PACKAGES Teuchos Matprop Utils) SET(LIB_OPTIONAL_DEP_PACKAGES CudaUtils Epetra SPn) SET(LIB_OPTIONAL_DEP_PACKAGES CudaUtils) SET(TEST_REQUIRED_DEP_PACKAGES) SET(TEST_OPTIONAL_DEP_PACKAGES) Loading
packages/MC/mc/test/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ ##---------------------------------------------------------------------------## ## Copyright (C) 2014 Oak Ridge National Laboratory, UT-Battelle, LLC. ##---------------------------------------------------------------------------## ## CMAKE for spn ## CMAKE for MC ##---------------------------------------------------------------------------## INCLUDE(UtilsTest) Loading