<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://qiyou7.github.io//feed.xml" rel="self" type="application/atom+xml" /><link href="https://qiyou7.github.io//" rel="alternate" type="text/html" /><updated>2026-03-22T12:23:23+00:00</updated><id>https://qiyou7.github.io//feed.xml</id><title type="html">Qi You</title><subtitle>Website of the Qi You at Xiamen Univerisity</subtitle><entry><title type="html">Lammps Installation</title><link href="https://qiyou7.github.io//2026/01/04/LAMMPS-Installation.html" rel="alternate" type="text/html" title="Lammps Installation" /><published>2026-01-04T00:00:00+00:00</published><updated>2026-01-04T00:00:00+00:00</updated><id>https://qiyou7.github.io//2026/01/04/LAMMPS-Installation</id><content type="html" xml:base="https://qiyou7.github.io//2026/01/04/LAMMPS-Installation.html"><![CDATA[<h1 id="compile-lammps-and-deepmd-kit-on-hpc">Compile LAMMPS and DeepMD-kit on HPC</h1>

<p>The workflow is divided into four main stages:</p>

<ol>
  <li>Compile <strong>LAMMPS (stable_23Jun2022_update4)</strong> via CMake with QTB and SHOCK enabled.</li>
  <li>Create a compatible <strong>Conda environment with TensorFlow GPU support</strong>.</li>
  <li>Build <strong>DeepMD-kit 2.2.9</strong> and link it as a LAMMPS plugin.</li>
  <li>Configure environment variables correctly for runtime on HPC.</li>
</ol>

<p>The steps are as follows.</p>

<!-- References — Tutorials -->
<div style="background-color:#f9f9f9; padding:14px; border-radius:10px; margin-bottom:18px; border-left:6px solid #364CC7;">
  <h3 style="margin:0 0 6px 0; font-size:20px; font-weight:600;">References — Tutorials</h3>
  <ol style="padding-left:18px; margin:0; font-size:16px;">
    <li style="font-size:16px;">
      <a href="https://wiki.cheng-group.net/wiki/software_installation/deepmd-kit/deepmd-kit_installation_new/#deepmd-kit_1" style="font-size:16px;">
        https://wiki.cheng-group.net/wiki/software_installation/deepmd-kit/deepmd-kit_installation_new/#deepmd-kit_1
      </a>
    </li>
    <li style="font-size:16px;">
      <a href="https://chiahsinchu.github.io/blog/2023/dp-install/" style="font-size:16px;">
        https://chiahsinchu.github.io/blog/2023/dp-install/
      </a>
    </li>
    <li style="font-size:16px;">
      <a href="https://docs.deepmodeling.com/projects/deepmd/en/master/install/install-lammps.html" style="font-size:16px;">
        https://docs.deepmodeling.com/projects/deepmd/en/master/install/install-lammps.html
      </a>
    </li>
  </ol>
</div>

<!-- References — Related -->
<div style="background-color:#f9f9f9; padding:14px; border-radius:10px; margin-bottom:18px; border-left:6px solid #364CC7;">
  <h3 style="margin:0 0 6px 0; font-size:20px; font-weight:600;">References — Related</h3>
  <ol style="padding-left:18px; margin:0; font-size:16px;">
    <li><a href="https://docs.lammps.org/fix_msst.html" style="font-size:16px;">fix msst command</a></li>
    <li><a href="https://docs.lammps.org/fix_qtb.html" style="font-size:16px;">fix qtb command</a></li>
    <li><a href="https://docs.lammps.org/fix_qbmsst.html" style="font-size:16px;">fix qbmsst command</a></li>
    <li><a href="https://github.com/sheyua/LAMMPS-QTB/tree/master" style="font-size:16px;">LAMMPS-QTB Repo</a></li>
  </ol>
</div>

<hr />

<h2 id="1-create-and-activate-conda-environment">1. Create and Activate Conda Environment</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda create <span class="nt">-n</span> dp-qtb <span class="nv">python</span><span class="o">=</span>3.10.13 <span class="s2">"tensorflow=2.10.*=gpu*"</span>  
conda activate dp-qtb

pip <span class="nb">install</span> <span class="nt">--upgrade</span> pip
pip <span class="nb">install </span>tensorflow scikit-build ninja
pip <span class="nb">install </span><span class="nv">protobuf</span><span class="o">==</span>3.19
</code></pre></div></div>

<hr />

<h2 id="2-create-activation--deactivation-scripts">2. Create Activation / Deactivation Scripts</h2>

