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

Pip Runtime Dependencies & CRAY AMD Support #314

Merged
merged 68 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
27ada9e
Using Python environments and pip to manage python dependencies for t…
mdavis36 Nov 8, 2024
7b0c7a4
Passing VIRTUAL_ENV as an argument to PYB11Generator.
mdavis36 Nov 8, 2024
cce4461
Removing commented code; Adding build-requirements.txt; Edit gitignor…
mdavis36 Nov 8, 2024
a6758a3
Removing python packages; Removing netlib-lapack requirement.
mdavis36 Nov 8, 2024
ffad34f
Spheral_python_env takes multiple args for requirements files; Separa…
mdavis36 Nov 8, 2024
7786494
REQUIRE python; Stop pybind11 changing the python interpreter.
mdavis36 Nov 11, 2024
0ea7fde
Environments will utilize system installed packages if available.
mdavis36 Nov 11, 2024
72800a7
Remove hard version constraints; Pip will try to use the latest avail…
mdavis36 Nov 11, 2024
eb30005
Use system pythons on blueos + toss.
mdavis36 Nov 11, 2024
0ab37f3
Cleaning up spheral package.py
mdavis36 Nov 11, 2024
9edfe44
PYB11Generator, fixing broken target dependency.
mdavis36 Nov 11, 2024
d8f21a2
Install pip requirements in spheral-build-env.
mdavis36 Nov 12, 2024
50afffd
Two stage download & install process for pip into SPHERAL_PIP_CACHE_D…
mdavis36 Nov 13, 2024
789987e
blueos pip fixes.
mdavis36 Nov 13, 2024
50289d6
Logical check when SYS_TYPE is not defined in environment.
mdavis36 Nov 13, 2024
4cd4016
$ ENV var
mdavis36 Nov 14, 2024
48893dc
Merge branch 'develop' into feature/pip-runtime-deps
mdavis36 Nov 14, 2024
502cf51
Nees Quotes around possible env var contents.
mdavis36 Nov 15, 2024
6c5514f
Make build & runtime venv targets to perform first time install of pi…
mdavis36 Nov 18, 2024
411c9c1
Using a network test to possibly skip pip download step on air-gapped…
mdavis36 Nov 18, 2024
500bd61
Locking pip version; Updating Dokerfile for pip changes;
mdavis36 Nov 20, 2024
fd8f8e6
Adding ATS submodule; Fulll req file paths.
mdavis36 Nov 20, 2024
70f56cd
Assume network connectivity, unless defined by SPHERAL_NETWORK_CONNEC…
mdavis36 Nov 20, 2024
ee54e3a
Use the ATS submodule to dictate the ATS pip build w/o git control
mdavis36 Nov 22, 2024
a0c50e3
Merge branch 'develop' into feature/pip-runtime-deps
mdavis36 Nov 22, 2024
9c1d3bb
Merge branch 'develop' into feature/pip-runtime-deps
mdavis36 Dec 2, 2024
6b19cda
Use stamp files to stop pip from re-running every single build.
mdavis36 Dec 12, 2024
e98186a
Fixing bad merge...
mdavis36 Dec 12, 2024
1bb48e0
Building on cray systems w/ HIP.
mdavis36 Dec 12, 2024
004872e
spack package fixes for required CRAY / ROCM CMake flags.
mdavis36 Dec 16, 2024
a652fe4
Getting HIP device code running on GPU for spheral_cuda_test; revert …
mdavis36 Dec 17, 2024
6b78495
Merge branch 'develop' into feature/pip-runtime-deps
mdavis36 Dec 17, 2024
4775041
Getting CRAY HIP builds working and passing all tests.
mdavis36 Dec 19, 2024
be8b126
clang 18 warning suppression w/ old boost.
mdavis36 Dec 28, 2024
07ecaee
treat raja and umpire as system includes.
mdavis36 Dec 28, 2024
d544ab0
CRAY pre allocated ats runs.
mdavis36 Jan 2, 2025
aaeadf9
Updating gitlab scripts to run cray & hip jobs.
mdavis36 Jan 3, 2025
e76b591
Adding tioga machine to gitlab ci
mdavis36 Jan 3, 2025
ebb979e
adams -> tioga
mdavis36 Jan 3, 2025
099ea7c
Rename Spheral_CUDA_Test to spheral_offload_test.
mdavis36 Jan 13, 2025
4235970
Bugfix for atomic weight in ANEOS
jmikeowen Jan 15, 2025
5d9324c
Remove debug print
jmikeowen Jan 15, 2025
52eded2
Adding tioga to spheral-ats script
mdavis36 Jan 17, 2025
dbdbd39
Squashing clang18 WasErr issues.
mdavis36 Jan 17, 2025
953f57b
Removing redundant blueos python env logic.
mdavis36 Jan 17, 2025
9faf247
Removing cce compiler.
mdavis36 Jan 17, 2025
7864885
Documenting SPHERAL_NETWORK_CONNECTED and SPHERAL_PIP_CACHE_DIR CMake…
mdavis36 Jan 17, 2025
de480cb
Updating release notes for pip & cray PR.
mdavis36 Jan 17, 2025
9a6f64f
Merge branch 'feature/pip-runtime-deps' of github.com:LLNL/spheral in…
mdavis36 Jan 21, 2025
3df499a
generate buildcache script cleanup and comments; adding ability to wr…
mdavis36 Jan 21, 2025
1e8c2ac
Adding SPHERAL_PIP_CACHE_DIR as an optional env variable to install-f…
mdavis36 Jan 21, 2025
fac728c
Try reverting the mpi change in spheral_ats.py
mdavis36 Jan 21, 2025
3613f9c
Passing CMake option directly to SpheralConfig for MPI
mdavis36 Jan 22, 2025
37e4654
Remove MPI include
mdavis36 Jan 22, 2025
a7b924e
Adding specs for Cray systems in the spec list.
mdavis36 Jan 24, 2025
f82f386
Updated ATS version, removed blue os info from ci and ats scripts, ad…
ldowen Jan 24, 2025
0737e48
Merge with spec-list changes
ldowen Jan 24, 2025
9d5812f
Added an init stage to allow rerunning of tpl stage
ldowen Jan 27, 2025
0f07be2
Updated PYB11Generator submodule
ldowen Jan 27, 2025
7366837
Remove resource constraint for shell init stages
ldowen Jan 27, 2025
b5b5eb4
Missed a perf stage for cray_shell2
ldowen Jan 27, 2025
77ed9b2
Added Thicket and IPython to the list of pip dependencies and changed…
ldowen Jan 29, 2025
b85df2f
Fixing building the integrator with a list of packages
jmikeowen Jan 29, 2025
f5064e0
Merge branch 'feature/pip-runtime-deps' into HEAD
jmikeowen Jan 29, 2025
6a85d09
Updating our very out of date gas-gun expanding tube problem for
jmikeowen Jan 29, 2025
2181ec9
Further changes to Classic ASPH algorithm to more closely match original
jmikeowen Jan 29, 2025
4bd1e57
Removed py-ats spack packaged, added -N option for spheral_ats node n…
ldowen Jan 30, 2025
543925b
Syncing gitlab/os file.
mdavis36 Jan 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ src/PBGWraps/SpheralModules_Silo.C
src/PBGWraps/SpheralModules_Utilities.C
src/PBGWraps/SpheralModules_WildMagic.C

build-*
/build-*
src/*/*cc.2.cc
src/*/*cc.3.cc
src/*/*/*cc.2.cc
Expand Down
1 change: 1 addition & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ variables:
- SPHERAL_REV_STR="$SPHERAL_REV"

stages:
- init
- tpls
- build_and_install
- run_ats
Expand Down
85 changes: 52 additions & 33 deletions .gitlab/jobs-mpi.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# ------------------------------------------------------------------------------
# BUILD JOBS

toss_gcc_mvapich2_cxxonly_init:
extends: [.toss_shell1, .gcc_mvapich2_cxxonly, .init]

toss_gcc_mvapich2_cxxonly_tpls:
extends: [.toss_resource1, .gcc_mvapich2_cxxonly, .tpls]
needs: [toss_gcc_mvapich2_cxxonly_init]

toss_gcc_mvapich2_cxxonly_build:
extends: [.toss_resource1, .gcc_mvapich2_cxxonly, .build]
Expand All @@ -14,8 +18,12 @@ toss_gcc_mvapich2_cxxonly_cleanup:



toss_gcc_mvapich2_init:
extends: [.toss_shell1, .gcc_mvapich2, .init]

toss_gcc_mvapich2_tpls:
extends: [.toss_resource2, .gcc_mvapich2, .tpls]
needs: [toss_gcc_mvapich2_init]

