Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ repos:
hooks:
- id: cmake-format
additional_dependencies: [pyyaml]
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.14.1-1
hooks:
- id: shfmt
args: [--write, --language-dialect=bash, --indent=2, --case-indent]
Comment thread
Growl1234 marked this conversation as resolved.
- repo: local
hooks:
- id: abacus-agent-governance
Expand Down
101 changes: 53 additions & 48 deletions toolchain/build_abacus_aocc-aocl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,33 +12,33 @@

ABACUS_DIR=..
TOOL=$(pwd)
INSTALL_DIR=$TOOL/install
source $INSTALL_DIR/setup
cd $ABACUS_DIR
INSTALL_DIR="${TOOL}/install"
source "${INSTALL_DIR}/setup"
cd "${ABACUS_DIR}"
ABACUS_DIR=$(pwd)
#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter to the aocl installation path

BUILD_DIR=build_abacus_aocc_aocl
rm -rf $BUILD_DIR
rm -rf "${BUILD_DIR}"

PREFIX=$ABACUS_DIR
CEREAL=${CEREAL_ROOT}/include
LAPACK=$AOCLhome/lib
SCALAPACK=$AOCLhome/lib
FFTW3=$AOCLhome
LIBRI=${LIBRI_ROOT}
LIBCOMM=${LIBCOMM_ROOT}
USE_CUDA=OFF # set ON to enable gpu-abacus
# NEP_DIR=$INSTALL_DIR/NEP_CPU-main
# LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch
# LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include
# DEEPMD=$HOME/apps/anaconda3/envs/deepmd
PREFIX="${ABACUS_DIR}"
CEREAL="${CEREAL_ROOT}/include"
LAPACK="${AOCLhome}/lib"
SCALAPACK="${AOCLhome}/lib"
FFTW3="${AOCLhome}"
LIBRI="${LIBRI_ROOT}"
LIBCOMM="${LIBCOMM_ROOT}"
USE_CUDA=OFF # set ON to enable gpu-abacus
# NEP_DIR="${INSTALL_DIR}/NEP_CPU-main"
# LIBTORCH="${INSTALL_DIR}/libtorch-2.1.2/share/cmake/Torch"
# LIBNPY="${INSTALL_DIR}/libnpy-1.0.1/include"
# DEEPMD="${HOME}/apps/anaconda3/envs/deepmd"

