Skip to content

Instantly share code, notes, and snippets.

@codedeep79
Created October 4, 2025 02:43
Show Gist options
  • Select an option

  • Save codedeep79/f0fc16318d60c1752834a61d54634c01 to your computer and use it in GitHub Desktop.

Select an option

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
#!/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