toss_gcc_mvapich2_build:
extends: [.toss_resource2, .gcc_mvapich2, .build_and_test]
Expand All @@ -25,17 +33,21 @@ toss_gcc_mvapich2_test:
extends: [.toss_resource2, .gcc_mvapich2, .run_ats]
needs: [toss_gcc_mvapich2_build]

toss_gcc_mvapich2_perf:
extends: [.toss_shell2, .gcc_mvapich2, .run_perf, .merge_pr_rule]
needs: [toss_gcc_mvapich2_build]

toss_gcc_mvapich2_cleanup:
extends: [.toss_resource2, .gcc_mvapich2, .cleanup_dir]

toss_gcc_mvapich2_perf:
extends: [.toss_shell1, .gcc_mvapich2, .run_perf, .merge_pr_rule]
needs: [toss_gcc_mvapich2_build]


toss_clang_mvapich2_init:
extends: [.toss_shell1, .clang_mvapich2, .init]

toss_clang_mvapich2_tpls:
extends: [.toss_resource3, .clang_mvapich2, .tpls]
needs: [toss_clang_mvapich2_init]

toss_clang_mvapich2_build:
extends: [.toss_resource3, .clang_mvapich2, .build_and_test]
Expand All @@ -45,54 +57,61 @@ toss_clang_mvapich2_test:
extends: [.toss_resource3, .clang_mvapich2, .run_ats]
needs: [toss_clang_mvapich2_build]

toss_clang_mvapich2_cleanup:
extends: [.toss_resource3, .clang_mvapich2, .cleanup_dir]

toss_clang_mvapich2_perf:
extends: [.toss_shell1, .clang_mvapich2, .run_perf, .merge_pr_rule]
extends: [.toss_shell2, .clang_mvapich2, .run_perf, .merge_pr_rule]
needs: [toss_clang_mvapich2_build]

toss_clang_mvapich2_cleanup:
extends: [.toss_resource3, .clang_mvapich2, .cleanup_dir]



#toss_oneapi_2022_1_mvapich2:
# extends: [.oneapi_2022_1_mvapich2, .build_and_test, .toss_resource]


cray_rocm_mpich_init:
extends: [.cray_shell1, .rocm_mpich, .init]

cray_rocm_mpich_tpls:
extends: [.cray_resource1, .rocm_mpich, .tpls]
needs: [cray_rocm_mpich_init]

blueos_gcc_spectrum_tpls:
extends: [.blueos_resource1, .gcc_spectrum, .tpls]
cray_rocm_mpich_build:
extends: [.cray_resource1, .rocm_mpich, .build_and_test]
needs: [cray_rocm_mpich_tpls]

blueos_gcc_spectrum_build:
extends: [.blueos_resource1, .gcc_spectrum, .build_and_test]
needs: [blueos_gcc_spectrum_tpls]
cray_rocm_mpich_test:
extends: [.cray_resource1, .rocm_mpich, .run_ats]
needs: [cray_rocm_mpich_build]

