blob: 820cf7069fdc138c2e73f70bbba2c1bef8b4e25f (
plain) (
blame)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# This is a Spack environment file.
#
# This environment can be used to install all dependencies to build the manual
# locally.
#
# Activating and installing this environment will provide all dependencies
# that are needed for full-feature development.
# https://spack.readthedocs.io/en/latest/environments.html
#
# Inside the directory of this file
# spack env create warpx-openmp-dev spack-macos-openmp.yaml
# spack env activate warpx-openmp-dev
# spack install # only needed the first time
#
spack:
specs:
- adios2 ~fortran
- ascent +adios2 +python ~fortran
- blaspp ~cuda +openmp ~rocm
- boost
- ccache
- cmake
- conduit ~fortran
- fftw
- hdf5 ~fortran
- lapackpp ~cuda ~rocm ^blaspp ~cuda +openmp ~rocm
- mpi
- llvm-openmp
- pkgconfig
- python
- py-cython
- py-h5py
- py-libensemble +nlopt
- py-mpi4py
- py-numpy
- py-pip
- py-setuptools
- py-wheel
- sensei +ascent ~catalyst +python
# not yet ready for macOS prime time
# https://github.com/spack/spack/issues/32283
# https://github.com/spack/spack/pull/32285
# https://github.com/spack/spack/pull/32284
# - ecp-data-vis-sdk +adios2 +ascent +hdf5 +sensei
# skipped to save time: 3D post-processing
# - paraview +adios2 +python3 +qt
# skipped to save time, because they are faster installed via pip afterwards
# python3 -m pip install jupyter matplotlib numpy openpmd-api openpmd-viewer pandas scipy yt
# - py-jupyter
# - py-matplotlib +animation +fonts +latex +movies backend=macosx
# - openpmd-api +python
# - py-openpmd-viewer +numba +jupyter
# - py-pandas
# - py-pyqt5
# - py-scipy
# - py-yt
packages:
all:
variants: +mpi ~fortran ~cuda ~rocm
# BLAS/LAPACK: the default (accelerate) pulls veclibfort@0.4.2 for
# py-numpy, which fails to build on M1
# MPI: the default (openmpi) triggers annoying firewall warnings when
# running executables
providers:
blas: [openblas]
lapack: [openblas]
mpi: [mpich]
# default blocks at HDF5 1.8, resulting in unmergable solution
conduit:
variants: ~hdf5_compat ~fortran
# otherwise concretization error between ccache and all other variants
zstd:
variants: +programs
compilers:
# macOS
# preparation: you first need to install xcode (app store) and gcc (homebrew) and gpg2 (homebrew)
- compiler:
spec: apple-clang@13.1.6
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /opt/homebrew/bin/gfortran
fc: /opt/homebrew/bin/gfortran
flags: {}
operating_system: monterey
target: aarch64
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: apple-clang@13.1.6
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /opt/homebrew/bin/gfortran
fc: /opt/homebrew/bin/gfortran
flags: {}
operating_system: monterey
target: x86_64
modules: []
environment: {}
extra_rpaths: []
# binary caches
mirrors:
E4S: https://cache.e4s.io
LLNL: https://mirror.spack.io
# needs boto3
# E4Smac: s3://spack-binaries/develop/e4s-mac
# do not try to reuse existing packages, which can confuse the concretizer
concretizer:
reuse: false
unify: true
# limit the build parallelism (default: call virtual cores)
# config:
# build_jobs: 6
|