vgpu-bench

A suite to test and bench vector graphic rendering techniques (mostly on the GPU) and export analytics.

APACHE-2.0 License

Stars
10

vgpu-bench

A benchmarking framework, specifically with a focus on hardware-accelerated graphical applications.

Motivation & Research

This project focuses on benchmarking hardware-accelerated renderering approaches to export useful metrics and information for the field of 2D vector graphics. Moreover, this project can be used as a framework to provide metrics for use in a wider scope of research regarding hardware-accelerated applications. The subject matter has been documented in Spencer C. Imbleau's thesis work in partial fulfillment of a Master of Science degree in Computer Science.

Quick Start

  • cargo run --example simple

Installation

Requirements:

Operating System

  • Ubuntu 20.04 (other distros may work)
  • Windows 10

(Optional) GPU Metric Sampling

  • Graphics card
    • NVIDIA Turing architecture or later
  • Minimum driver version:
    • NVIDIA Turing architecture TU10x, TU11x - r440
    • NVIDIA Ampere architecture GA100 - r450
    • NVIDIA Ampere architecture GA100 MIG - r470 TRD1
    • NVIDIA Ampere architecture GA10x - r455

Dependencies

  • Rust
  • NVIDIA NSight-Systems
  • Ubuntu 20.04
    • sudo apt install libgtk-3-dev
  • Windows
    • You'll have to figure this out for yourself right now...

Install

  • Clone: git clone [email protected]:simbleau/vgpu-bench.git
  • Build: cargo build (--release to receive accurate benchmark data)

Goal

The goal is to create an extensible and uniform benching framework which is capable of benchmarking hardware-accelerated applications with support for GPU metric sampling out of the box. Currently this is achieved by automatically augmenting GPU tracer annotations on benchmark function closures. The framework is designed to be cross-platform and able to run on recent GPUs, but currently only NVIDIA is supported.

License

This project is dual-licensed under both Apache 2.0 and MIT licenses.