Skip to content

Commit

Permalink
Merge pull request #15 from hpc4cmb/ducc
Browse files Browse the repository at this point in the history
Add ducc0 package to most configs.  Add config for NVHPC.
  • Loading branch information
tskisner authored May 3, 2022
2 parents 7feb9e8 + e727de7 commit 54d446e
Show file tree
Hide file tree
Showing 21 changed files with 223 additions and 17 deletions.
2 changes: 1 addition & 1 deletion configs/cori-gcc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PYVERSION = 3.9
PIP_PKGS =

# Packages to install with conda
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Serial compilers

Expand Down
2 changes: 1 addition & 1 deletion configs/cori-intel
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PYVERSION = 3.9
PIP_PKGS =

# Packages to install with conda
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Serial compilers

Expand Down
2 changes: 1 addition & 1 deletion configs/docker-py3.7-debian-mpich
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.7-slim-bullseye
DOCKER_SYS_PKGS = zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-py3.8-debian-mpich
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.8-slim-bullseye
DOCKER_SYS_PKGS = zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-py3.9-debian-mpich
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.9-slim-bullseye
DOCKER_SYS_PKGS = zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-py3.9-debian-openmpi
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.9-slim-bullseye
DOCKER_SYS_PKGS = zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-toastdeps-py37
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.7-slim-bullseye
DOCKER_SYS_PKGS = m4 libtool autoconf automake llvm libsuitesparse-dev libflac-dev zlib1g-dev libbz2-dev libopenblas-dev liblapack-dev zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-toastdeps-py38
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.8-slim-bullseye
DOCKER_SYS_PKGS = m4 libtool autoconf automake llvm libsuitesparse-dev libflac-dev zlib1g-dev libbz2-dev libopenblas-dev liblapack-dev zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil==5.7.0 numpy==1.18.4 scipy==1.4.1 matplotlib==3.2.1 pandas==1.0.3 memory_profiler==0.57.0 astropy==4.0.1.post1 ephem==3.7.7.1 ipython==7.14.0 numba==0.49.1 tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/docker-toastdeps-py39
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DOCKER_BASE = python:3.9-slim-bullseye
DOCKER_SYS_PKGS = m4 libtool autoconf automake llvm libsuitesparse-dev libflac-dev zlib1g-dev libbz2-dev libopenblas-dev liblapack-dev zip unzip

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba tbb cmake sphinx sphinx-rtd-theme pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/linux-conda
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PYVERSION = 3.9
PIP_PKGS =

# Packages to install with conda
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Serial compilers

Expand Down
79 changes: 79 additions & 0 deletions configs/linux-nvhpc
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@

# OS type (linux OR osx)
OSTYPE = linux

# Specify the template to use
TEMPLATE = linux

# Python version to use
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets healpy ducc0

# Packages to install with conda
CONDA_PKGS =

# Serial compilers

CC = nvc
CXX = nvc++
FC = nvfortran

# Compiler to use for packages needed on the build machine

BUILD_CC = gcc
BUILD_CXX = g++

# MPI compilers

MPICC = mpicc
MPICXX = mpicxx
MPIFC = mpifort
MPI_CPPFLAGS = @AUX_PREFIX@/include
MPI_LDFLAGS = @AUX_PREFIX@/lib
MPI_CXXLIB = mpichcxx
MPI_LIB = mpich
MPI_EXTRA_COMP = -noswitcherror
MPI_EXTRA_LINK =

# Compile flags

CFLAGS = -O3 -fPIC -pthread
CXXFLAGS = -O3 -fPIC -pthread -std=c++11
FCFLAGS = -O3 -fPIC -pthread

OPENMP_CFLAGS = -mp
OPENMP_CXXFLAGS = -mp
LDFLAGS = -lpthread -mp

# Are we doing a cross-compile?
CROSS =

# Parallel builds
MAKEJ = 4

# Define MKL location
MKL =

# CUDA
CUDA = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda
CUDA_INC = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/include
CUDA_LIB = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/lib64
CUDA_MATH = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/math_libs
CUDA_MATH_INC = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/math_libs/include
CUDA_MATH_LIB = /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/math_libs/lib64

# For BLAS/LAPACK, we use openblas

BLAS = -lnvblas
LAPACK = -lopenblas -fopenmp -lm

# Boost toolchain name

BOOSTCHAIN = pgi

# Group and permissions to set

CHGRP =
CHMOD =
7 changes: 7 additions & 0 deletions configs/linux-nvhpc.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