<p>Generate empty files:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> <span class="nv">$CONDA_PREFIX</span>/etc/conda/activate.d
<span class="nb">mkdir</span> <span class="nt">-p</span> <span class="nv">$CONDA_PREFIX</span>/etc/conda/deactivate.d
<span class="nb">touch</span> <span class="nv">$CONDA_PREFIX</span>/etc/conda/activate.d/activate.sh
<span class="nb">touch</span> <span class="nv">$CONDA_PREFIX</span>/etc/conda/deactivate.d/deactivate.sh
</code></pre></div></div>

<p>Edit <code class="language-plaintext highlighter-rouge">activate.sh</code>:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vi <span class="nv">$CONDA_PREFIX</span>/etc/conda/activate.d/activate.sh
</code></pre></div></div>

<p>Then, copy the script below into activate.sh. Please verify that the installed GCC and CUDA versions are compatible for successful compilation.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">TMP_LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$LD_LIBRARY_PATH</span>                              
<span class="nb">export </span><span class="nv">TMP_PATH</span><span class="o">=</span><span class="nv">$PATH</span>

module load cmake/3.27.9-gcc-9.3.0-hnclq4h
module load cuda/11.3
module load gcc/9.3.0
module load mpi/2021.5.0

<span class="nb">export </span><span class="nv">CC</span><span class="o">=</span><span class="sb">`</span>which gcc<span class="sb">`</span>
<span class="nb">export </span><span class="nv">CXX</span><span class="o">=</span><span class="sb">`</span>which g++<span class="sb">`</span>
<span class="nb">export </span><span class="nv">FC</span><span class="o">=</span><span class="sb">`</span>which gfortran<span class="sb">`</span>
<span class="nb">export </span><span class="nv">DP_VARIANT</span><span class="o">=</span>cuda

<span class="nb">export </span><span class="nv">deepmd_source_dir</span><span class="o">=</span>/data/qyou/software/deepmd-kit/deepmd-kit_2.2.9
<span class="nb">export </span><span class="nv">tensorflow_root</span><span class="o">=</span><span class="nv">$deepmd_source_dir</span>/build/tensorflow_root
<span class="nb">export </span><span class="nv">deepmd_root</span><span class="o">=</span><span class="nv">$deepmd_source_dir</span>/build/deepmd_root
<span class="nb">export </span><span class="nv">LAMMPS_PLUGIN_PATH</span><span class="o">=</span><span class="nv">$deepmd_root</span>/lib/deepmd_lmp
<span class="nb">export </span><span class="nv">LAMMPS_PREFIX</span><span class="o">=</span>/data/user/software/lammps-stable_23Jun2022_update4
<span class="nb">export </span><span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$tensorflow_root</span>/lib:<span class="nv">$deepmd_root</span>/lib:/data/user/conda/env/dp-qtb/lib:<span class="nv">$LD_LIBRARY_PATH</span>
<span class="nb">export </span><span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$CONDA_PREFIX</span>/lib:<span class="nv">$CONDA_PREFIX</span>/lib/python3.10/site-packages/tensorflow:<span class="nv">$deepmd_root</span>/lib:<span class="nv">$LD_LIBRARY_PATH</span>
<span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$CONDA_PREFIX</span>/bin:<span class="nv">$LAMMPS_PREFIX</span>/build:<span class="nv">$PATH</span>
</code></pre></div></div>

<p>Edit <code class="language-plaintext highlighter-rouge">deactivate.sh</code>:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vi <span class="nv">$CONDA_PREFIX</span>/etc/conda/deactivate.d/deactivate.sh
</code></pre></div></div>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>module unload cmake/3.27.9-gcc-9.3.0-hnclq4h
module unload cuda/11.3
module unload gcc/9.3.0
module unload mpi/2021.5.0

<span class="nb">unset </span>deepmd_source_dir tensorflow_root deepmd_root LAMMPS_PLUGIN_PATH DP_VARIANT

<span class="nb">export </span><span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$TMP_LD_LIBRARY_PATH</span>
<span class="nb">unset </span>TMP_LD_LIBRARY_PATH

<span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$TMP_PATH</span>
<span class="nb">unset </span>TMP_PATH
</code></pre></div></div>

<p>Exit the environment:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda deactivate
</code></pre></div></div>
<hr />

<h2 id="3-download-lammps-and-deepmd-kit">3. Download LAMMPS and DeepMD-kit</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wget https://github.com/lammps/lammps/archive/refs/tags/stable_23Jun2022_update4.tar.gz
<span class="nb">tar</span> <span class="nt">-xvzf</span> stable_23Jun2022_update4.tar.gz
</code></pre></div></div>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone <span class="nt">--recursive</span> https://github.com/deepmodeling/deepmd-kit.git deepmd-kit_2.2.9 <span class="nt">-b</span> v2.2.9
</code></pre></div></div>

