Skip to content

Commit

Permalink
Merge pull request #162 from xylar/add-metis
Browse files Browse the repository at this point in the history
Add metis and parmetis to spack build
  • Loading branch information
xylar authored Jan 31, 2024
2 parents 19ee276 + 1a92f82 commit bdeab9f
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
20 changes: 17 additions & 3 deletions deploy/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,9 @@ def build_conda_env(config, env_type, recreate, mpi, conda_mpi, version,
mpi_prefix=mpi_prefix,
include_mache=not local_mache)

for package in ['esmf', 'geometric_features', 'mache', 'mpas_tools',
'netcdf_c', 'netcdf_fortran', 'otps', 'parallelio',
'pnetcdf']:
for package in ['esmf', 'geometric_features', 'mache', 'metis',
'mpas_tools', 'netcdf_c', 'netcdf_fortran', 'otps',
'parallelio', 'pnetcdf']:
replacements[package] = config.get('deploy', package)

spec_file = template.render(**replacements)
Expand Down Expand Up @@ -538,6 +538,8 @@ def build_spack_libs_env(config, update_spack, machine, compiler, # noqa: C901
albany = config.get('deploy', 'albany')
cmake = config.get('deploy', 'cmake')
lapack = config.get('deploy', 'lapack')
metis = config.get('deploy', 'metis')
parmetis = config.get('deploy', 'parmetis')
petsc = config.get('deploy', 'petsc')
scorpio = config.get('deploy', 'scorpio')

Expand Down Expand Up @@ -565,6 +567,10 @@ def build_spack_libs_env(config, update_spack, machine, compiler, # noqa: C901
include_e3sm_lapack = False
else:
include_e3sm_lapack = True
if metis != 'None':
specs.append(f'"metis@{metis}~shared"')
if parmetis != 'None':
specs.append(f'"parmetis@{parmetis}~shared"')
if petsc != 'None':
specs.append(f'"petsc@{petsc}+mpi+batch"')

Expand Down Expand Up @@ -637,6 +643,14 @@ def build_spack_libs_env(config, update_spack, machine, compiler, # noqa: C901
f'export LAPACK={spack_view}\n' \
f'export USE_LAPACK=true\n'

if metis != 'None':
env_vars = f'{env_vars}' \
f'export METIS_ROOT={spack_view}\n'

if parmetis != 'None':
env_vars = f'{env_vars}' \
f'export PARMETIS_ROOT={spack_view}\n'

if petsc != 'None':
env_vars = f'{env_vars}' \
f'export PETSC={spack_view}\n' \
Expand Down
2 changes: 1 addition & 1 deletion deploy/conda-dev-spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ lxml
mache={{ mache }}
{% endif %}
matplotlib-base >=3.6.0,!=3.7.2
metis
metis={{ metis }}
mpas_tools={{ mpas_tools }}
nco
netcdf4=*=nompi_*
Expand Down
2 changes: 2 additions & 0 deletions deploy/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ parallelio = 2.6.0

# versions of conda or spack packages (depending on machine type)
esmf = 8.4.2
metis = 5.1.0
netcdf_c = 4.9.2
netcdf_fortran = 4.6.1
pnetcdf = 1.12.3
Expand All @@ -38,5 +39,6 @@ albany = develop
cmake = 3.23.0:
hdf5 = 1.14.1
lapack = 3.9.1
parmetis = 4.0.3
petsc = 3.19.1
scorpio = 1.4.1
1 change: 0 additions & 1 deletion deploy/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,6 @@ def install_miniforge(conda_base, activate_base, logger):
commands = f'{activate_base} && ' \
f'conda config --add channels conda-forge && ' \
f'conda config --set channel_priority strict && ' \
f'conda install -y "conda>=23.1.0" && ' \
f'conda update -y --all && ' \
f'conda init --no-user'

Expand Down

0 comments on commit bdeab9f

Please sign in to comment.