Skip to content

Commit 7a7328b

Browse files
biddiscosimonpintarellimsimberg
authored
Paraview recipe (#39)
* [email protected] build on hohgant with new EGL support * osmesa debugging * Enable build-cache mirror * Add job script for paraview build * More tweaks to try to fix osmesa on hohgant * Moving/renaming files to fit alps recipes repo structure * Update convenience build scripts for debugging * Use spack release version, with paraview customizations in stackinator repo section * use architecture dirs (eg a100) for different recipes * Recipe for minimal paraview build on clariden * Use symlinks for repos to avoid duplication, use copy.yaml for patch replication copy.yaml inside a packae repo tells stackinator to copy patch files from the spack source into the user repo to save the user needing to mange it by hand. * Add stackinator build and paraview client config and pvserver launch scripts These scripts will need to be further customized for use with stackinator based installations of paraview. * Paraview build recipe updated with EGL, experimental plugin support Lots of utility scripts and other ancillary files also commmitted in scripts/ dir * Sync paraview package with current EGL branch in spack * Bump paraview to latest 5.11.2 version * Cleanup scripts * Paraview EGL now part of spack master, delete local repos, update recipes * Add santis recipe and build script * New hybrid approach to paraview install using cmake directly Install dependencies using spack, but check out custom branches of paraview / VTK / vtkm to work around compilation issues with the default spack available branches. Compile using cmake and a build-env generated by creating a fake package with all the dependencies we need added into it and concretized with the original spack/stackinator generated environment * libtree, clean build and permissions updates * Remove variant gl=egl in favour of virtual gl=egl * replace santis with todi * Disable modules by default for gh200 paraview builds * Fix version of stdexec to pika compatible sha * [email protected] * Lots of random fixes for paraview + scripts * Fix eiger paraview stack using osmesa and lib cdi support * Fix link error for ispc * bump paraview to 5.13, disable raytracing on gh200 for now * Cleanup scripts/paths after rebase, add pvserver setup file etc * Fix TBB find problem by setting TBB_ROOT * Add cdi from albestro/alby/paraview instesad of c2sm to avoid version incompatibility * Use jfrog for license. Fix cdi, adios, plugin builds and submit scripts * Fix paraview python view setup for numpy etc * rename amd-zen2 to plain zen2, fix scripts paths, names, etc * Add cluster name to RC launch script and cleanup script comments etc * delete old/unused c2sm libs * Rename todi to daint * change directory structure * update config.yaml * Fix build script paths after version added to recipe location * Set spack commit to recent SHA and get paraview source from jfrog * update paraview to 5.13.1, add adios2, h5py and conduit * Clean up build-env for plugins, add h5py for pv-python * Remove h5hut from gh200 recipe * Remove ispc customizations and set spack develop tag * fix for spack@develop * paraview: cleanup views in environment setup * paraview: update 5.13.1 -> 5.13.2 * Improve user auto-config scripts for rc-server setup etc * Update zen2 recipe with recent changes to install scripts * Cleanup commits to ensure we always use a fixed version/commit * Fix import from spack packages in env-to-package script * Fix libtheora hash as using @master introduced new build error * Update recipes/paraview/5.13.2/gh200/config.yaml Co-authored-by: Mikael Simberg <[email protected]> * Remove cache-config from recipe repo * Add clariden/santis to paraview gh200 build list * Remove nvindex config yaml file as it is in jfrog now * Remove old sync/update script * Rename environments for simplicity * Add note about git spack SHA used for recipe * Remove some packages used in debugging and building other plugins etc * More cleanup of build/src folders after install * remove modules.yaml as it is not used * bump boootstrap to gcc@12 * Fix gcc and env setup for post install scripts broken by last few commits * Add set-e to post install scripts to make sure that if build fails, uenvs are not stored * Fixes to post install to ensure build completes ok * Change nvindex plugin tarball to aarch64 version for gh200 * Fix jfrog nvidia index access for aarch64 and regular linux files * fix generated nvindex lib path - remove unused reframe yaml --------- Co-authored-by: Simon Pintarelli <[email protected]> Co-authored-by: Mikael Simberg <[email protected]>
1 parent 79a0dc5 commit 7a7328b

28 files changed

+2165
-0
lines changed

config.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,3 +413,14 @@ uenvs:
413413
clariden: [gh200]
414414
eiger: [zen2]
415415
mount: "/user-tools"
416+
paraview:
417+
"5.13.2":
418+
recipes:
419+
gh200: 5.13.2/gh200
420+
zen2: 5.13.2/zen2
421+
deploy:
422+
daint: [gh200]
423+
clariden: [gh200]
424+
santis: [gh200]
425+
eiger: [zen2]
426+
develop: True
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
bootstrap:
2+
3+
gcc:
4+
specs:
5+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# NB. git sha for spack is required for some vtk external packages, but newer sha breaks other stuff
2+
name: ParaView
3+
store: /user-environment
4+
spack:
5+
commit: 195b869e1c5f0f850fe16ca1cc0c77fc71f5fcd6
6+
repo: https://github.com/spack/spack.git
7+
description: ParaView for Grace-Hopper using EGL
8+
modules: false
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
paraview-cuda:
2+
compiler:
3+
- toolchain: gcc
4+
spec: gcc
5+
mpi:
6+
spec: cray-mpich
7+
gpu: cuda
8+
unify: true
9+
views:
10+
develop:
11+
exclude: []
12+
uenv:
13+
add_compilers: true
14+
prefix_paths:
15+
LD_LIBRARY_PATH: [lib, lib64]
16+
paraview:
17+
link: run
18+
exclude: []
19+
uenv:
20+
add_compilers: true
21+
prefix_paths:
22+
LD_LIBRARY_PATH: [lib, lib64]
23+
paraview-python:
24+
link: run
25+
exclude: []
26+
uenv:
27+
prefix_paths:
28+
LD_LIBRARY_PATH: [lib, lib64]
29+
30+
specs:
31+
32+
# cuda
33+
34+
35+
# Build tools
36+
# - git-lfs
37+
- cmake
38+
- ninja
39+
- direnv
40+
- ninja
41+
- libtree
42+
- llvm@18 ~gold ~cuda
43+
44+
# maths
45+
- blaspp
46+
- eigen
47+
- fftw
48+
- lapackpp
49+
- openblas
50+
- proj
51+
52+
# c++ helpers
53+
- fmt@10
54+
- boost +atomic +chrono +container +context +coroutine +date_time +filesystem +graph +json +mpi +multithreaded +program_options +regex +serialization +shared +system +test +thread
55+
56+
# IO and parallelism
57+
- hdf5 +mpi +cxx +hl +threadsafe +shared ~java
58+
- netcdf-c +mpi
59+
- lz4
60+
- adios2 +python +hdf5
61+
62+
# memory management
63+
# - jemalloc
64+
# - mimalloc
65+
66+
# # system
67+
# - numactl
68+
69+
# # profiling/testing
70+
# - gperftools
71+
# - googletest
72+
73+
# multithreading
74+
- tbb
75+
76+
# in-situ support
77+
- libcatalyst +mpi +python
78+
79+
# vtk external deps
80+
81+
82+
- gl2ps
83+
- glew
84+
- jpeg
85+
- jsoncpp
86+
- libharu
87+
- libtiff
88+
- nlohmann-json
89+
90+
- pugixml
91+
- pegtl
92+
- protobuf@:3.21
93+
- seacas ~fortran ~applications ~legacy ~tests ~x11
94+
- utf8cpp
95+
96+
# climate/weather
97+
- cdi
98+
99+
# python
100+
101+
- py-numpy
102+
- py-pandas
103+
- py-matplotlib
104+
- py-mpi4py
105+
- py-cftime
106+
- py-h5py
107+
108+
# raytracing in VTK/ParaView
109+
- [email protected] ~mpi +denoiser +volumes ~apps ~glm
110+
111+
- openvkl
112+
- embree
113+
- rkcommon
114+
- openimagedenoise
115+
116+
variants:
117+
- +cuda
118+
- cuda_arch=90
119+
- ^[virtuals=gl] egl
120+
- build_type=Release
121+
- cxxstd=17
122+
- +mpi
123+
- ~fortran
124+
- ~x11
125+
- ~examples
126+
- ~tests
127+
- +cxx
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
packages:
2+
all:
3+
providers:
4+
gl: [egl]
5+
egl:
6+
externals:
7+
8+
prefix: /usr
9+
buildable: false
10+
llvm:
11+
require: llvm ~gold ~cuda

0 commit comments

Comments
 (0)