NUM_JOBS="$(nproc)"
while [[ $# -gt 0 ]]; do
case $1 in
case "${1}" in
-j)
if [[ -n "$2" && "$2" =~ ^[0-9]+$ ]]; then
if [[ -n "${2}" && "${2}" =~ ^[0-9]+$ ]]; then
NUM_JOBS="${2}"
shift 2
else
Expand All @@ -51,52 +51,57 @@ while [[ $# -gt 0 ]]; do
shift
;;
*)
echo "ERROR: Unsupported argument: $1" >&2
echo "Usage: $0 [-j N|-jN]" >&2
echo "ERROR: Unsupported argument: ${1}" >&2
echo "Usage: ${0} [-j N|-jN]" >&2
exit 1
;;
esac
done

# if clang++ have problem, switch back to g++

cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_CXX_COMPILER=clang++ \
-DMPI_CXX_COMPILER=mpicxx \
-DLAPACK_DIR=$LAPACK \
-DSCALAPACK_DIR=$SCALAPACK \
-DFFTW3_DIR=$FFTW3 \
-DCEREAL_INCLUDE_DIR=$CEREAL \
-DENABLE_LCAO=ON \
-DENABLE_LIBXC=ON \
-DENABLE_OPENMP=ON \
-DENABLE_ELPA=ON \
-DENABLE_JSON=ON \
-DENABLE_LIBRI=ON \
-DLIBRI_DIR=$LIBRI \
-DLIBCOMM_DIR=$LIBCOMM \
-DUSE_CUDA=$USE_CUDA \
# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \
# -DNEP_DIR=$NEP_DIR \
# -DENABLE_MLALGO=1 \
# -DTorch_DIR=$LIBTORCH \
# -Dlibnpy_INCLUDE_DIR=$LIBNPY \
# -DDeePMD_DIR=$DEEPMD \
# -DENABLE_CUSOLVERMP=ON \
cmake_args=(
-B "${BUILD_DIR}"
-DCMAKE_INSTALL_PREFIX="${PREFIX}"
-DCMAKE_CXX_COMPILER=clang++
-DMPI_CXX_COMPILER=mpicxx
-DLAPACK_DIR="${LAPACK}"
-DSCALAPACK_DIR="${SCALAPACK}"
-DFFTW3_DIR="${FFTW3}"
-DCEREAL_INCLUDE_DIR="${CEREAL}"
-DENABLE_LCAO=ON
-DENABLE_LIBXC=ON
-DENABLE_OPENMP=ON
-DENABLE_ELPA=ON
-DENABLE_JSON=ON
-DENABLE_LIBRI=ON
-DLIBRI_DIR="${LIBRI}"
-DLIBCOMM_DIR="${LIBCOMM}"
-DUSE_CUDA="${USE_CUDA}"
# -DNEP_DIR="${NEP_DIR}"
# -DTorch_DIR="${LIBTORCH}"
# -DDeePMD_DIR="${DEEPMD}"
# -DENABLE_MLALGO=1
# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc
# -Dlibnpy_INCLUDE_DIR="${LIBNPY}"
# -DENABLE_CUSOLVERMP=ON
)

cmake --build $BUILD_DIR --target install -j "${NUM_JOBS}"
cmake "${cmake_args[@]}"
Comment thread
Growl1234 marked this conversation as resolved.

cmake --build "${BUILD_DIR}" --target install -j "${NUM_JOBS}"

# generate abacus_env.sh
cat << EOF > "${TOOL}/abacus_env.sh"
cat <<EOF >"${TOOL}/abacus_env.sh"
#!/bin/bash
source $INSTALL_DIR/setup
source "${INSTALL_DIR}/setup"
export PATH="${PREFIX}/bin":\${PATH}
EOF

# generate information
cat << EOF
cat <<EOF
========================== usage =========================
Done!
To use the installed ABACUS version
You need to source ${TOOL}/abacus_env.sh first !
You need to source "${TOOL}/abacus_env.sh" first !
EOF
97 changes: 51 additions & 46 deletions toolchain/build_abacus_gcc-aocl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,32 @@

ABACUS_DIR=..
TOOL=$(pwd)
INSTALL_DIR=$TOOL/install
source $INSTALL_DIR/setup
cd $ABACUS_DIR
INSTALL_DIR="${TOOL}/install"
source "${INSTALL_DIR}/setup"
cd "${ABACUS_DIR}"
ABACUS_DIR=$(pwd)
#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter to the aocl installation path

BUILD_DIR=build_abacus_gcc_aocl
rm -rf $BUILD_DIR
rm -rf "${BUILD_DIR}"

PREFIX=$ABACUS_DIR
LAPACK=$AOCLhome/lib
SCALAPACK=$AOCLhome/lib
FFTW3=$AOCLhome
LIBRI=${LIBRI_ROOT}
LIBCOMM=${LIBCOMM_ROOT}
USE_CUDA=OFF # set ON to enable gpu-abacus
# NEP_DIR=$INSTALL_DIR/NEP_CPU-main
# LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch
# LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include
# DEEPMD=$HOME/apps/anaconda3/envs/deepmd
PREFIX="${ABACUS_DIR}"
LAPACK="${AOCLhome}/lib"
SCALAPACK="${AOCLhome}/lib"
FFTW3="${AOCLhome}"
LIBRI="${LIBRI_ROOT}"
LIBCOMM="${LIBCOMM_ROOT}"
USE_CUDA=OFF # set ON to enable gpu-abacus
# NEP_DIR="${INSTALL_DIR}/NEP_CPU-main"
# LIBTORCH="${INSTALL_DIR}/libtorch-2.1.2/share/cmake/Torch"
# LIBNPY="${INSTALL_DIR}/libnpy-1.0.1/include"
# DEEPMD="${HOME}/apps/anaconda3/envs/deepmd"

NUM_JOBS="$(nproc)"
while [[ $# -gt 0 ]]; do
case $1 in
case "${1}" in
-j)
if [[ -n "$2" && "$2" =~ ^[0-9]+$ ]]; then
if [[ -n "${2}" && "${2}" =~ ^[0-9]+$ ]]; then
NUM_JOBS="${2}"
shift 2
else
Expand All @@ -50,49 +50,54 @@ while [[ $# -gt 0 ]]; do
shift
;;
*)
echo "ERROR: Unsupported argument: $1" >&2
echo "Usage: $0 [-j N|-jN]" >&2
echo "ERROR: Unsupported argument: ${1}" >&2
echo "Usage: ${0} [-j N|-jN]" >&2
exit 1
;;
esac
done

cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_CXX_COMPILER=g++ \
-DMPI_CXX_COMPILER=mpicxx \
-DLAPACK_DIR=$LAPACK \
-DSCALAPACK_DIR=$SCALAPACK \
-DFFTW3_DIR=$FFTW3 \
-DENABLE_LCAO=ON \
-DENABLE_LIBXC=ON \
-DENABLE_OPENMP=ON \
-DENABLE_ELPA=ON \
-DENABLE_JSON=ON \
-DENABLE_LIBRI=ON \
-DLIBRI_DIR=$LIBRI \
-DLIBCOMM_DIR=$LIBCOMM \
-DUSE_CUDA=$USE_CUDA \
# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \
# -DNEP_DIR=$NEP_DIR \
# -DENABLE_MLALGO=1 \
# -DTorch_DIR=$LIBTORCH \
# -Dlibnpy_INCLUDE_DIR=$LIBNPY \
# -DDeePMD_DIR=$DEEPMD \
# -DENABLE_CUSOLVERMP=ON \
cmake_args=(
-B "${BUILD_DIR}"
-DCMAKE_INSTALL_PREFIX="${PREFIX}"
-DCMAKE_CXX_COMPILER=g++
-DMPI_CXX_COMPILER=mpicxx
-DLAPACK_DIR="${LAPACK}"
-DSCALAPACK_DIR="${SCALAPACK}"
-DFFTW3_DIR="${FFTW3}"
-DENABLE_LCAO=ON
-DENABLE_LIBXC=ON
-DENABLE_OPENMP=ON
-DENABLE_ELPA=ON
-DENABLE_JSON=ON
-DENABLE_LIBRI=ON
-DLIBRI_DIR="${LIBRI}"
-DLIBCOMM_DIR="${LIBCOMM}"
-DUSE_CUDA="${USE_CUDA}"
# -DNEP_DIR="${NEP_DIR}"
# -DTorch_DIR="${LIBTORCH}"
# -DDeePMD_DIR="${DEEPMD}"
# -DENABLE_MLALGO=1
# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc
# -Dlibnpy_INCLUDE_DIR="${LIBNPY}"
# -DENABLE_CUSOLVERMP=ON
)

cmake --build $BUILD_DIR --target install -j "${NUM_JOBS}"
cmake "${cmake_args[@]}"

cmake --build "${BUILD_DIR}" --target install -j "${NUM_JOBS}"

# generate abacus_env.sh
cat << EOF > "${TOOL}/abacus_env.sh"
cat <<EOF >"${TOOL}/abacus_env.sh"
#!/bin/bash
source $INSTALL_DIR/setup
source "${INSTALL_DIR}/setup"
export PATH="${PREFIX}/bin":\${PATH}
EOF

# generate information
cat << EOF
cat <<EOF
========================== usage =========================
Done!
To use the installed ABACUS version
You need to source ${TOOL}/abacus_env.sh first !
You need to source "${TOOL}/abacus_env.sh" first !
EOF
Loading
Loading