if [ module-info mode load ] {
if [ is-loaded nvhpc ] {
} else {
module load nvhpc
}
}
116 changes: 116 additions & 0 deletions configs/linux-nvhpc.pkgs
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# This is the full set of packages that can be installed. This can be
# used as a starting point for the package list for a particular config.
# Some packages accept additional options which can be added after a colon ":".
# These extra options are documented in the shell snippet for each package
# in the top-level pkgs directory.
#
# Autotools. If you already have recent versions installed with your OS
# package manager, then comment these out.
m4
libtool
autoconf
automake
#
# CMake.
cmake
#
# Install zlib. This is needed on some systems where the OS-provided zlib is
# very ancient.
zlib
#
# Install OpenBLAS. Comment out if you are using MKL with the Intel compilers
# or some other vendor BLAS / LAPACK solution.
openblas
#
# Python 3. Uncomment one of the following lines. You should only use the
# "default" option for Docker images. All other configs should use either
# a virtualenv or a conda environment. This will also install a set of
# common base packages.
python:virtualenv
#python:conda
#python:default
#
# Install MPICH. This step is optional and only needed in 2 cases:
# 1. You don't have MPI available through system packages that is
# compatible with the serial compilers you are using.
# 2. You are building a docker container for use at NERSC with shifter
# and need an MPICH compatible with the Cray one.
mpich
#
# Install mpi4py. This will use the MPI compilers specified in your config.
mpi4py
#
# Install CFITSIO.
cfitsio
#
# Install FFTW3.
fftw
#
# Install pyFFTW
pyfftw
#
# Install libbz2. This is required to enable some features in the boost
# build which are in turn needed by spt3g.
bzip2
#
# Install Boost.
#boost
#
# Install HDF5.
hdf5
#
# Install h5py (using our HDF5).
h5py
#
# Install healpy
#healpy
#
# Install quaternionarray
qarray
#
# Install Pixell
#pixell
#
# Install fitsio
#fitsio
#
# Install aatm. Needed for some features of atmosphere simulations.
aatm
#
# GMP and MPFR are needed by SuiteSparse
gmp
mpfr
#
# Install suitesparse
suitesparse
#
# Install libconviqt. 4-PI a_lm space beam convolution.
conviqt
#
# Install libsharp. Distributed harmonic transforms.
libsharp
#
# Install libmadam. Destriping map-maker.
madam
#
# Install FLAC, needed by spt3g
#libflac
#
# Install SPT3G. Frame based data format.
#spt3g
#
# Install uncrustify
uncrustify
#
# Install TIDAS. HDF5-based timestream data format.
tidas
#
# Install PySM. Python Sky Model.
pysm
#
# Install PyMPIT for environment testing. Useful for testing working
# mpi4py stack.
pympit
#
# Install TOAST.
toast
4 changes: 4 additions & 0 deletions configs/linux-nvhpc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
loadednvhpc=`modulecmd sh -t list 2>&1 | grep nvhpc`
if [ "x${loadednvhpc}" = x ]; then
module load nvhpc
fi
2 changes: 1 addition & 1 deletion configs/linux-venv
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TEMPLATE = linux
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/linux-venv-openmpi
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TEMPLATE = linux
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/perlmutter-gcc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PYVERSION = 3.9
PIP_PKGS =

# Packages to install with conda
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Serial compilers

Expand Down
2 changes: 1 addition & 1 deletion configs/perlmutter-nvhpc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PYVERSION = 3.9
PIP_PKGS =

# Packages to install with conda
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets cmake healpy jaxlib jax
CONDA_PKGS = future nose cython numpy scipy matplotlib pyyaml astropy six psutil ephem virtualenv pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets cmake healpy jaxlib jax ducc0

# Serial compilers

Expand Down
2 changes: 1 addition & 1 deletion configs/ubuntu-20.04-venv
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TEMPLATE = linux
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/ubuntu-21.04-venv
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TEMPLATE = linux
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down
2 changes: 1 addition & 1 deletion configs/ubuntu-21.10-venv
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TEMPLATE = linux
PYVERSION = auto

# Packages to install with pip
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets fitsio
PIP_PKGS = setuptools future six Cython cycler kiwisolver pyparsing python-dateutil toml pyyaml pkgconfig pytz psutil numpy scipy matplotlib pandas memory_profiler astropy ephem ipython numba cmake nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets fitsio ducc0

# Packages to install with conda
CONDA_PKGS =
Expand Down

0 comments on commit 54d446e

Please sign in to comment.