Performance
Review performance benchmarks, memory requirements, and scaling characteristics for NIM for BGR.
Benchmark Metric
The primary benchmark metric is the average time per atom per optimization step:
- P: Time per atom per optimization step
- T: Total time to perform optimization of all structures in the dataset
- N: Number of structures
- Ai: Number of atoms in structure i
- Si: Number of steps required to optimize structure i
This metric normalizes performance across workloads where both the atom count and the number of optimization steps vary by structure.
Batch Size Estimation
At startup, NIM for BGR 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 and the OMat24 dataset.
Performance varies based on structure size, model type, and whether cell optimization is enabled. Choose a representative dataset (for example, bulk crystals or isolated molecules) when estimating throughput for your workload.
Model Characteristics
Different machine learning interatomic potential (MLIP) models exhibit varying computational characteristics. MACE is the default, bundled model. TensorNet and AIMNet2 generally offer faster inference and lower memory usage.
Scaling Considerations
The following factors influence the overall throughput and resource utilization of NIM for BGR:
- Multi-GPU scaling: NIM for BGR automatically distributes work across all available GPUs, with each GPU maintaining its own batch queue.
- Structure size: Larger structures require more memory per structure, which reduces the effective batch size.
- Cell optimization: Enabling cell optimization adds stress tensor calculations and slightly increases computational cost.
- DFT-D3 corrections: Dispersion corrections add modest overhead to each evaluation.
Benchmark Environment
The following parameters define the benchmark reference environment: