Cấu hình GPU NVIDIA A100 cho AlphaFold3 trên Ubuntu 22.04: Hướng dẫn thực tế và tối ưu hệ thống

Khi triển khai AlphaFold3 trên phần cứng GPU hiệu năng cao như NVIDIA A100, việc chỉ cắm card và chạy không đủ — cần một chuỗi cấu hình đồng bộ từ lớp kernel đến môi trường thực thi. Bài viết này trình bày quy trình thiết lập đầy đủ trên Ubuntu 22.04 LTS, tập trung vào các bước thiết yếu và những điểm dễ gây lỗi mà tài liệu chính thức thường bỏ qua.

1. Chuẩn bị hệ thống cơ sở

Trước khi cài đặt driver hoặc framework, hãy đảm bảo hệ điều hành đã được cập nhật và cấu hình phù hợp với công việc tính toán nặng:

sudo apt update && sudo apt full-upgrade -y
sudo apt install -y build-essential dkms linux-headers-$(uname -r) \
  software-properties-common apt-transport-https ca-certificates curl \
  gnupg lsb-release wget unzip

Sau đó, điều chỉnh các thông số kernel để tối ưu hóa I/O và quản lý bộ nhớ cho khối lượng dữ liệu lớn:

echo 'vm.swappiness=5' | sudo tee -a /etc/sysctl.conf
echo 'vm.dirty_ratio=50' | sudo tee -a /etc/sysctl.conf
echo 'vm.dirty_background_ratio=5' | sudo tee -a /etc/sysctl.conf
echo 'fs.file-max = 2000000' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Với hệ thống có RAM ≥64 GB, giá trị swappiness thấp giúp giảm phụ thuộc vào swap, duy trì dữ liệu trong RAM nhanh hơn.

2. Kiểm tra và lựa chọn phiên bản driver phù hợp

A100 yêu cầu driver NVIDIA phiên bản ≥515.65.01 để hỗ trợ đầy đủ tính năng Ampere như FP64, Tensor Core và NVLink. Thay vì dùng ubuntu-drivers autoinstall, nên kiểm tra thủ công:

nvidia-smi --query-gpu=name,uuid,driver_version --format=csv

Nếu chưa có driver hoặc phiên bản quá cũ, tải trực tiếp từ trang chủ NVIDIA:

cd /tmp
wget https://us.download.nvidia.com/tesla/535.129.03/NVIDIA-Linux-x86_64-535.129.03.run
sudo chmod +x NVIDIA-Linux-x86_64-535.129.03.run
sudo ./NVIDIA-Linux-x86_64-535.129.03.run --no-opengl-files --no-x-check --silent

Cờ --no-opengl-files tránh xung đột với X server trong môi trường headless (thường dùng cho máy chủ tính toán), còn --silent đảm bảo cài đặt không bị gián đoạn.

3. Thiết lập CUDA và cuDNN cho AlphaFold3

AlphaFold3 yêu cầu CUDA 12.1 trở lên và cuDNN 8.9.x. Không nên dùng phiên bản từ kho mặc định của Ubuntu — hãy tải và cài thủ công:

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run --silent --toolkit --override

# Cài cuDNN qua gói .deb
wget https://developer.download.nvidia.com/compute/redist/cudnn/v8.9.7/local_installers/12.1/cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get install -y libcudnn8=8.9.7.29-1+cuda12.1

Cập nhật biến môi trường trong ~/.bashrc:

echo 'export PATH="/usr/local/cuda-12.1/bin:$PATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc

4. Kiểm tra hoạt động GPU với container nhẹ

Sử dụng image nvidia/cuda:12.1.1-base-ubuntu22.04 để xác minh khả năng truy cập GPU từ container — bước then chốt trước khi chạy AlphaFold3 trong môi trường Docker hoặc Singularity:

docker run --rm --gpus all nvidia/cuda:12.1.1-base-ubuntu22.04 \
  nvidia-smi --query-gpu=index,name,temperature.gpu,utilization.gpu --format=csv

Kết quả thành công sẽ hiển thị thông tin chi tiết của A100, bao gồm nhiệt độ và mức sử dụng GPU — chứng tỏ stack driver → CUDA → container runtime đã hoạt động liền mạch.

Thẻ: ubuntu2204 nvidia-a100 alphafold3 cuda12 cudnn8

Đăng vào ngày 21 tháng 6 lúc 09:35