From 420e2a3ba0c8cc8392f539a887f6f21a4a46b688 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 16:43:42 +0800 Subject: [PATCH 01/10] refactor(scripts): Rename uncorrect FAST_MATH_* env to MATH_* --- toolchain/scripts/stage2/install_aocl.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/scripts/stage2/install_aocl.sh b/toolchain/scripts/stage2/install_aocl.sh index e085e9877f..eb23e25e09 100755 --- a/toolchain/scripts/stage2/install_aocl.sh +++ b/toolchain/scripts/stage2/install_aocl.sh @@ -80,9 +80,9 @@ export AOCL_ROOT="${pkg_install_dir}" export AOCL_CFLAGS="${AOCL_CFLAGS}" export AOCL_LDFLAGS="${AOCL_LDFLAGS}" export AOCL_LIBS="${AOCL_LIBS}" -export FAST_MATH_CFLAGS="\${FAST_MATH_CFLAGS} ${AOCL_CFLAGS}" -export FAST_MATH_LDFLAGS="\${FAST_MATH_LDFLAGS} ${AOCL_LDFLAGS}" -export FAST_MATH_LIBS="\${FAST_MATH_LIBS} ${AOCL_LIBS}" +export MATH_CFLAGS="\${FAST_MATH_CFLAGS} ${AOCL_CFLAGS}" +export MATH_LDFLAGS="\${FAST_MATH_LDFLAGS} ${AOCL_LDFLAGS}" +export MATH_LIBS="\${FAST_MATH_LIBS} ${AOCL_LIBS}" EOF fi From b7c6084c0fe07bd741cdf7c15312dc2d98e87b42 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 16:46:35 +0800 Subject: [PATCH 02/10] docs(toolchain): correct NEP description --- toolchain/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/README.md b/toolchain/README.md index 48cfe7d1be..0615daa659 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -193,7 +193,7 @@ Mix online and offline packages as needed - the toolchain automatically detects | LibComm | master | EXX calculations | GPL-3.0 | Install | | LibTorch | 2.1.2 / 1.12.1 | MLALGO support | BSD-3-Clause | Optional | | LibNPY | 1.0.1 / 1.0.1 | NumPy I/O | MIT | Optional | -| NEP | main | Neural network potential | MIT | Optional | +| NEP | main | Neuroevolution potential | MIT | Optional | Also, [Intel-oneAPI](https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html) and AMD [AOCC](https://www.amd.com/zh-cn/developer/aocc.html) and [AOCL](https://www.amd.com/zh-cn/developer/aocl.html) are supported in toolchain by setting them to system option, but one should install them manually by server administrator. From a649017d4166901e66298b1c246e7db227e0d038 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 16:57:57 +0800 Subject: [PATCH 03/10] fix(scripts): correct all FAST_MATH to MATH --- toolchain/scripts/stage2/install_aocl.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/scripts/stage2/install_aocl.sh b/toolchain/scripts/stage2/install_aocl.sh index eb23e25e09..c2c3b10e75 100755 --- a/toolchain/scripts/stage2/install_aocl.sh +++ b/toolchain/scripts/stage2/install_aocl.sh @@ -80,9 +80,9 @@ export AOCL_ROOT="${pkg_install_dir}" export AOCL_CFLAGS="${AOCL_CFLAGS}" export AOCL_LDFLAGS="${AOCL_LDFLAGS}" export AOCL_LIBS="${AOCL_LIBS}" -export MATH_CFLAGS="\${FAST_MATH_CFLAGS} ${AOCL_CFLAGS}" -export MATH_LDFLAGS="\${FAST_MATH_LDFLAGS} ${AOCL_LDFLAGS}" -export MATH_LIBS="\${FAST_MATH_LIBS} ${AOCL_LIBS}" +export MATH_CFLAGS="\${MATH_CFLAGS} ${AOCL_CFLAGS}" +export MATH_LDFLAGS="\${MATH_LDFLAGS} ${AOCL_LDFLAGS}" +export MATH_LIBS="\${MATH_LIBS} ${AOCL_LIBS}" EOF fi From d1d5b04af77300377bb112073aa40a940f1af3c6 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 19:55:56 +0800 Subject: [PATCH 04/10] =?UTF-8?q?fix:=20=E4=B8=8B=E8=BD=BD=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=97=B6=E5=88=A0=E9=99=A4=E4=B8=B4=E6=97=B6=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- toolchain/scripts/tool_kit.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toolchain/scripts/tool_kit.sh b/toolchain/scripts/tool_kit.sh index 15d97d3e2d..14eab2a7e2 100755 --- a/toolchain/scripts/tool_kit.sh +++ b/toolchain/scripts/tool_kit.sh @@ -956,6 +956,7 @@ download_pkg_from_url() { "strict") echo "Downloading with strict certificate validation: $__url" if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename"; then + rm -f "$__filename" report_error "failed to download $__url (strict certificate validation)" recommend_offline_installation "$__filename" "$__url" if [ "${PACK_RUN}" != "__TRUE__" ]; then @@ -966,6 +967,7 @@ download_pkg_from_url() { "skip") echo "Downloading with certificate validation disabled: $__url" if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename" --no-check-certificate; then + rm -f "$__filename" report_error "failed to download $__url" recommend_offline_installation "$__filename" "$__url" if [ "${PACK_RUN}" != "__TRUE__" ]; then @@ -981,6 +983,7 @@ download_pkg_from_url() { else echo "Certificate validation failed, retrying without certificate check..." if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename" --no-check-certificate; then + rm -f "$__filename" report_error "failed to download $__url (both secure and insecure attempts failed)" recommend_offline_installation "$__filename" "$__url" if [ "${PACK_RUN}" != "__TRUE__" ]; then From 668944046beb1f7fcce418d3715e981464a2a099 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 21:12:31 +0800 Subject: [PATCH 05/10] =?UTF-8?q?docs(toolchain):=20=E6=9B=B4=E6=96=B0LibT?= =?UTF-8?q?orch=E7=89=88=E6=9C=AC=E6=B3=A8=E9=87=8A=E5=B9=B6=E7=BB=9F?= =?UTF-8?q?=E4=B8=80MLALGO=E6=94=AF=E6=8C=81=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- toolchain/toolchain_aocc-aocl.sh | 4 +++- toolchain/toolchain_gcc-aocl.sh | 2 ++ toolchain/toolchain_gnu.sh | 1 + toolchain/toolchain_intel.sh | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/toolchain/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index 32a80fe177..ce2b85b0fd 100755 --- a/toolchain/toolchain_aocc-aocl.sh +++ b/toolchain/toolchain_aocc-aocl.sh @@ -39,7 +39,7 @@ WITH_RAPIDJSON="install" WITH_LIBRI="install" WITH_LIBCOMM="install" -# Optional Features (DeepKS support) +# Optional Features (MLALGO support) WITH_LIBTORCH="no" # Set to "install" for DeepKS support WITH_LIBNPY="no" # Set to "install" for DeepKS support WITH_NEP="no" @@ -71,7 +71,9 @@ CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: AOCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) # so OpenBLAS and ScaLAPACK version selections are not applicable diff --git a/toolchain/toolchain_gcc-aocl.sh b/toolchain/toolchain_gcc-aocl.sh index bd342a85ab..f148da0c22 100755 --- a/toolchain/toolchain_gcc-aocl.sh +++ b/toolchain/toolchain_gcc-aocl.sh @@ -68,7 +68,9 @@ CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: GCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) # so OpenBLAS and ScaLAPACK version selections are not applicable diff --git a/toolchain/toolchain_gnu.sh b/toolchain/toolchain_gnu.sh index df41de31fa..687c59e696 100755 --- a/toolchain/toolchain_gnu.sh +++ b/toolchain/toolchain_gnu.sh @@ -72,6 +72,7 @@ LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 SCALAPACK_VERSION="main" # main=2.2.2, alt=2.2.1 # Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # ============================================================================ # Execute Installation (DO NOT MODIFY BELOW THIS LINE) diff --git a/toolchain/toolchain_intel.sh b/toolchain/toolchain_intel.sh index acd6f38ead..73ce7ea33c 100755 --- a/toolchain/toolchain_intel.sh +++ b/toolchain/toolchain_intel.sh @@ -87,7 +87,9 @@ INTELMPI_CLASSIC="no" # Set to "yes" to use classic Intel MPI wrappers (mpiicc CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 ELPA_VERSION="alt" # main=2025.06.001, alt=2024.05.001 for intel oneapi<2024.2 LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: Intel toolchain uses MKL for math libraries (FFTW, ScaLAPACK) # so OpenBLAS, FFTW, and ScaLAPACK version selections are not applicable From 1919c650cf355aa769fe4378de7c24a17704737b Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 21:18:15 +0800 Subject: [PATCH 06/10] chore: update .gitignore to ignore .trae --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ebad4b553d..9f99297aca 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,5 @@ __pycache__ abacus.json *.npy toolchain/install/ -toolchain/abacus_env.sh \ No newline at end of file +toolchain/abacus_env.sh +.trae \ No newline at end of file From 9bc00c4b646a8b65b8763d039337be125d68a4b2 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 21:49:18 +0800 Subject: [PATCH 07/10] =?UTF-8?q?feat(=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2?= =?UTF-8?q?):=20=E5=9C=A8=E7=B3=BB=E7=BB=9F=E6=91=98=E8=A6=81=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0CPU=E5=9E=8B=E5=8F=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加CPU型号检测逻辑,通过lscpu或/proc/cpuinfo获取处理器信息并显示在系统摘要中,方便用户查看完整的硬件信息 --- toolchain/scripts/lib/user_interface.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/toolchain/scripts/lib/user_interface.sh b/toolchain/scripts/lib/user_interface.sh index c942379daa..2c18d7bf3f 100644 --- a/toolchain/scripts/lib/user_interface.sh +++ b/toolchain/scripts/lib/user_interface.sh @@ -690,6 +690,15 @@ ui_show_summary() { echo " ├─ Kernel: $(uname -r)" echo " ├─ glibc: $(ui_get_glibc_version)" echo " ├─ CPU Cores: $(nproc 2>/dev/null || echo "unknown")" + # CPU model detection + local cpu_model="unknown" + if command -v lscpu &> /dev/null; then + cpu_model=$(LC_ALL=C lscpu | awk -F: '/^Model name/{print $2}' | sed 's/^[[:space:]]*//') + fi + if [[ -z "$cpu_model" || "$cpu_model" == "unknown" ]] && [[ -r /proc/cpuinfo ]]; then + cpu_model=$(awk -F: '/model name|Hardware|Processor/{print $2; exit}' /proc/cpuinfo | sed 's/^[[:space:]]*//') + fi + echo " ├─ CPU Model: ${cpu_model}" if command -v free &> /dev/null; then local mem_gb=$(free -g | awk '/^Mem:/ {print $2}') echo " ├─ Memory: ${mem_gb}GB" From 14b3e3da86c25627f0ff6c47d6f65532015ee535 Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 21:53:56 +0800 Subject: [PATCH 08/10] =?UTF-8?q?docs(toolchain):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=9A=84=E7=BC=96=E8=AF=91=E5=99=A8=E5=8F=8A?= =?UTF-8?q?=E7=89=B9=E6=80=A7=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新README中关于GNU、Intel和AMD工具链的编译器要求及特性描述,使其更准确 --- toolchain/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/toolchain/README.md b/toolchain/README.md index 0615daa659..8727e7f35d 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -151,21 +151,21 @@ Mix online and offline packages as needed - the toolchain automatically detects ## Supported Toolchains ### GNU Toolchain -- **Compilers**: System GCC (≥5.0) +- **Compilers**: System GCC (≥5.0) or installed GCC - **MPI**: OpenMPI or MPICH - **Math**: OpenBLAS + ScaLAPACK - **Features**: Most stable, widely compatible ### Intel Toolchain -- **Compilers**: Intel OneAPI (icx/icpx/ifx or classic icc/icpc/ifort) +- **Compilers**: Intel OneAPI (icx/icpx/ifx or classic icc/icpc/ifort) with system/installed GCC (≥5.0) - **MPI**: Intel MPI - **Math**: Intel MKL -- **Features**: Optimized performance, EXX support +- **Features**: Optimized performance for Intel Machine ### AMD Toolchain -- **Compilers**: AMD AOCC or GCC +- **Compilers**: AMD AOCC or system/installed GCC - **Math**: AMD AOCL (Optimized math libraries) -- **Features**: AMD processor optimization +- **Features**: AMD processor optimization (e.g., Zen3+) ## Dependencies From 288bc62d9d11768ac4593e4ce68fd5e0aef9245a Mon Sep 17 00:00:00 2001 From: QuantumMisaka Date: Mon, 20 Oct 2025 22:17:49 +0800 Subject: [PATCH 09/10] refactor(toolchain): refine the comments of the main scripts and mark removal of origin scripts in the future. --- toolchain/install_abacus_toolchain.sh | 21 +-------------------- toolchain/install_abacus_toolchain_new.sh | 7 +++---- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/toolchain/install_abacus_toolchain.sh b/toolchain/install_abacus_toolchain.sh index 910927ded6..19fe2328ab 100755 --- a/toolchain/install_abacus_toolchain.sh +++ b/toolchain/install_abacus_toolchain.sh @@ -1,30 +1,11 @@ #!/bin/bash -e -# TODO: Review and if possible fix shellcheck errors. +# TODO: Remove this deprecated script in the future. # shellcheck disable=all [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")" && pwd -P)" -# +---------------------------------------------------------------------------+ -# | ABACUS: (Atomic-orbital Based Ab-initio Computation at UStc) | -# | -- an open-source package based on density functional theory(DFT) | -# | Copyright 2004-2022 ABACUS developers group | -# | | -# | | -# | SPDX-License-Identifier: GPL-2.0-or-later | -# +---------------------------------------------------------------------------+ -# -# -# ***************************************************************************** -#> \brief This script will compile and install or link existing tools and -#> libraries ABACUS depends on and generate setup files that -#> can be used to compile and use ABACUS -#> \history Created on Friday, 2023/08/18 -# Update for Intel (18.08.2023, MK) -#> \author Zhaoqing Liu (Quantum Misaka) quanmisaka@stu.pku.edu.cn -# ***************************************************************************** - # ------------------------------------------------------------------------ # Work directories and used files # ------------------------------------------------------------------------ diff --git a/toolchain/install_abacus_toolchain_new.sh b/toolchain/install_abacus_toolchain_new.sh index 6669c87dc3..c16aaf30e8 100755 --- a/toolchain/install_abacus_toolchain_new.sh +++ b/toolchain/install_abacus_toolchain_new.sh @@ -1,15 +1,14 @@ #!/bin/bash -e # ============================================================================ -# ABACUS Toolchain Installation Script (New Version - Enhanced UI) +# ABACUS Toolchain Installation Script (New refractored version) # ============================================================================ # This is the new refactored version of the ABACUS toolchain installation script. -# It provides the same functionality as the original script but with improved -# modularity, maintainability, extensibility, and beautiful terminal output. +# It provides the most main functionality as the original script but with +# improved modularity, maintainability, extensibility, and beautiful terminal output. # # Author: Quantum Misaka by Trae SOLO # Date: 2025-10-16 -# Enhanced: Beautiful terminal UI with harmonious color scheme # ============================================================================ # Set script name for error reporting From f6d6a5c6d929f9161b887c5b32319cd18a06e8ba Mon Sep 17 00:00:00 2001 From: JamesMisaka Date: Mon, 20 Oct 2025 23:47:02 +0800 Subject: [PATCH 10/10] docs(toolchain): modify and add comments for libtorch --- toolchain/toolchain_aocc-aocl.sh | 5 +++-- toolchain/toolchain_gcc-aocl.sh | 1 + toolchain/toolchain_gnu.sh | 1 + toolchain/toolchain_intel.sh | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/toolchain/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index ce2b85b0fd..edfe1f20ae 100755 --- a/toolchain/toolchain_aocc-aocl.sh +++ b/toolchain/toolchain_aocc-aocl.sh @@ -40,8 +40,8 @@ WITH_LIBRI="install" WITH_LIBCOMM="install" # Optional Features (MLALGO support) -WITH_LIBTORCH="no" # Set to "install" for DeepKS support -WITH_LIBNPY="no" # Set to "install" for DeepKS support +WITH_LIBTORCH="no" +WITH_LIBNPY="no" WITH_NEP="no" # AMD Compiler Options @@ -73,6 +73,7 @@ ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 # Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 # Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: AOCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) diff --git a/toolchain/toolchain_gcc-aocl.sh b/toolchain/toolchain_gcc-aocl.sh index f148da0c22..7a21670ab9 100755 --- a/toolchain/toolchain_gcc-aocl.sh +++ b/toolchain/toolchain_gcc-aocl.sh @@ -70,6 +70,7 @@ ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 # Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 # Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: GCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) diff --git a/toolchain/toolchain_gnu.sh b/toolchain/toolchain_gnu.sh index 687c59e696..23176722b4 100755 --- a/toolchain/toolchain_gnu.sh +++ b/toolchain/toolchain_gnu.sh @@ -72,6 +72,7 @@ LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 SCALAPACK_VERSION="main" # main=2.2.2, alt=2.2.1 # Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 # Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # ============================================================================ diff --git a/toolchain/toolchain_intel.sh b/toolchain/toolchain_intel.sh index 73ce7ea33c..29138b6e5a 100755 --- a/toolchain/toolchain_intel.sh +++ b/toolchain/toolchain_intel.sh @@ -89,6 +89,7 @@ ELPA_VERSION="alt" # main=2025.06.001, alt=2024.05.001 for intel oneapi< LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 # Optional Libraries LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 # Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA # Note: Intel toolchain uses MKL for math libraries (FFTW, ScaLAPACK)