Performance Tuning#
Guidelines for large datasets and expensive simulations.
Data loading#
preload: trueReuse HDF5 cache across runs with identical preprocessing hash.
compressed: trueShare static fields across frames of the same stoichiometry.
max_memoryIncrease HDF5 cache (GB) for random-access heavy workloads.
num_workersDataloader parallelism; increase until CPU saturates; watch memory.
data_in_memoryLoad full training set into RAM — fast but memory-intensive.
Training#
batch_sizeLargest value that fits GPU memory.
dtype: float32Default for speed;
float64for numerical experiments.neighbor_list: full(precomputed)Faster epochs if memory allows; otherwise on-the-fly lists.
lightning: trueMulti-GPU training when single-process
cudais insufficient.
Simulation#
dtype: float64vsfloat32Optimization and NEB often need
float64; MD may usefloat32if stable.cuda: trueGPU inference for ML calculator; external QC still runs on its own resources.
log_intervalReduce trajectory I/O frequency for long MD.
Neighbor list memory#
Full neighbor lists scale as \(O(N^2)\). For large enzyme clusters:
Use
compressedin training dataAvoid storing redundant frames
Consider smaller QM fragment training sets via extract/annotate rather than full-cluster every step
When to use server mode#
listen amortizes model load cost over hundreds of short requests (e.g. ORCA optimization loops). For one-off batch predict, use enerzyme predict.