Sunday, July 21, 2024

Velocity Bench is an Open Source Benchmark For GPU Performance

Velocity Bench is an open-source benchmark suite designed to provide a solution for fair performance comparison across GPU platforms and parallel programming languages. It aims to address the current dilemma faced by developers in assessing and characterizing device performance for their software workloads, as well as determining the best platform and language for application development and deployment.

Velocity Bench: Simplify GPU Performance Assessment

The suite includes a set of optimized workloads spanning different industry domains such as HPC, ML/DL, data analytics, imaging, cryptography, and more. It covers various use case scenarios and exercises different aspects of the underlying hardware. The workloads are available in SYCL, HIP, and CUDA, allowing runs on Intel, AMD, and Nvidia GPUs using different programming models. The suite is designed to run on most environments, promoting fair and objective performance comparisons.

Some workloads in Velocity Bench measure time, while others measure throughput or other metrics. For compute and execution time measurements, a consistent methodology (begin-to-end time) is used. Time for external I/O and data-verification is excluded from the performance data collection because it could vary depending on the available hardware device and device drivers.

Some of the included workloads in Velocity Bench are

  1. Reverse Time Migration (RTM): A seismic imaging method used in the oil and gas industry to map surface reflectivity using seismic waveforms.
  2. HashTable: A compute and HPC workload that provides a hash table search implementation using a lock-free algorithm with linear probing.
  3. QuickSilver: A workload representing key elements of the Mercury workload, solving a simplified Monte Carlo particle-transport problem.
  4. easyWave: A tsunami wave simulator tool used for researching tsunami generation and wave propagation.
  5. LC0: A deep learning workload based on Leela Chess Zero, a reinforced learning-based chess engine.
  6. DL-CIFAR: A deep learning workload that classifies images from the CIFAR-10 dataset using neural networks.
  7. DL-MNIST: A deep learning workload that recognizes digits based on the MNIST digits database.
  8. SAM: A workload that performs acoustic wave propagation for a 2D sub-surface earth model.
  9. CudaSift: A vision and compute workload that implements the SIFT algorithm for detecting and matching local features in images.
  10. TSNE: A big data and cloud workload that uses t-SNE for data exploration and visualization by reducing data dimensions.
  11. BitCracker: A security and cryptography workload that attempts to crack passwords encrypted with BitLocker using a dictionary attack.
  12. ETHMiner: A cryptocurrency mining workload specifically for Ethash-based cryptocurrencies like Ethereum.
  13. SVM: A classical machine learning workload based on Support Vector Machines for data classification and regression analysis.
  14. Sobel Filter: An imaging and compute workload that applies the Sobel filter for RGB-to-grayscale image conversion.
  15. HP LINPACK: A compute and system workload that calculates a device’s rate of execution using libraries and GEMM calls to solve dense systems of linear equations.

The Velocity Bench suite encourages contributions and optimization ideas from the community. It aims to provide a comprehensive collection of benchmark workloads that can be continuously improved and expanded. Users are invited to download the suite, run the workloads on their targeted platform setups, and provide feedback on their experiences, including the performance of offload compute on different GPUs. Suggestions for additional workloads that are currently missing from Velocity Bench are also welcomed.

To contribute, users can engage with the project on GitHub, where they can provide feedback, make repository contributions, suggest optimizations, and participate in the ongoing development and improvement of the benchmark suite.


Recent Posts

Popular Post Would you like to receive notifications on latest updates? No Yes