-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e65360c
commit 630165c
Showing
9 changed files
with
93 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
|
||
The installation instructions for this repository are the same as those | ||
for the `TAMM Library <https://github.com/NWChemEx/TAMM>`__. | ||
|
||
Installation | ||
============ | ||
|
||
- `Software | ||
Requirements <https://tamm.readthedocs.io/en/latest/prerequisites.html>`__ | ||
|
||
- `Build | ||
Instructions <https://tamm.readthedocs.io/en/latest/install.html>`__ | ||
|
||
Dependencies | ||
------------ | ||
|
||
In addition to the TAMM `dependencies <https://tamm.readthedocs.io/en/latest/install.html>`__, the following ExaChem dependencies are also automatically built by TAMM. | ||
|
||
* Libint | ||
* Libecpint | ||
|
||
Build instructions for a quick start | ||
------------------------------------ | ||
|
||
Step 1 | ||
|
||
:: | ||
|
||
git clone https://github.com/NWChemEx/TAMM.git | ||
cd TAMM && mkdir build && cd build | ||
|
||
- .. rubric:: A detailed list of the cmake build options available are | ||
listed | ||
`here <https://tamm.readthedocs.io/en/latest/install.html>`__ | ||
:name: a-detailed-list-of-the-cmake-build-options-available-are-listed-here | ||
|
||
:: | ||
|
||
CC=gcc CXX=g++ FC=gfortran cmake -DCMAKE_INSTALL_PREFIX=<exachem-install-path> -DMODULES="CC;DFT" .. | ||
make -j4 install | ||
|
||
Step 2 | ||
|
||
:: | ||
|
||
git clone https://github.com/ExaChem/exachem.git | ||
cd exachem && mkdir build && cd build | ||
CC=gcc CXX=g++ FC=gfortran cmake -DCMAKE_INSTALL_PREFIX=<exachem-install-path> -DMODULES="CC;DFT" .. | ||
make -j4 | ||
|
||
``NOTE:`` The cmake configure line in Steps 1 and 2 should be the same. | ||
|
||
|
||
Running the code | ||
---------------- | ||
|
||
:: | ||
|
||
export OMP_NUM_THREADS=1 | ||
export INPUT_FILE=$REPO_ROOT_PATH/inputs/ozone.json | ||
|
||
mpirun -n 3 $REPO_INSTALL_PATH/bin/ExaChem $INPUT_FILE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other | ||
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other | ||
# Spack Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||
|
@@ -20,22 +20,23 @@ class Exachem(CMakePackage,CudaPackage): | |
depends_on('mpi') | ||
depends_on('intel-oneapi-mkl +cluster') | ||
depends_on('[email protected]:') | ||
depends_on('cuda@11.5:', when='+cuda') | ||
depends_on('cuda@11.8:', when='+cuda') | ||
depends_on('hdf5 +mpi') | ||
# Still need to update libint recipe for 2.7.x | ||
#depends_on('[email protected]:') | ||
# Still need to update libint recipe for 2.9.x | ||
#depends_on('[email protected]:') | ||
conflicts("+cuda", when="cuda_arch=none") | ||
|
||
def cmake_args(self): | ||
args = [ | ||
# This was not able to detect presence of libint in first test | ||
#'-DLibInt2_ROOT=%s' % self.spec['libint'].prefix, | ||
'-DMODULES=CC', | ||
'-DMODULES=CC;DFT', | ||
'-DHDF5_ROOT=%s' % self.spec['hdf5'].prefix, | ||
'-DLINALG_VENDOR=IntelMKL', | ||
'-DLINALG_PREFIX=%s' % join_path(self.spec['intel-oneapi-mkl'].prefix, 'mkl', 'latest'), | ||
] | ||
if '+cuda' in self.spec: | ||
args.extend([ '-DUSE_CUDA=ON', | ||
]) | ||
args.append( "-DTAMM_ENABLE_CUDA=ON" ) | ||
args.append("-DGPU_ARCH=" + self.spec.variants["cuda_arch"].value) | ||
|
||
return args |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other | ||
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other | ||
# Spack Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||
|
@@ -23,22 +23,23 @@ class Tamm(CMakePackage,CudaPackage): | |
depends_on('mpi') | ||
depends_on('intel-oneapi-mkl +cluster') | ||
depends_on('[email protected]:') | ||
depends_on('cuda@11.5:', when='+cuda') | ||
depends_on('cuda@11.8:', when='+cuda') | ||
depends_on('hdf5 +mpi') | ||
# Still need to update libint recipe for 2.7.x | ||
#depends_on('[email protected]:') | ||
# Still need to update libint recipe for 2.9.x | ||
#depends_on('[email protected]:') | ||
conflicts("+cuda", when="cuda_arch=none") | ||
|
||
def cmake_args(self): | ||
args = [ | ||
# This was not able to detect presence of libint in first test | ||
#'-DLibInt2_ROOT=%s' % self.spec['libint'].prefix, | ||
'-DMODULES=CC', | ||
'-DMODULES=CC;DFT', | ||
'-DHDF5_ROOT=%s' % self.spec['hdf5'].prefix, | ||
'-DLINALG_VENDOR=IntelMKL', | ||
'-DLINALG_PREFIX=%s' % join_path(self.spec['intel-oneapi-mkl'].prefix, 'mkl', 'latest'), | ||
] | ||
if '+cuda' in self.spec: | ||
args.extend([ '-DUSE_CUDA=ON', | ||
]) | ||
args.append( "-DTAMM_ENABLE_CUDA=ON" ) | ||
args.append("-DGPU_ARCH=" + self.spec.variants["cuda_arch"].value) | ||
|
||
return args |