Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Spack docker containers #261

Draft
wants to merge 52 commits into
base: master
Choose a base branch
from
Draft

Conversation

bmhan12
Copy link
Contributor

@bmhan12 bmhan12 commented Mar 7, 2024

This PR attempts to build dependencies using uberenv, spack.

  • Get Github Actions building using uberenv
  • Update LC spack environment files and build scripts
  • Move spack configuration files from GEOS to thirdPartyLibs, while preserving git history
  • Get unit tests and integrated test jobs passing.
  • Review/update spack documentation

corbett5 and others added 13 commits December 17, 2020 13:22
* Spack work.

* Working with existing LLNL host configs.

* SuiteSparse on Lassen progress.

* Trilinos working on Lassen.

* HYPRE finally working.

* Trilinos MKL TPL

* Fixed CHAI version.

* Initial commit MacOS spack support

* Travis host configs.

* Expanded VTK libraries.

Co-authored-by: Herve Gross <[email protected]>
* Add current GEOSX compilers to spack.

* Added python interface.

* Removed static variables.

* Python improvements.

* Removed std::string.

Co-authored-by: Randolph R. Settgast <[email protected]>
* Changes to Group and Wrapper to favor references.

* Added exceptions to harden the Python interface.

* Added a Spack and Uberenv guide.

* Changed getConstitutiveRelation and getConstitutiveManager.

* Changed getMeshBodies, getMeshBody and getMeshLevel.

* Changed getDomainPartition

* Changed getRegion and getSubRegion.

* Prevent MPI_Init from being called twice, (occurs with pygeosx).

* Changed getConstitutiveModel(s).

* Removing unnecessary uses of getGroupPointer.

* Changed Group::getParent and Wrapper constructor.

* Removed function input paths from restart.
* added option to specify inner radius of cartesian mapping

* fix error in silo output

* modifications to wellbore parallel mesh gen + addNeighbor changes to allow ranks to be mutual periodic neighbors (doubly-neighbored)

* add hard coded coordinatese in the radial direction

* bugfix for integer overflow with hypre int

* fixes for mgr on gpu

* - Add additional instrumentation for using MGR (make restrictor, compute Auu)
- Update hypre linear algebra interface to the latest hypre/mgr
- Update MGR recipes for GPU

* modified LAIHelperFunctions::separateComponentFilter to batch insert rows. Introduced MatrixBase::separateComponentFilter as a specialized filter, implemented HypreMatrix::separateComponentFilter.

* some cleanup for HypreMatrix::separateComponentFilter

Co-authored-by: Sy-Tuan Nguyen <[email protected]>

* implement single read variant of HypreMatrix::separateComponentFilter

* Use full matrix instead of SDC approximation for mechanics in hydrofrac solver.
Fix bug in setting options for mechanics block solver.