blueos_gcc_spectrum_test:
extends: [.blueos_resource1, .gcc_spectrum, .run_ats]
needs: [blueos_gcc_spectrum_build]
cray_rocm_mpich_perf:
extends: [.cray_shell2, .rocm_mpich, .run_perf, .merge_pr_rule]
needs: [cray_rocm_mpich_build]

blueos_gcc_spectrum_cleanup:
extends: [.blueos_resource1, .gcc_spectrum, .cleanup_dir]
cray_rocm_mpich_cleanup:
extends: [.cray_resource1, .rocm_mpich, .cleanup_dir]

blueos_gcc_spectrum_perf:
extends: [.blueos_shell1, .gcc_spectrum, .run_perf, .merge_pr_rule]
needs: [blueos_gcc_spectrum_build]


cray_hip_rocm_mpich_init:
extends: [.cray_shell1, .hip_rocm_mpich, .init]

blueos_cuda_11_gcc_spectrum_tpls:
extends: [.blueos_resource2, .cuda_11_gcc_spectrum, .tpls]
cray_hip_rocm_mpich_tpls:
extends: [.cray_resource2, .hip_rocm_mpich, .tpls]
needs: [cray_hip_rocm_mpich_init]

blueos_cuda_11_gcc_spectrum_build:
extends: [.blueos_resource2, .cuda_11_gcc_spectrum, .build_and_test]
needs: [blueos_cuda_11_gcc_spectrum_tpls]
cray_hip_rocm_mpich_build:
extends: [.cray_resource2, .hip_rocm_mpich, .build_and_test]
needs: [cray_hip_rocm_mpich_tpls]

blueos_cuda_11_gcc_spectrum_test:
extends: [.blueos_resource2, .cuda_11_gcc_spectrum, .run_ats]
needs: [blueos_cuda_11_gcc_spectrum_build]
cray_hip_rocm_mpich_test:
extends: [.cray_resource2, .hip_rocm_mpich, .run_ats]
needs: [cray_hip_rocm_mpich_build]

blueos_cuda_11_gcc_spectrum_cleanup:
extends: [.blueos_resource2, .cuda_11_gcc_spectrum, .cleanup_dir]
cray_hip_rocm_mpich_perf:
extends: [.cray_shell2, .hip_rocm_mpich, .run_perf, .merge_pr_rule]
needs: [cray_hip_rocm_mpich_build]

blueos_cuda_11_gcc_spectrum_perf:
extends: [.blueos_shell2, .cuda_11_gcc_spectrum, .run_perf, .merge_pr_rule]
needs: [blueos_cuda_11_gcc_spectrum_build]
cray_hip_rocm_mpich_cleanup:
extends: [.cray_resource2, .hip_rocm_mpich, .cleanup_dir]
8 changes: 4 additions & 4 deletions .gitlab/jobs-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
toss_update_tpls:
extends: [.toss_resource2, .update_tpls, .merge_pr_rule]

blueos_update_tpls:
extends: [.blueos_resource2, .update_tpls, .merge_pr_rule]
cray_update_tpls:
extends: [.cray_resource2, .update_tpls, .merge_pr_rule]
needs: [toss_update_tpls]

# ------------------------------------------------------------------------------
Expand Down Expand Up @@ -37,6 +37,6 @@ toss_release_permissions:
cleanup_old_dirs_toss:
extends: [.toss_resource_general, .clean_old_dirs]

cleanup_old_dirs_blueos:
extends: [.blueos_resource_general, .clean_old_dirs]
cleanup_old_dirs_cray:
extends: [.cray_resource_general, .clean_old_dirs]

62 changes: 38 additions & 24 deletions .gitlab/jobs-seq.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
# ------------------------------------------------------------------------------
# BUILD JOBS

