
O encaixe é um trabalho de produtividade. As GPUs fazem sentido quando você prepara entradas limpas e executa muitas réplicas em paralelo. Este guia mostra como executar o encaixe de GPU, agrupar milhares de ligantes e rastrear custo por 10k ligantes.
Na maioria dos locatários de GPU, seu trabalho funciona dentro de uma imagem. Dois caminhos que funcionam bem:
A) Use um modelo CUDA e ferramentas de encaixe de montagem (simples)
B) Traga sua própria imagem (mais rápida de reutilizar)
NVIDIA_VISIBLE_DEVICES=Todosnvidia_driver_capabilities=Computação, utilitário/trabalhoe espera (ou inicia o lote).Você faz não precisa do Docker‑in‑Docker em geral, pois seu provedor passa o driver do host para seu contêiner.
Layout do diretório
/trabalho
─ receptor/
│ ─ proteína.pdbqt
│ ─ grid/ # mapas e configuração
── ligantes/
│ ─ L000001.pdbQt
│ ─ L000002.pdbQt
│ ─...
── postos de trabalhos/
─ (saídas aqui)
Receptor
Ligantes
Esse esqueleto executa ligantes em pequenos pedaços, mantém a GPU alimentada e grava registros que você pode analisar posteriormente. Substitua o DOCK_CMD com a chamada exata da sua ferramenta (Autodock‑GPU, Vina‑GPU, Uni‑Dock etc.).
#! /usr/bin/env bash
set -euo pipefail
LIG_DIR=$ {1: -ligantes}
OUT_DIR=$ {2: -jobs}
N_PAR=$ {3: -8} # processos simultâneos por GPU (ajuste)
mkdir -p “$OUT_DIR”
# Edite isso em seu comando de encaixe. Exemplos de espaços reservados:
# autodock_gpu --receptor rígido/proteína. pdbqt --ffile receptor/grid/maps.fld\
<ligand.pdbqt># --lfile --center_x... --centro_y... --centro_z... --tamanho_x... --tamanho_y... --tamanho_z... \
<out.pdbqt># --exhaustivity 8 --out --log <out.log>
DOCK_CMD () {:;}
exportação -f DOCK_CMD
ls “$LIG_DIR” /*.pdbqt | awk '{print NR, $0}' | enquanto lia idx lig; faça
base=$ (nome base “$lig” .pdbqt)
out="$out_dir/$base”
mkdir -p “$out”
(
DOCK_CMD “$lig” “$out” >"$out/run.log” 2>&1 || echo “FAIL $base” >> “$OUT_DIR/failures.txt”
) &
# acelerador simples
if (($ (jobs -rp | wc -l) >= N_PAR)); então espere -n; fi
concluído
esperar
echo “Feito. Saídas em $OUT_DIR/”
Ajustando N_PAR
nvidia-smi para memória e utilização.Se sua instância tiver Sem GPUs, inicie um lote por GPU e fixe cada grupo de processos:
# GPU 0
CUDA_VISIBLE_DEVICES=0 bash dock_batch.sh ligantes jobs/gpu0 8 &
# GPU 1
CUDA_VISIBLE_DEVICES=1 bash dock_batch.sh ligantes jobs/gpu1 8 &
esperar
Mantenha as saídas separadas por GPU para facilitar a auditoria.
Registre somente o que importa:
entradas: N_ligantes, receptor, grade (centro/tamanho), exaustividade/semente
hardware: modelo de GPU/VRAM, CUDA, driver
código: versão da ferramenta de encaixe + sinalizadores
métricas: ligantes/hora, falhas, wall_hours
Custo por 10k ligantes
custo_por_10k = preço_por_hora × horas_parede × (10_000/ N_ligantes)
Relatório ligantes/hora e custo por 10k por GPU. Mantenha a linha de comando completa em seus Métodos.
SALA DE GPU
Diminua o N_PAR, reduza a exaustividade ou mude para uma GPU de VRAM maior.
Todos os trabalhos falham rapidamente
Grade incorreta ou sinalizadores incompatíveis. Execute novamente um único ligante com registro detalhado e compare com uma execução de CPU em boas condições.
Pontuações ou poses estranhas
Diferenças de preparação de entrada (protonação/tautômeros/cargas). Normalize sua preparação e teste em um pequeno conjunto selecionado.
GPU ociosa
N_PAR muito baixo ou a ferramenta tem longos estágios de pré/pós-processamento da CPU. Paralelize as grades de preparação ou pré-estágio.
hardware:
gpu: "<model>(<VRAM>GB)”
motorista: "<NVIDIA driver>”
<CUDA version>cuda: "”
software:
imagem: "<your docking image or CUDA template>”
<ver><ver>ferramenta: “Autodock-GPU | Vina-GPU <ver>| Uni-Dock”
entradas:
receptor: “protein.pdbqt”
grade: {center: [<x>,<y>,<z>], tamanho: [<sx>,<sy>,<sz>]}
<path>ligantes: “N=<... > de”
executar:
lote:
script: "dock_batch.sh”
N_PAR: <int>
<exhaustiveness, seed, etc.>bandeiras: “”
saídas:
ligantes_por_hora: “<... >”
wall_hours: “<... >”
custo_por_10k: “<... >”
falhas: "<count>(<file path>)”
Inicie uma instância de GPU com um modelo pronto para CUDA (por exemplo, Ubuntu 24.04 LTS/CUDA 12.6) ou sua própria imagem GROMACS. Aproveite o faturamento flexível por segundo com modelos personalizados e a capacidade de iniciar, interromper e retomar suas sessões a qualquer momento. Não tem certeza sobre os requisitos do FP64? Entre em contato com o suporte para ajudá-lo a selecionar o perfil de hardware ideal para suas necessidades computacionais.