Created
October 4, 2025 02:43
-
-
Save codedeep79/f0fc16318d60c1752834a61d54634c01 to your computer and use it in GitHub Desktop.
Script Bash tự động cài MPI (MPICH hoặc OpenMPI) trên mọi distro Linux
This file contains hidden or 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
| #!/usr/bin/env bash | |
| # Script cài MPI (OpenMPI hoặc MPICH) trên mọi distro Linux | |
| # Dùng: ./mpi.sh [openmpi|mpich] | |
| # Nếu không truyền tham số => mặc định cài OpenMPI | |
| set -e | |
| MPI_IMPL=${1:-openmpi} # openmpi hoặc mpich | |
| echo "🔍 Phát hiện distro Linux..." | |
| if [ -f /etc/os-release ]; then | |
| . /etc/os-release | |
| distro=$ID | |
| else | |
| echo "❌ Không thể phát hiện distro!" | |
| exit 1 | |
| fi | |
| echo "👉 Distro: $distro" | |
| echo "👉 Cài đặt MPI: $MPI_IMPL" | |
| case "$distro" in | |
| ubuntu|debian) | |
| sudo apt update | |
| if [ "$MPI_IMPL" = "mpich" ]; then | |
| echo "📦 Cài MPICH..." | |
| sudo apt install -y mpich libmpich-dev | |
| else | |
| echo "📦 Cài OpenMPI..." | |
| sudo apt install -y openmpi-bin libopenmpi-dev | |
| fi | |
| ;; | |
| centos|rhel) | |
| if [ "$MPI_IMPL" = "mpich" ]; then | |
| echo "📦 Cài MPICH..." | |
| sudo yum install -y mpich mpich-devel | |
| else | |
| echo "📦 Cài OpenMPI..." | |
| sudo yum install -y openmpi openmpi-devel | |
| fi | |
| ;; | |
| fedora) | |
| if [ "$MPI_IMPL" = "mpich" ]; then | |
| echo "📦 Cài MPICH..." | |
| sudo dnf install -y mpich mpich-devel | |
| else | |
| echo "📦 Cài OpenMPI..." | |
| sudo dnf install -y openmpi openmpi-devel | |
| fi | |
| ;; | |
| arch|manjaro) | |
| sudo pacman -Syu --noconfirm | |
| if [ "$MPI_IMPL" = "mpich" ]; then | |
| echo "📦 Cài MPICH..." | |
| sudo pacman -S --noconfirm mpich | |
| else | |
| echo "📦 Cài OpenMPI..." | |
| sudo pacman -S --noconfirm openmpi | |
| fi | |
| ;; | |
| *) | |
| echo "⚠️ Distro chưa được hỗ trợ trực tiếp." | |
| echo "Bạn có thể tự cài bằng package manager của mình." | |
| exit 1 | |
| ;; | |
| esac | |
| echo "✅ Hoàn tất cài đặt MPI ($MPI_IMPL)!" | |
| which mpirun || echo "❌ Không tìm thấy mpirun trong PATH." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment