非 root 用户安装 miniconda3 (optional)

从中科大镜像下载最新的 miniconda3 文件

1
wget https://mirrors.ustc.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

加上执行权限

1
chmod +x Miniconda3-latest-Linux-x86_64.sh

运行

1
./Miniconda3-latest-Linux-x86_64.sh

根据提示进行 Miniconda3 的安装。

如果安装成功,可以使用以下命令查看关于 conda 的信息

1
which conda
1
conda info

根据安装的过程决定是否运行 conda 的初始化命令

1
/home/$USER/miniconda3/condabin/conda init

可以使用以下命令更新 conda 本体

1
conda update -n base -c conda-forge conda

非 root 用户安装 micromamba (optional)

micromamba 是一个 C++ 实现的 conda 替代品,使用方法基本与 conda 一致

直接运行命令安装 micromamba

1
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)

更新 micromamba

1
micromamba self-update

从源码安装 HOOMD

直接从 conda-forge 安装的 HOOMD 不支持 MPI 并行。想要安装并行版的 HOOMD,需要 build frome sourse

主要参考了 https://hoomd-blue.readthedocs.io/en/latest/building.html 的官方教程。

首先,新建一个虚拟环境 (以 hoomd5 为例)

1
conda create -c conda-forge -n hoomd5
1
micromamba create -c conda-forge -n hoomd5

激活该虚拟环境

1
conda activate hoomd5
1
micromamba activate hoomd5

openmpi 可能存在一些问题,建议使用 mpich

可以尝试在 conda 环境中删除 openmpi,然后安装 mpich

1
conda remove openmpi
1
conda install -c conda-forge mpich

下载前置的包

1
conda install -c conda-forge cmake cereal eigen git python numpy pybind11 mpich -y
1
micromamba install -c conda-forge cmake cereal eigen git python numpy pybind11 mpich -y

安装 HOOMD 本体

下载 HOOMD 源码,有两种方法,一种方法是使用 git (--recursive 是必要的)

1
git clone --recursive https://github.com/glotzerlab/hoomd-blue

如果之前已经 git clone 过了,可以拉取最新的源码

1
cd hoomd-blue
1
git pull --recurse-submodules

还有一种方法是直接在 https://hoomd-blue.readthedocs.io/en/latest/building.html#obtain-the-source 或者在 https://github.com/glotzerlab/hoomd-blue/releases 下载最新的打包好的源码。

1
wget https://github.com/glotzerlab/hoomd-blue/releases/download/v5.1.0/hoomd-5.1.0.tar.gz

解压缩

1
tar -zxvf hoomd-5.1.0.tar.gz

重命名,和上一种方法保持一致

1
mv hoomd-5.1.0 hoomd-blue

通过以上两种中的一种方式下载好源码之后,使用 cmake 进行 configure,启用 MPI (ENABLE_MPI=on)

确保已经进入 repo 文件夹

1
cd hoomd-blue

如果不使用 GPU,只使用 CPU 运行 HOOMD,可以使用以下命令编译 (ENABLE_GPU=off)

1
cmake -B build -S . -GNinja -DENABLE_MPI=on -DENABLE_GPU=off

如果需要使用 GPU 运行 HOOMD,可以使用以下命令编译 (ENABLE_GPU=on)

1
cmake -B build -S . -GNinja -DENABLE_MPI=on -DENABLE_GPU=on

使用 ninja 进行 build (其中 -j8 是并行编译的参数,可以省略或根据机器的实际情况填写合适的参数)

1
cd build
1
ninja -j8

使用 ninja 进行 install

1
ninja install

至此,从源码安装 HOOMD 告一段落。

测试 HOOMD 的 MPI 并行

创建 mpi_test.py 文件,内容如下

1
2
3
4
5
6
7
import os
import hoomd
print(hoomd.version.mpi_enabled)
device = hoomd.device.CPU()
rank = device.communicator.rank
pid = os.getpid()
print(f'Hello HOOMD-blue rank {rank} from process id {pid}')

运行测试命令:

1
mpirun -n 4 python3 mpi_test.py

如果能输出类似于下面的结果,则表明安装成功

1
2
3
4
5
6
7
8
True
True
True
True
Hello HOOMD-blue rank 3 from process id 11567
Hello HOOMD-blue rank 2 from process id 11566
Hello HOOMD-blue rank 0 from process id 11564
Hello HOOMD-blue rank 1 from process id 11565

其他常用的 package

运行以下命令安装其他常用的包

1
conda install -c conda-forge freud fresnel gsd matplotlib jupyter signac signac-flow coxeter rowan
1
micromamba install -c conda-forge freud fresnel gsd matplotlib jupyter signac signac-flow coxeter rowan

CHANGE LOG (v5.1.0)

  • 2025/03/15 加入了 micromamba 的描述; by Harry
  • 2025/01/10 改进了部分描述; by Harry
  • 2024/09/21 改进了部分描述; by Harry
  • 2024/04/09 更改对于可能出现的问题的解决方案; by Harry
  • 2024/04/06 加入 CUDA 安装方式; by 日华
  • 2024/04/03 重新加入对于可能出现的问题的解决方案; by Harry
  • 2024/03/22 大幅度改动; by Harry
  • 2024/03/19 优化部分 bug; by 时六
  • 2024/03/10 优化部分 bug; by 日华
  • 2024/01/03 优化部分 bug; by 时六
  • 2023/10/27 添加 GPU 前置和常用包安装选段; by 时六