Performance
Review performance benchmarks, memory requirements, and scaling characteristics for NIM for BMD.
Benchmark Metric
The primary benchmark metric is the average time per molecular dynamics (MD) step per atom:
- P: Time per step per atom
- T: Total wall-clock time
- N: Number of atoms
- S: Number of simulation steps
This metric normalizes performance across system sizes and facilitates throughput comparison.
Batch Size Estimation
At startup, NIM for BMD automatically estimates the optimal batch size for each GPU by running benchmark calculations with representative structures.
Example Batch Size Estimation Logs
Performance Results
The following benchmarks use the MACE-MPA-0 model for NVT simulations.
Performance varies based on system size, model type, ensemble, and save interval. Choose a representative dataset (for example, bulk crystals or isolated molecules) when estimating throughput for your specific workload.
Model Characteristics
Different machine learning interatomic potential (MLIP) models exhibit varying computational characteristics. MACE-MPA-0 is the default model and is downloaded from Hugging Face at container startup. TensorNet and AIMNet2 generally offer faster inference and lower memory usage.
Ensemble Characteristics
Different ensembles introduce varying computational overhead.
Scaling Considerations
- System size: Larger systems typically achieve better GPU utilization, which improves time-per-atom efficiency.
- Multi-GPU: The NIM automatically distributes work across all available GPUs.
- Trajectory output: High-frequency trajectory saving (a small
save_interval) can cause an I/O bottleneck during fast simulations. - Barostat frequency: For NPT simulations,
barostat_everycontrols the frequency of cell move attempts. Higher values reduce overhead.
Memory Requirements
Memory usage scales with the system size. The following approximate values apply to MACE models:
Memory requirements vary based on model architecture, cell size, neighbor list size, and system density.