

Workloads Included as Part of Velocity Bench: The available benchmark workloads in Velocity Bench cover different use case scenarios and exercise different aspects of the underlying hardware. 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. For compute and execution time measurements, a consistent methodology (begin-to-end time) is used. Some workloads in Velocity Bench measure time, while others measure throughput or other metrics. Of course, further opportunities for changes and optimizations always exist. This includes the use of equivalent algorithms, libraries, and input data types. CUDA on Nvidia GPU).Įnsuring that all versions of the individual benchmark workloads are optimized to the same degree is a key focus of ongoing Velocity Bench development. Thus, we can look at platform performance using native platform programming languages as well as multiarchitecture programming models (e.g., SYCL vs. Additionally, with SYCL’s open backend, workloads can be extended to support other types of accelerators moving forward. The suite has 15 workloads each is available in SYCL, HIP, and CUDA to allow for runs on Intel, AMD, and Nvidia GPUs using the different programming models. We just released in open source Velocity Bench, a benchmark suite of optimized workloads to help solve the problem of benchmark portability and applicability across different platform configurations.

Velocity Bench: Simplify GPU Performance Assessment To achieve this, the suite must be capable of running on most environments, using similar program structure, algorithms, datasets, timing mechanisms, and levels of optimization. Is targeted for multiple parallel programming models (e.g.Has representative applications or workloads covering multiple domains like HPC, ML/DL, and data analytics.Provides objective GPU offload performance data across compute domains, environments, and hosts, as well as target compute architectures.We are driving towards a suite that helps to enable fair comparisons. Identifying a set of benchmark workloads applicable to multiple GPUs and accelerators is the goal the Velocity Bench GitHub project is setting for itself. The most likely scenario is that these versions use different algorithms, optimization levels, datasets, and measurement mechanisms such as timers and iterations.
#Software benchmark gpu code
If you search for a good reference benchmark that is representative of your code base, you may find various versions for different environments. This makes an apples-to-apples comparison for your specific use case challenging. They usually assess the performance of one specific platform and infrastructure combination. Numerous benchmarks are available in the open source community, academia, and vendor-specific repositories. Even worse, sometimes they report metrics having similar names but with different interpretations. Often the data is collected and computed using different methodologies. Most vendors have their own set of tools that report different performance information using different names.
#Software benchmark gpu software
This makes it difficult for developers to assess and characterize device performance for their software workloads and determine which platform or language is the best target for application development and deployment. Many compute domains such as ML/DL, data analytics, video/imaging, high-performance computing (HPC), healthcare, science, enterprise, and other industries.įor each compute domain, the common platform and programming model combination may perform differently.Differing programming infrastructures such as libraries, optimization tools, analyzers, and debuggers.Multiple programming languages that support these platforms-some are based on open standards and others are proprietary, vendor-specific language extensions and solutions.Varying heterogeneous platforms leveraging CPUs, GPUs, FPGAs, ASICs, and other specialized accelerators.Many computational scenarios for data-parallel applications exist today. We look forward to your active participation on GitHub, making this an active cooperative continuously improving project. The intent is to provide a solution for fair performance comparison across GPU platforms and parallel programming languages.

In this article, we are introducing you to Velocity Bench, a new open source benchmark suite that provides a set of workloads spanning across various industry domains. Sharad Tripathi, Senior Principal Engineer Benchmark Suite for Performance Insights across Multiple Platform Combinations