* Changes to run on Summit. (#1546)

Co-authored-by: Randolph R. Settgast <[email protected]>

* fix bug from summit update

* fix bug in SinglePhasePoromechanicsSolver::implicitStepComplete

* resolve host-device ghost index array inconsistency

* added annulus option to cylinder geometry. added error check for aperature table

* Changes for new compilers on summit/lassen (#1611)

* Updated hypre.

* Force uberenv to use python3.

* Added CUDA 11.0.3 on Summit.

* Added GCC 9.1.0 to Summit

* Added GCC 9.1.0 to Summit

* Changes to work with GCC 9.1.0 on Summit.

Co-authored-by: Benjamin Curtice Corbett <[email protected]>

* Updating function parCSRtoIJ required by latest hypre version

Co-authored-by: wrtobin <[email protected]>
Co-authored-by: Quan Bui <[email protected]>
Co-authored-by: Sy-Tuan Nguyen <[email protected]>
Co-authored-by: Ben Corbett <[email protected]>
Co-authored-by: Benjamin Curtice Corbett <[email protected]>
Co-authored-by: Nicola Castelletto <[email protected]>
Enabling yapf formatting of python files
This patch aims at shrinking `GEOSX` into `GEOS`.
- The `geosx` namespace is renamed `geos`.
- All the `GEOSX_ASSERT`, `GEOSX_LOG`, … are renamed `GEOS_…`
- All the include guards are modified.
- All the paths to the old `http://gihub.com/GEOSX/GEOSX` are renamed appropriately
- Mention to `GEOSX` in the text of the documentation is changed to `GEOS`
Meanwhile, `GEOSX` is kept for the following cases
- The executable is still named `geosx`, the examples in the doc still reflect the current naming.
- All the tools named after `geosx` kept their `geosx` (_e.g._ `pygeox`, `geosx_xml_tools`)
- All the `cmake` configuration flags (_e.g._ `GEOSX_TPL_DIR`, `GEOSX_USE_CUDA`) are unchanged.
- The `host-config` files are not changed.
- The variables names, classes or files containing `GEOSX` are not modified.
* Add geos-specific option to suppress/enable unit tests, active by default.
* Add mesa to packages.yaml, vtk issues

* modify, add fmt recipe

* remove cxx flags from blueos (consistent with RADIUSS and Axom)

* Add specific uncrustify version, remove optimization flags from toss3

* Move spack configs and package recipes to separate folders; delete uberenv directory

* Add uberenv as a submodule. Add uberenv config file

* Bump conduit, add libtools external package

* Bill's Conduit/HDF5 changes + switcharoo, try building latest pugixml

* Add vtk patches + Try replace hypre-cuda with +hypre+cuda and caliper variant changes

* Add camp dependency for RAJA path

* make suite-sparse mandatory (spack is not always adding it to spec otherwise)

* Change clang@upstream for blueos to clang@9 so clingo doesn't yell

* gmpr fix

* Use more accurate caliper version and correct readline version

* Cleanup vtk script, vtk now builds on lassen

* Update to spack 0.18.0

* Update hypre/silo/hdf5/conduit and use older trilinos recipe

* Can build all blueos libraries - compilation errors - use netlib-lapack instead of essl

* first pass at spack environments

* Add spack.yaml for lassen; modify spack.yaml install_tree path to blueos_3_ppc64le_ib_p9_package

* Generalize HDF5 and pugixml configuration so both thirdPartyLibs and spack builds work

* Update umpire/raja/chai/hypre - only quartz re-tested so far

* blueos config - set CUDA 11 as default

* Cuda 11 explicit spec

* Update CMake version; add gcc-toolchain flag for quartz

* Update caliper, adiak, trilinos, cmake requirement, camp version in spack recipe

* Update adiak namespace

* Add cxx flags (std:: errors), disable hwloc dependency (runtime MPI error) for trilinos recipe

* Guard adiak or adiak::adiak target

* Add FESAPI spack recipe

* pugixml and fmt changes for toss 3 quartz

* Update CUDA to 11.2.2, update hypre, add -fPIC flag for hypre~shared, add missing libcublasLt path

* use intel-oneapi-mkl instead of intel-mkl; use magic mvapich2; use mpi fortran in superlu-dist; disable fesapi default; update hypre; update cmake

* Update CMake to 3.26.3; CMake fortran/CXX error with 3.23.1

* Missing fmt dependency

* Upgrade to uberenv spack environments - update uberenv submodule, move to spack.yaml config files, comment out unused recipe patches

* Move pygeosx dependencies to a separate spack recipe; update to latest spack release; use older hdf5 recipe; small trilinos change due to spack cmakepackage reorg; add spack environment files for pygeosx; adjust spec check for HYPRE cuda/hip enabled; add project json file for uberenv to build pygeosx; delete old python spec files

* Mandate CMake >=3.23

* Spack environment file for toss 3 (rzgenie)

* Remove cp unused

* Omit uberenv from submodule check

* Lock blt version to bypass raja/chai/camp blt::stub error

* Make python required dependency; make pygeosx variant toggle

* Generate separate host-config for LvArray

* Update hypre and umpire versions, Remove some package recipes using git version specifiers where possible
@bmhan12 bmhan12 force-pushed the feature/han12/docker_spack branch from e16079f to d995c0d Compare May 23, 2024 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants