1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
spack:
# variations of this environment can be controlled via environment variables during `spack env create`
definitions:
# CUDA
- cuda: []
- cuda: [cuda, blaspp +cuda, lapackpp ^blaspp +cuda]
when: env.get("SPACK_STACK_USE_CUDA", "1") == "1"
- cuda: [cuda, blaspp, lapackpp]
when: env.get("SPACK_STACK_USE_CUDA", "1") != "1"
# basic Python dependencies for WarpX Python PICMI bindings
- python: []
- python: [python, py-pip, openpmd-api +python]
when: env.get("SPACK_STACK_USE_PYTHON", "1") == "1"
- python: [openpmd-api]
when: env.get("SPACK_STACK_USE_PYTHON", "1") != "1"
specs:
- adios2
- ccache
- cmake
- fftw
- hdf5
- mpi
- pkgconfig
- $cuda
- $python
packages:
all:
# since lxplus has multiple CPU micro-architectures, we do not tune for a specific one
# in the future, if highest on-CPU performance is needed, we should not limit this to generic x86_64,
# otherwise the compiler will not use recent vector operations, among other recent CPU hardware features.
target: [x86_64]
compiler: [gcc@11.2.0]
variants: ~fortran
providers:
mpi: [openmpi]
ncurses:
# This is needed for any build of ncurses on lxplus, due to its AFS filesystem
variants: +symlinks
compilers:
- compiler:
environment: {}
extra_rpaths: []
spec: gcc@11.2.0
paths:
cc: /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-ad950/x86_64-centos7/bin/gcc
cxx: /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-ad950/x86_64-centos7/bin/g++
f77: /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-ad950/x86_64-centos7/bin/gfortran
fc: /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-ad950/x86_64-centos7/bin/gfortran
flags: {}
operating_system: centos7
target: x86_64
modules: []
config:
build_jobs: 6
# Spack defaults will try to set permissions in a way which is forbidden on the LXPLUS file system (AFS)
allow_sgid: false
|