<hr />

<h2 id="4-load-required-modules-lammps-build">4. Load Required Modules (LAMMPS Build)</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>module load cmake/3.27.9-gcc-9.3.0-hnclq4h
module load cuda/11.3
module load gcc/9.3.0
module load mpi/2021.5.0  <span class="c"># ⚠ Must match DeepMD MPI version!</span>

<span class="nb">export </span><span class="nv">CC</span><span class="o">=</span><span class="si">$(</span>which gcc<span class="si">)</span>
<span class="nb">export </span><span class="nv">CXX</span><span class="o">=</span><span class="si">$(</span>which g++<span class="si">)</span>
<span class="nb">export </span><span class="nv">FC</span><span class="o">=</span><span class="si">$(</span>which gfortran<span class="si">)</span>
</code></pre></div></div>

<hr />

<h2 id="5-configure-and-install-lammps-via-cmake">5. Configure and Install LAMMPS via CMake</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /data/qyou/software/lammps-stable_23Jun2022_update4
<span class="nb">mkdir</span> <span class="nt">-p</span> build <span class="o">&amp;&amp;</span> <span class="nb">cd </span>build
</code></pre></div></div>

<p>Run the CMake command below to configure the compilers, enable MPI/OMP, and build LAMMPS with required packages.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cmake ../cmake <span class="nt">-DCMAKE_C_COMPILER</span><span class="o">=</span>gcc <span class="nt">-DCMAKE_CXX_COMPILER</span><span class="o">=</span>g++ <span class="se">\</span>
      <span class="nt">-DCMAKE_Fortran_COMPILER</span><span class="o">=</span>gfortran <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">BUILD_MPI</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> <span class="nv">BUILD_OMP</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> <span class="nv">LAMMPS_MACHINE</span><span class="o">=</span>intel_cpu_intelmpi <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">=</span>/data/qyou/software/lammps-stable_23Jun2022_update4 <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">CMAKE_INSTALL_LIBDIR</span><span class="o">=</span>lib <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">CMAKE_INSTALL_FULL_LIBDIR</span><span class="o">=</span>/data/qyou/software/lammps-stable_23Jun2022_update4/lib <span class="se">\</span>
      <span class="nt">-C</span> ../cmake/presets/most.cmake <span class="nt">-C</span> ../cmake/presets/nolib.cmake <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">PKG_PLUGIN</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> <span class="nv">PKG_MOLECULE</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> <span class="nv">PKG_RIGID</span><span class="o">=</span><span class="nb">yes</span> <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">PKG_KSPACE</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> PKG_EXTRA-DUMP<span class="o">=</span><span class="nb">yes</span> <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">PKG_QTB</span><span class="o">=</span><span class="nb">yes</span> <span class="nt">-D</span> <span class="nv">PKG_SHOCK</span><span class="o">=</span><span class="nb">yes</span> <span class="se">\</span>
      <span class="nt">-D</span> <span class="nv">BUILD_SHARED_LIBS</span><span class="o">=</span><span class="nb">yes

</span>make <span class="nt">-j32</span>
make <span class="nb">install</span>
</code></pre></div></div>

<p>✔ LAMMPS executable generated: <code class="language-plaintext highlighter-rouge">lmp_intel_cpu_intelmpi</code></p>

<hr />

<h2 id="6-build-deepmd-kit-core-library-on-gpu-machine">6. Build DeepMD-kit Core Library (on GPU Machine)</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh 191
conda activate dp-qtb
</code></pre></div></div>

<p>Prepare directories:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> <span class="nv">$tensorflow_root</span> <span class="nv">$deepmd_root</span>
</code></pre></div></div>

<p>Install source in editable mode:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> <span class="nv">$deepmd_source_dir</span>
pip <span class="nb">install</span> <span class="nt">-e</span> <span class="nb">.</span>
</code></pre></div></div>

<p>Compile DeepMD:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> <span class="nv">$deepmd_source_dir</span>/source/build
<span class="nb">rm</span> <span class="nt">-rf</span> <span class="k">*</span>