toss_gcc_~mpi_init:
extends: [.gcc_~mpi, .init, .toss_shell1]

toss_gcc_~mpi_tpls:
extends: [.gcc_~mpi, .tpls, .toss_resource1]

needs: [toss_gcc_~mpi_init]

toss_gcc_~mpi_build:
extends: [.gcc_~mpi, .build_and_test, .toss_resource1]
needs: [toss_gcc_~mpi_tpls]

toss_gcc_~mpi_test:
extends: [.gcc_~mpi, .run_ats, .toss_resource1]
needs: [toss_gcc_~mpi_build]
Expand All @@ -17,33 +21,43 @@ toss_gcc_~mpi_cleanup:
needs: [toss_gcc_~mpi_test]


blueos_cuda_11_gcc_~mpi_tpls:
extends: [.blueos_resource2, .cuda_11_gcc_~mpi, .tpls]

blueos_cuda_11_gcc_~mpi_build:
extends: [.blueos_resource2, .cuda_11_gcc_~mpi, .build_and_test]
needs: [blueos_cuda_11_gcc_~mpi_tpls]
cray_hip_rocm_~mpi_init:
extends: [.cray_shell1, .hip_rocm_~mpi, .init]

cray_hip_rocm_~mpi_tpls:
extends: [.cray_resource2, .hip_rocm_~mpi, .tpls]
needs: [cray_hip_rocm_~mpi_init]

cray_hip_rocm_~mpi_build:
extends: [.cray_resource2, .hip_rocm_~mpi, .build_and_test]
needs: [cray_hip_rocm_~mpi_tpls]

cray_hip_rocm_~mpi_test:
extends: [.cray_resource2, .hip_rocm_~mpi, .run_ats]
needs: [cray_hip_rocm_~mpi_build]

cray_hip_rocm_~mpi_cleanup:
extends: [.cray_resource2, .hip_rocm_~mpi, .cleanup_dir]
needs: [cray_hip_rocm_~mpi_test]

blueos_cuda_11_gcc_~mpi_test:
extends: [.blueos_resource2, .cuda_11_gcc_~mpi, .run_ats]
needs: [blueos_cuda_11_gcc_~mpi_build]

blueos_cuda_11_gcc_~mpi_cleanup:
extends: [.blueos_resource2, .cuda_11_gcc_~mpi, .cleanup_dir]
needs: [blueos_cuda_11_gcc_~mpi_test]

cray_rocm_~mpi_Debug_init:
extends: [.cray_shell1, .rocm_~mpi_Debug, .init]

blueos_gcc_~mpi_Debug_tpls:
extends: [.blueos_resource1, .gcc_~mpi_Debug, .tpls]
cray_rocm_~mpi_Debug_tpls:
extends: [.cray_resource1, .rocm_~mpi_Debug, .tpls]
needs: [cray_rocm_~mpi_Debug_init]

blueos_gcc_~mpi_Debug_build:
extends: [.blueos_resource1, .gcc_~mpi_Debug, .build_and_test]
needs: [blueos_gcc_~mpi_Debug_tpls]
cray_rocm_~mpi_Debug_build:
extends: [.cray_resource1, .rocm_~mpi_Debug, .build_and_test]
needs: [cray_rocm_~mpi_Debug_tpls]

blueos_gcc_~mpi_Debug_test:
extends: [.blueos_resource1, .gcc_~mpi_Debug, .run_ats]
needs: [blueos_gcc_~mpi_Debug_build]
cray_rocm_~mpi_Debug_test:
extends: [.cray_resource1, .rocm_~mpi_Debug, .run_ats]
needs: [cray_rocm_~mpi_Debug_build]

