Neighbor List Benchmark Results#
This directory contains pre-computed benchmark results for different neighbor list algorithms on various GPU hardware.
File Naming Convention#
Results are stored in CSV files with the following naming pattern:
neighbor_list_benchmark_<method>_<gpu_sku>.csv
Where:
<method>: The neighbor list algorithm (naive,cell_list,batch_naive,batch_cell_list)<gpu_sku>: GPU identifier (e.g.,rtx_a3000_laptop_gpu,a100_sxm4_80gb)
Running Benchmarks#
To generate new benchmark results:
cd benchmarks/neighborlist
python benchmark_neighborlist.py --config benchmark_config.yaml --output-dir ../../docs/benchmarks/benchmark_results
Command Line Options#
--config: Path to YAML configuration file (required)--output-dir: Output directory for CSV files (default:../../docs/benchmarks/benchmark_results)--methods: Specific methods to benchmark (e.g.,--methods naive cell_list)--gpu-sku: Override GPU SKU name for output files
Examples#
Run all benchmarks:
python benchmark_neighborlist.py --config benchmark_config.yaml
Run only specific methods:
python benchmark_neighborlist.py --config benchmark_config.yaml --methods naive cell_list
Override GPU SKU name:
python benchmark_neighborlist.py --config benchmark_config.yaml --gpu-sku custom_gpu_name
CSV Format#
Each CSV file contains the following columns:
method: Algorithm nametotal_atoms: Total number of atoms in the systematoms_per_system: Atoms per system (for batch methods)total_neighbors: Total number of neighbor pairs foundbatch_size: Batch size (1 for single-system methods)median_time_us: Median execution time in microsecondssuccess: Whether the benchmark completed successfully (optional)error: Error message if benchmark failed (optional)error_type: Error type (e.g., “OOM”, “Timeout”) if failed (optional)
Visualization#
The Sphinx documentation automatically discovers and visualizes all CSV files in this directory. See the benchmarks section of the documentation for interactive plots and comparisons.