Kernel Configuration

July 16, 2026 ยท View on GitHub

OpenDDE has a safe PyTorch path and optional GPU kernels.

LayerNorm

Default:

export LAYERNORM_TYPE=torch

Optional CUDA LayerNorm:

export LAYERNORM_TYPE=fast_layernorm

Use torch for CPU, debugging, or environments where CUDA extension compilation is unavailable.

Triangle kernels

Both triangle attention and triangle multiplication support:

ValueMeaning
autoUse cuEquivariance when available, otherwise PyTorch.
cuequivarianceForce cuEquivariance GPU kernels.
torchForce PyTorch fallback.

CLI flags:

opendde pred \
  --triatt_kernel auto \
  --trimul_kernel auto

Four-GPU Fold-CP limitation

The current official cuEquivariance release does not support OpenDDE's four-GPU Fold-CP path. Four-GPU inference must therefore force the PyTorch triangle kernels:

--triatt_kernel torch --trimul_kernel torch

This limitation applies to four-GPU Fold-CP only. Single-GPU inference may continue to use auto or cuequivariance.

Compatibility run

LAYERNORM_TYPE=torch opendde pred \
  -i examples/input.json \
  -o ./output \
  -n opendde_v1 \
  --use_msa false \
  --use_template false \
  --use_rna_msa false \
  --triatt_kernel torch \
  --trimul_kernel torch \
  --sample 1 \
  --step 200 \
  --cycle 10 \
  --dtype fp32