charmmのdockerでのbuild
kfurui.iconT4用、apptainer
code:Dockerfile
# CHARMM Dockerfile with CUDA 11.8, OpenMPI, FFTW3, and Python (uv)
FROM nvidia/cuda:11.8.0-devel-ubuntu22.04
# Set environment variables to avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
ENV CUDA_HOME=/usr/local/cuda
ENV PATH=${CUDA_HOME}/bin:${PATH}
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
# Install system packages and build tools
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
gfortran \
wget \
curl \
git \
python3 \
python3-pip \
libopenmpi-dev \
openmpi-bin \
libfftw3-dev \
&& rm -rf /var/lib/apt/lists/*
# Install NVIDIA utilities for nvidia-smi (required for Apptainer)
# This installs nvidia-smi and related utilities
# Note: If a specific version is needed, check your host driver version:
# nvidia-smi --query-gpu=driver_version --format=csv,noheader
RUN apt-get update && \
(apt-get install -y --no-install-recommends nvidia-utils-535 2>/dev/null || \
apt-get install -y --no-install-recommends nvidia-utils 2>/dev/null || \
echo "Warning: nvidia-utils installation failed, nvidia-smi may not be available") && \
rm -rf /var/lib/apt/lists/*
# Install uv (Python package manager)
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.cargo/bin:${PATH}"
# Set working directory
WORKDIR /opt
# Copy CHARMM source code
COPY . /opt/charmm
# Create build directory and configure CHARMM with DOMDEC_GPU
RUN mkdir -p /opt/charmm-build && \
cd /opt/charmm-build && \
../charmm/configure \
--prefix=/usr/local \
--domdec_gpu
# Build CHARMM with reduced parallelism to avoid resource exhaustion
# Using -j4 instead of -j$(nproc) to prevent OOM and cancellation issues
RUN cd /opt/charmm-build && \
make -j4 && \
make install
# Set environment variables for runtime
ENV PATH=/usr/local/bin:${PATH}
ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/openmpi/lib:/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}
# Set default command
CMD "/bin/bash"
code:bash
docker build -t charmm-cuda11.8 .
apptainer build charmm-cuda11.8.cif docker-daemon://charmm-cuda11.8:latest