cmake <span class="nt">-DUSE_CUDA_TOOLKIT</span><span class="o">=</span>ON <span class="se">\</span>
      <span class="nt">-DENABLE_TENSORFLOW</span><span class="o">=</span>TRUE <span class="se">\</span>
      <span class="nt">-DUSE_TF_PYTHON_LIBS</span><span class="o">=</span>TRUE <span class="se">\</span>
      <span class="nt">-DENABLE_PYTORCH</span><span class="o">=</span>TRUE <span class="se">\</span>
      <span class="nt">-DCAFFE2_USE_CUDNN</span><span class="o">=</span>TRUE <span class="se">\</span>
      <span class="nt">-DCMAKE_INSTALL_PREFIX</span><span class="o">=</span><span class="nv">$deepmd_root</span> <span class="se">\</span>
      <span class="nt">-DLAMMPS_SOURCE_ROOT</span><span class="o">=</span><span class="nv">$LAMMPS_PREFIX</span> ..

make <span class="nt">-j20</span>
make <span class="nb">install</span>
</code></pre></div></div>

<p>✔ Plugin generated under: <code class="language-plaintext highlighter-rouge">$deepmd_root/lib/deepmd_lmp/</code></p>

<hr />

<h2 id="7-create-a-stub-tensorflow_root-to-help-cmake-locate-tf-libraries">7. Create a Stub <code class="language-plaintext highlighter-rouge">tensorflow_root</code> to Help CMake Locate TF Libraries</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> <span class="nv">$tensorflow_root</span>/lib <span class="o">&amp;&amp;</span> <span class="nb">cd</span> <span class="nv">$tensorflow_root</span>

<span class="nb">ln</span> <span class="nt">-s</span> /data/qyou/conda/env/dp-qtb/lib/python3.10/site-packages/tensorflow/include <span class="nb">.</span>

<span class="nb">cd </span>lib
<span class="nb">ln</span> <span class="nt">-s</span> /data/qyou/conda/env/dp-qtb/lib/python3.10/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so libtensorflow_cc.so
<span class="nb">ln</span> <span class="nt">-s</span> /data/qyou/conda/env/dp-qtb/lib/python3.10/site-packages/tensorflow/libtensorflow_framework.so.2 <span class="nb">.</span>
<span class="nb">ln</span> <span class="nt">-s</span> libtensorflow_framework.so.2 libtensorflow_framework.so
</code></pre></div></div>

<hr />

<h2 id="8-test-lammps--deepmd-plugin">8. Test LAMMPS + DeepMD Plugin</h2>

<p>Run:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>lmp_intel_cpu_intelmpi <span class="nt">-h</span>
</code></pre></div></div>

<p>Example LAMMPS input snippet:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>variable        deepmd_root     string /data/qyou/software/deepmd-kit/deepmd-kit_2.2.9/build/deepmd_root
plugin load     ${deepmd_root}/lib/libdeepmd_lmp.so
pair_style      deepmd ${path_of_mlp}
pair_coeff      * *   O  H
</code></pre></div></div>
<hr />

<h2 id="9-slurm-script">9. Slurm Script</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#!/bin/bash</span>
<span class="c">#SBATCH -N 1</span>
<span class="c">#SBATCH --ntasks-per-node=4</span>
<span class="c">#SBATCH -J iceIh</span>
<span class="c">#SBATCH --partition=gpu1,gpu2,gpu3 </span>
<span class="c">#SBATCH --gres=gpu:1</span>

<span class="c"># add modulefiles</span>
module load miniconda/3
module load mpi/2021.5.0
<span class="nb">source </span>activate dp-qtb
<span class="nb">export </span><span class="nv">TF_INTER_OP_PARALLELISM_THREADS</span><span class="o">=</span>3
<span class="nb">export </span><span class="nv">TF_INTRA_OP_PARALLELISM_THREADS</span><span class="o">=</span>2
<span class="nb">export </span><span class="nv">OMP_NUM_THREADS</span><span class="o">=</span>2
lmp_intel_cpu_intelmpi <span class="nt">-i</span> lmp-qbmsst.inp                             
</code></pre></div></div>]]></content><author><name></name></author><summary type="html"><![CDATA[Compile LAMMPS and DeepMD-kit on HPC]]></summary></entry><entry><title type="html">Welcome To My Page</title><link href="https://qiyou7.github.io//2025/03/11/welcome-to-my-page.html" rel="alternate" type="text/html" title="Welcome To My Page" /><published>2025-03-11T00:00:00+00:00</published><updated>2025-03-11T00:00:00+00:00</updated><id>https://qiyou7.github.io//2025/03/11/welcome-to-my-page</id><content type="html" xml:base="https://qiyou7.github.io//2025/03/11/welcome-to-my-page.html"><![CDATA[]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry></feed>