-
Notifications
You must be signed in to change notification settings - Fork 26
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
Adding GROMACS #61
Adding GROMACS #61
Changes from 23 commits
acce1d6
720b176
6b70948
06c2b29
0f98c77
68e7d28
1679d15
f5f723a
e73ec42
fa765a6
aea9180
aeb966c
05dc3b2
c1e2112
992421a
7eba856
1762eea
4347564
0738ba5
9f13277
32f84ee
ee940e6
c065093
b8ca5a2
5f334fe
5b695ca
72ff192
078c4a5
5de5699
3fbc244
379bac6
89ff45a
2d4f924
5bd8821
90ccdd9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,8 +32,12 @@ packages: | |
mvapich2: | ||
buildable: false | ||
externals: | ||
- spec: mvapich2@2.3.7%intel@2021.6.0 | ||
- spec: mvapich2@2.3.7-gcc-11.2.1 | ||
prefix: /usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-11.2.1 | ||
- spec: mvapich2@2.3.7-intel-2021.6.0 | ||
prefix: /usr/tce/packages/mvapich2/mvapich2-2.3.7-intel-classic-2021.6.0/ | ||
- spec: mvapich2@2.3.7-clang-14.0.6 | ||
prefix: /usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-14.0.6 | ||
cuda: | ||
buildable: false | ||
externals: | ||
|
@@ -55,10 +59,22 @@ packages: | |
prefix: /usr/tce/packages/cuda/cuda-11.8.0 | ||
buildable: false | ||
blas: | ||
externals: | ||
- spec: intel-oneapi-mkl@2022.1.0 | ||
prefix: /usr/tce/packages/mkl/mkl-2022.1.0 | ||
buildable: false | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it will be cleaner to reorganize
as
|
||
fftw: | ||
externals: | ||
- spec: intel-oneapi-mkl@2022.1.0 | ||
prefix: /usr/tce/packages/mkl/mkl-2022.1.0 | ||
buildable: false | ||
lapack: | ||
externals: | ||
- spec: intel-oneapi-mkl@2022.1.0 | ||
prefix: /usr/tce/packages/mkl/mkl-2022.1.0 | ||
buildable: false | ||
intel-oneapi-mkl: | ||
externals: | ||
- spec: intel-oneapi-mkl@2022.1.0 | ||
prefix: /usr/tce/packages/mkl/mkl-2022.1.0/ | ||
buildable: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -65,3 +65,19 @@ compilers: | |
modules: [] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (for another PR) I noticed when looking above that there are 3 xl/cuda compiler combos - is that still necessary? |
||
environment: {} | ||
extra_rpaths: [] | ||
- compiler: | ||
spec: clang@16.0.6-cuda11.8.0 | ||
paths: | ||
cc: /usr/tce/packages/clang/clang-16.0.6-cuda-11.8.0-gcc-11.2.1/bin/clang | ||
cxx: /usr/tce/packages/clang/clang-16.0.6-cuda-11.8.0-gcc-11.2.1/bin/clang++ | ||
f77: /usr/tce/packages/gcc/gcc-11.2.1/bin/gfortran | ||
fc: /usr/tce/packages/gcc/gcc-11.2.1/bin/gfortran | ||
flags: | ||
cflags: -g -O2 | ||
cxxflags: -g -O2 -std=c++17 | ||
fflags: '' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (minor) you can remove this line entirely if you want. |
||
operating_system: rhel7 | ||
target: ppc64le | ||
modules: [] | ||
environment: {} | ||
extra_rpaths: [] |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -55,6 +55,11 @@ packages: | |
- spec: cublas@11.8.0 | ||
prefix: /usr/tce/packages/cuda/cuda-11.8.0 | ||
buildable: false | ||
fftw: | ||
externals: | ||
- spec: fftw@3.3.10 | ||
prefix: /usr/tcetmp/packages/fftw/fftw-3.3.10-xl-2023.06.28 | ||
buildable: false | ||
lapack: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. While this PR disables use of external blas/lapack, I think it would be worth reorganizing it:
(this config worked for me when using external blas/lapack and also avoids any potential issues with listing |
||
externals: | ||
- spec: lapack-xl@3.9.0 | ||
|
@@ -70,4 +75,8 @@ packages: | |
prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-xl-2022.08.19-cuda-10.1.243 | ||
extra_attributes: | ||
ldflags: "-lmpiprofilesupport -lmpi_ibm_usempi -lmpi_ibm_mpifh -lmpi_ibm" | ||
- spec: spectrum-mpi@2022.08.19-clang16.0.6-cuda-11.8.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you want a build of a package with clang to use this, then you'd want to make the compiler association explicit using (question, no change required) Do you know if it's strictly required to use/link an MPI compiled w/clang when building dependents with clang? |
||
prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-16.0.6-cuda-11.8.0-gcc-11.2.1 | ||
extra_attributes: | ||
ldflags: "-lmpiprofilesupport -lmpi_ibm_usempi -lmpi_ibm_mpifh -lmpi_ibm" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not aware of Spack being able to make use of |
||
buildable: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,15 @@ spack: | |
spack_spec: spectrum-mpi@2022.08.19 | ||
compiler-gcc: | ||
spack_spec: gcc@8.3.1 | ||
compiler-clang: | ||
spack_spec: clang@16.0.6-cuda{default_cuda_version} | ||
mpi-clang: | ||
spack_spec: spectrum-mpi@2022.08.19-clang16.0.6-cuda-{default_cuda_version} | ||
blas: | ||
spack_spec: cublas@11.8.0 | ||
cublas-cuda: | ||
spack_spec: cublas@{default_cuda_version} | ||
spack_spec: cublas@{default_cuda_version} | ||
lapack: | ||
spack_spec: lapack-xl@3.9.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This predates this PR, but FYI if anything ends up needing lapack, this would likely fail because |
||
fftw: | ||
spack_spec: fftw@3.3.10 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -193,6 +193,13 @@ packages: | |
prefix: /opt/cray/pe/libsci/23.05.1.4/gnu/10.3/x86_64/ | ||
lapack: | ||
buildable: false | ||
hypre: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please remove hypre from this list. All variants are already set to amdgpu_target=gfx90a |
||
variants: amdgpu_target=gfx90a | ||
hwloc: | ||
externals: | ||
- spec: hwloc@2.9.1 | ||
prefix: /usr | ||
buildable: false | ||
mpi: | ||
buildable: false | ||
cray-mpich: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/bash | ||
|
||
## Copyright 2023 Lawrence Livermore National Security, LLC and other | ||
## Benchpark Project Developers. See the top-level COPYRIGHT file for details. | ||
## | ||
## SPDX-License-Identifier: Apache-2.0 | ||
|
||
{batch_nodes} | ||
{batch_ranks} | ||
{batch_timeout} | ||
|
||
cd {experiment_run_dir} | ||
|
||
{experiment_setup} | ||
|
||
{command} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Copyright 2023 Lawrence Livermore National Security, LLC and other | ||
# Benchpark Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
ramble: | ||
config: | ||
deprecated: true | ||
spack_flags: | ||
install: '--add --keep-stage' | ||
concretize: '-U -f' | ||
|
||
applications: | ||
gromacs: | ||
workloads: | ||
water_gmx50_adac: | ||
env_vars: | ||
set: | ||
OMP_PROC_BIND: close | ||
OMP_PLACES: threads | ||
OMP_NUM_THREADS: '{omp_num_threads}' | ||
variables: | ||
experiment_setup: '' | ||
n_ranks: '{processes_per_node} * {n_nodes}' | ||
processes_per_node: '2' | ||
n_nodes: '4' | ||
omp_num_threads: '10' | ||
target: 'gpu' | ||
experiments: | ||
gromacs_water_gmx50_adac_size{size}_dlb{dlb}_pin{pin}_target{target}_maxh{maxh}_nsteps{nsteps}_nstlist{nstlist}_npme{npme}: | ||
variables: | ||
dlb: 'no' | ||
pin: 'off' | ||
nb: '{target}' | ||
pme: 'auto' | ||
bonded: 'cpu' | ||
update: '{target}' | ||
maxh: '0.05' | ||
nsteps: '1000' | ||
nstlist: '200' | ||
npme: '1' | ||
size: '1536' | ||
|
||
spack: | ||
concretized: true | ||
packages: | ||
gromacs: | ||
spack_spec: gromacs@2023.3 +mpi+openmp+cuda~hwloc~double cuda_arch=={cuda_arch} | ||
compiler: compiler-clang | ||
cuda: | ||
spack_spec: cuda@{default_cuda_version}+allow-unsupported-compilers | ||
compiler: compiler-clang | ||
environments: | ||
gromacs: | ||
packages: | ||
- cuda | ||
- blas | ||
- lapack | ||
- mpi-clang | ||
- fftw | ||
- gromacs |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
|
||
## Copyright 2023 Lawrence Livermore National Security, LLC and other | ||
## Benchpark Project Developers. See the top-level COPYRIGHT file for details. | ||
## | ||
## SPDX-License-Identifier: Apache-2.0 | ||
|
||
{batch_nodes} | ||
{batch_ranks} | ||
{batch_timeout} | ||
|
||
cd {experiment_run_dir} | ||
|
||
{spack_setup} | ||
|
||
{experiment_setup} | ||
|
||
{command} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Copyright 2023 Lawrence Livermore National Security, LLC and other | ||
# Benchpark Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
ramble: | ||
config: | ||
deprecated: true | ||
spack_flags: | ||
install: '--add --keep-stage' | ||
concretize: '-U -f' | ||
|
||
applications: | ||
gromacs: | ||
workloads: | ||
water_gmx50_adac: | ||
env_vars: | ||
set: | ||
OMP_PROC_BIND: close | ||
OMP_PLACES: threads | ||
OMP_NUM_THREADS: '{omp_num_threads}' | ||
variables: | ||
experiment_setup: '' | ||
n_ranks: '{processes_per_node} * {n_nodes}' | ||
processes_per_node: '4' | ||
n_nodes: '2' | ||
omp_num_threads: '16' | ||
target: 'cpu' | ||
experiments: | ||
gromacs_water_gmx50_adac_size{size}_dlb{dlb}_pin{pin}_target{target}_maxh{maxh}_nsteps{nsteps}_nstlist{nstlist}_npme{npme}: | ||
variables: | ||
dlb: 'no' | ||
pin: 'off' | ||
nb: '{target}' | ||
pme: 'auto' | ||
bonded: '{target}' | ||
update: '{target}' | ||
maxh: '0.05' | ||
nsteps: '1000' | ||
nstlist: '200' | ||
npme: '0' | ||
size: '1536' | ||
|
||
spack: | ||
concretized: true | ||
packages: | ||
fftw: | ||
spack_spec: fftw@3.3.10 +mpi+openmp | ||
compiler: default-compiler | ||
gromacs: | ||
spack_spec: gromacs@main +mpi+openmp~hwloc | ||
compiler: default-compiler | ||
environments: | ||
gromacs: | ||
packages: | ||
- lapack | ||
- default-mpi | ||
- fftw | ||
- gromacs |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Copyright 2023 Lawrence Livermore National Security, LLC and other | ||
# Benchpark Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
from spack.package import * | ||
|
||
|
||
class Cusolver(Package): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does anything use this? Is it still needed? |
||
|
||
provides("lapack") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you might mean
mvapich2@2.3.7%gcc@11.2.1
vs
mvapich2@2.3.7-gcc-11.2.1
in the former case, Spack will know that
mvapich2
was compiled withgcc