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

icon build env recipe for todi #113

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
63 changes: 24 additions & 39 deletions recipes/wcp/icon/v1/gh200/environments.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,42 @@ nvidia:
spec: gcc
- toolchain: llvm
spec: nvhpc
unify: when_possible
unify: true
mpi:
spec: [email protected].29%nvhpc
spec: [email protected].30%nvhpc
gpu: cuda
specs:
- boost%gcc ~mpi
- [email protected]%gcc
#- [email protected]%nvhpc +tools +fortran +aec +openmp jp2k=jasper
- cmake%gcc
- [email protected]%gcc
- hdf5%gcc
- hwloc%gcc
- netcdf-c%gcc
- netcdf-cxx4%gcc
- boost ~mpi
- cmake
- [email protected]
- eccodes%nvhpc +tools +fortran +aec +openmp jp2k=jasper
- hdf5%nvhpc +hl
- hwloc
- libxml2
- libfyaml
- netcdf-c
- netcdf-cxx4
- netcdf-fortran%nvhpc
- numactl%gcc
- numactl
- [email protected]%nvhpc
- [email protected]
# everything needed for nccl on SS11
- aws-ofi-nccl@master%gcc
- nccl%gcc
- nccl-tests%gcc
# The following are required to stop spack from using nvhpc to build
# basic dependencies, some of which don't compile with nvc etc.
# Explicitly excluded as modules.
- autoconf%gcc
- automake%gcc
- ca-certificates-mozilla%gcc
- diffutils%gcc
- gnuconfig%gcc
- libiconv%gcc
- libxcrypt%gcc
- libxml2%gcc
- m4%gcc
- ncurses%gcc
- openssl%gcc
- perl%gcc
- xz%gcc
- zlib%gcc
- zstd%gcc
- c-blosc%gcc
- libaec%gcc
- jasper%gcc
- patchelf%gcc
- gmake%gcc
- aws-ofi-nccl@master
- nccl
- nccl-tests
variants:
- cuda_arch=90
- +mpi
- +cuda
packages:
- curl
- gmake
- perl
views:
default:
icon:
link: roots
uenv:
add_compilers: true
prefix_paths:
LD_LIBRARY_PATH: [lib, lib64]

18 changes: 0 additions & 18 deletions recipes/wcp/icon/v1/gh200/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,5 @@ modules:
exclude:
- '%[email protected]'
- 'gcc %[email protected]'
- 'autoconf'
- 'automake'
- 'c-blosc'
- 'ca-certificates-mozilla'
- 'diffutils'
- 'gnuconfig'
- 'jasper'
- 'libaec'
- 'libiconv'
- 'libxcrypt'
- 'libxml2'
- 'patchelf'
- 'm4'
- 'ncurses'
- 'openssl'
- 'xz'
- 'zlib'
- 'zstd'
projections:
all: '{name}/{version}'
29 changes: 29 additions & 0 deletions recipes/wcp/icon/v1/gh200/post-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/python3

import glob
import hashlib
import os
import yaml


# Add cuda_arch to packages.yaml
with open("{{ env.mount }}/config/packages.yaml", mode='r') as file:
packages = yaml.safe_load(file)

packages['packages']['all'] = {'variants': 'cuda_arch=90'}

with open("{{ env.mount }}/config/packages.yaml", mode='w') as file:
yaml.dump(packages, file)


# Generate a hash to make the uenv uniquely identifiable
with open("{{ env.mount }}/.spack-db/index.json", mode='rb') as f:
sha = hashlib.sha256(f.read()).hexdigest()

with open("{{ env.mount }}/meta/hash", mode='w') as f:
f.write(sha)

# delete .la files that force linking against uneccesary libraries
for path in ["{{ env.mount }}/env/icon/lib", "{{ env.mount }}/env/icon/lib64"]:
for file in glob.glob(os.path.join(path, '*.la')):
os.remove(file)
2 changes: 1 addition & 1 deletion scripts/setup-stackinator
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ tool_base_path="$(pwd)"
# builds in the same pipeline do not conflict
tool_path=`mktemp -d`
tool_repo=https://github.com/eth-cscs/stackinator.git
tool_version=master
tool_version=v5.0-rc1

log "installing stackinator from git in '${tool_path}'"

Expand Down