非 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 的信息
根据安装的过程决定是否运行 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
从源码安装 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 micromamba activate hoomd5
openmpi
可能存在一些问题,建议使用
mpich
。
可以尝试在 conda 环境中删除 openmpi
,然后安装
mpich
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 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 文件夹
如果不使用 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
是并行编译的参数,可以省略或根据机器的实际情况填写合适的参数)
使用 ninja
进行 install
至此,从源码安装 HOOMD 告一段落。
测试 HOOMD 的 MPI 并行
创建 mpi_test.py
文件,内容如下
1 2 3 4 5 6 7 import osimport hoomdprint (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 时六