手机网站吧射阳网页定制
2026/3/13 2:39:15 网站建设 项目流程
手机网站吧,射阳网页定制,中国企业网是国企吗,小企业建站系统某些场景下需要在节点上同时部署openmpi和mpich#xff0c;根据需要决定使用哪种。此时若有一种方法可以进行轻松切换则会极其便捷。 故而文中方法应运而生 文件 1#xff1a;配置文件 路径#xff1a;/etc/mpi-manager/mpi.conf MPI_IMPLEMENTATIONopenmpi文件 2#…某些场景下需要在节点上同时部署openmpi和mpich根据需要决定使用哪种。此时若有一种方法可以进行轻松切换则会极其便捷。故而文中方法应运而生文件 1配置文件路径/etc/mpi-manager/mpi.confMPI_IMPLEMENTATIONopenmpi文件 2自动加载脚本路径/etc/profile.d/mpi.sh# /etc/profile.d/mpi.sh - Auto MPI loader (Default: OpenMPI) # 读取配置 [[ -f /etc/mpi-manager/mpi.conf ]] source /etc/mpi-manager/mpi.conf || MPI_IMPLEMENTATIONopenmpi # 检测架构并映射到模块名 case $(uname -m) in x86_64) ARCHx86_64 ;; aarch64|arm64) ARCHaarch64 ;; ppc64le) ARCHppc64le ;; ppc64) ARCHppc64 ;; s390x) ARCHs390x ;; riscv64) ARCHriscv64 ;; *) ARCHx86_64 ;; esac # 模块映射表 case ${MPI_IMPLEMENTATION}_${ARCH} in mpich_x86_64) MODULEmpi/mpich-x86_64 ;; mpich_aarch64) MODULEmpi/mpich-aarch64 ;; mpich_ppc64le) MODULEmpi/mpich-ppc64le ;; mpich_ppc64) MODULEmpi/mpich-ppc64 ;; mpich_s390x) MODULEmpi/mpich-s390x ;; mpich_riscv64) MODULEmpi/mpich-riscv64 ;; openmpi_x86_64) MODULEmpi/openmpi-x86_64 ;; openmpi_aarch64) MODULEmpi/openmpi-aarch64 ;; openmpi_ppc64le) MODULEmpi/openmpi-ppc64le ;; openmpi_ppc64) MODULEmpi/openmpi-ppc64 ;; openmpi_s390x) MODULEmpi/openmpi-s390x ;; openmpi_riscv64) MODULEmpi/openmpi-riscv64 ;; mpich_*) MODULEmpi/mpich ;; openmpi_*) MODULEmpi/openmpi ;; *) MODULEmpi/openmpi ;; esac # 加载模块如果module命令可用 if command -v module /dev/null 21; then module purge /dev/null 21 module load $MODULE /dev/null 21 || echo MPI module $MODULE not available fi # 设置基本变量 export MPI_IMPL$MPI_IMPLEMENTATION export MPI_ARCH$ARCH export MPI_MODULE$MODULE # 便利命令 mpi-status() { echo MPI: $MPI_IMPL ($MPI_ARCH) echo Module: $MODULE command -v module /dev/null 21 module list | grep -i mpi || echo Module command not available }文件 3设置工具路径/usr/local/bin/mpi-set#!/bin/bash # Set MPI implementation if [[ $# -ne 1 ]] || [[ $1 ! mpich $1 ! openmpi ]]; then echo Usage: $0 {mpich|openmpi} current$(grep MPI_IMPLEMENTATION /etc/mpi-manager/mpi.conf 2/dev/null | cut -d -f2) echo Current: ${current:-openmpi} exit 1 fi echo MPI_IMPLEMENTATION$1 /etc/mpi-manager/mpi.conf echo MPI set to: $1 echo New logins will use $1 automatically文件 4安装脚本路径/usr/local/sbin/install-mpi-manager#!/bin/bash # One-step robust installation (Default: OpenMPI) set -e # 创建文件 sudo mkdir -p /etc/mpi-manager echo MPI_IMPLEMENTATIONopenmpi | sudo tee /etc/mpi-manager/mpi.conf /dev/null # 创建自动加载脚本 sudo tee /etc/profile.d/mpi.sh /dev/null EOF # /etc/profile.d/mpi.sh - Auto MPI loader (Default: OpenMPI) [[ -f /etc/mpi-manager/mpi.conf ]] source /etc/mpi-manager/mpi.conf || MPI_IMPLEMENTATIONopenmpi case $(uname -m) in x86_64) ARCHx86_64 ;; aarch64|arm64) ARCHaarch64 ;; ppc64le) ARCHppc64le ;; ppc64) ARCHppc64 ;; s390x) ARCHs390x ;; riscv64) ARCHriscv64 ;; *) ARCHx86_64 ;; esac case ${MPI_IMPLEMENTATION}_${ARCH} in mpich_x86_64) MODULEmpi/mpich-x86_64 ;; mpich_aarch64) MODULEmpi/mpich-aarch64 ;; mpich_ppc64le) MODULEmpi/mpich-ppc64le ;; mpich_ppc64) MODULEmpi/mpich-ppc64 ;; mpich_s390x) MODULEmpi/mpich-s390x ;; mpich_riscv64) MODULEmpi/mpich-riscv64 ;; openmpi_x86_64) MODULEmpi/openmpi-x86_64 ;; openmpi_aarch64) MODULEmpi/openmpi-aarch64 ;; openmpi_ppc64le) MODULEmpi/openmpi-ppc64le ;; openmpi_ppc64) MODULEmpi/openmpi-ppc64 ;; openmpi_s390x) MODULEmpi/openmpi-s390x ;; openmpi_riscv64) MODULEmpi/openmpi-riscv64 ;; mpich_*) MODULEmpi/mpich ;; openmpi_*) MODULEmpi/openmpi ;; *) MODULEmpi/openmpi ;; esac if command -v module /dev/null 21; then module purge /dev/null 21 module load $MODULE /dev/null 21 || echo MPI module $MODULE not available fi export MPI_IMPL$MPI_IMPLEMENTATION export MPI_ARCH$ARCH export MPI_MODULE$MODULE mpi-status() { echo MPI: $MPI_IMPL ($MPI_ARCH) echo Module: $MODULE command -v module /dev/null 21 module list | grep -i mpi || echo Module command not available } EOF # 创建设置工具 sudo tee /usr/local/bin/mpi-set /dev/null EOF #!/bin/bash if [[ $# -ne 1 ]] || [[ $1 ! mpich $1 ! openmpi ]]; then echo Usage: $0 {mpich|openmpi} current$(grep MPI_IMPLEMENTATION /etc/mpi-manager/mpi.conf 2/dev/null | cut -d -f2) echo Current: ${current:-openmpi} exit 1 fi echo MPI_IMPLEMENTATION$1 /etc/mpi-manager/mpi.conf echo MPI set to: $1 EOF # 设置权限 sudo chmod 644 /etc/mpi-manager/mpi.conf /etc/profile.d/mpi.sh sudo chmod 755 /usr/local/bin/mpi-set echo Installation completed! (Default: OpenMPI) echo Config: /etc/mpi-manager/mpi.conf echo Current: $(grep MPI_IMPLEMENTATION /etc/mpi-manager/mpi.conf) echo echo Usage: echo mpi-set mpich # Switch to MPICH echo mpi-set openmpi # Switch to OpenMPI (default) echo source /etc/profile echo mpi-status文件 5卸载脚本可选路径/usr/local/sbin/uninstall-mpi-manager#!/bin/bash sudo rm -f /etc/mpi-manager/mpi.conf sudo rm -f /etc/profile.d/mpi.sh sudo rm -f /usr/local/bin/mpi-set echo Uninstalled安装和使用安装sudo /usr/local/sbin/install-mpi-manager切换 MPI 实现sudo mpi-set mpich # 切换到 MPICH sudo mpi-set openmpi # 切换到 OpenMPI默认生效和使用# 新登录自动生效默认 OpenMPI # 当前 shell 生效 source /etc/profile # 查看状态 mpi-status

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询