blueos_gcc_~mpi_Debug_cleanup:
extends: [.blueos_resource1, .gcc_~mpi_Debug, .cleanup_dir]
needs: [blueos_gcc_~mpi_Debug_test]
cray_rocm_~mpi_Debug_cleanup:
extends: [.cray_resource1, .rocm_~mpi_Debug, .cleanup_dir]
needs: [cray_rocm_~mpi_Debug_test]
73 changes: 37 additions & 36 deletions .gitlab/machines.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
# ------------------------------------------------------------------------------
# MACHINE TEMPLATES

.on_tioga:
tags:
- tioga
- flux
variables:
SCHEDULER_ACTION: alloc
SCHEDULER_PARAMETERS: "--exclusive -N 2 -t 120"
NPROC: 128
HOSTNAME: 'tioga'
timeout: 120 minutes
extends: [.on_toss_4_x86_cray]

.tioga_shell:
tags:
- tioga
- shell
variables:
ENVIRONMENT: "INTERACTIVE"
extends: [.on_toss_4_x86_cray]

.on_ruby:
tags:
- ruby
Expand All @@ -21,46 +41,28 @@
ENVIRONMENT: "INTERACTIVE"
extends: [.on_toss_4_x86]

.on_lassen:
tags:
- lassen
- batch
variables:
SCHEDULER_PARAMETERS: "-nnodes 1 -W 150 -q pci -alloc_flags atsdisable"
LSB_JOB_STARTER: "ENVIRONMENT=BATCH /usr/tcetmp/bin/bsub_job_starter %USRCMD"
NPROC: 40
ENVIRONMENT: "BATCH"
HOSTNAME: 'lassen'
LC_MODULES: "cuda/11.1.0"
timeout: 150 minutes
extends: [.on_blueos_3_ppc64]

.lassen_shell:
tags:
- lassen
- shell
variables:
ENVIRONMENT: "INTERACTIVE"
HOSTNAME: 'lassen'
extends: [.on_blueos_3_ppc64]

# ------------------------------------------------------------------------------

.toss_resource_general:
extends: [.on_ruby]

.blueos_resource_general:
extends: [.on_lassen]
.cray_resource_general:
extends: [.on_tioga]

.toss_shell1:
extends: [.ruby_shell]

# Use for performance tests
.toss_shell2:
resource_group: toss2
extends: [.ruby_shell]

.blueos_shell1:
extends: [.lassen_shell]
.cray_shell1:
extends: [.tioga_shell]

.cray_shell2:
extends: [.tioga_shell]

.blueos_shell2:
extends: [.lassen_shell]
# ------------------------------------------------------------------------------
#
.toss_resource1:
Expand All @@ -75,11 +77,10 @@
resource_group: toss3
extends: [.toss_resource_general]

.blueos_resource1:
#resource_group: blueos1
extends: [.blueos_resource_general]

.blueos_resource2:
#resource_group: blueos2
extends: [.blueos_resource_general]
.cray_resource1:
#resource_group: cray1
extends: [.cray_resource_general]

.cray_resource2:
#resource_group: cray2
extends: [.cray_resource_general]
12 changes: 6 additions & 6 deletions .gitlab/os.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
GCC_VERSION: '10.3.1'
CLANG_VERSION: '14.0.6'
SPHERAL_BUILDS_DIR: /p/lustre1/sphapp/spheral-ci-builds
RUN_CMD: 'srun'
extends: [.sys_config]

.on_blueos_3_ppc64:
.on_toss_4_x86_cray:
variables:
ARCH: 'blueos_3_ppc64le_ib_p9'
GCC_VERSION: '10.2.1'
CLANG_VERSION: '9.0.0'
SPHERAL_BUILDS_DIR: /p/gpfs1/sphapp/spheral-ci-builds
ARCH: 'toss_4_x86_64_ib_cray'
ROCMCC_VERSION: '6.2.0'
SPHERAL_BUILDS_DIR: /p/lustre1/sphapp/spheral-ci-builds
RUN_CMD: 'flux run'
extends: [.sys_config]

Loading