Skip to content

1-rambo/GPUmark

Repository files navigation

GPUMark

GPUMark is a GPU benchmarking software based on WebGPU, consisting of approximately 2000 lines of TypeScript code and 500 lines of Python code for automated testing. This project is a migration of two native benchmarking programs, vkmark and vkpeak, forming a comprehensive benchmarking tool that is open-sourced for public use.

Project Overview

GPUMark consists of two main components:

  1. Image Rendering Tests: Migrated from vkmark, with results measured in frames per second (FPS).
  2. General Compute Tests: Migrated from vkpeak, with results measured in floating-point operations per second (FLOPS) or integer operations per second (IOPS).

By comparing the migrated WebGPU benchmarking scenes with the original vkmark scenes, it is evident that the migrated results closely match the original, demonstrating the effectiveness of the migration.

Directory Structure

  • data/: Contains models and textures required for testing.
  • dist/: Output directory for built files, including runnable HTML and JavaScript.
  • output/: Stores test result files.
  • release/: Main code for the release version.
  • src/: TypeScript source code directory.
    • computes/: Code related to general compute tests.
    • scenes/: Code related to image rendering tests.
    • shaders/: WebGPU shader code.
    • utils/: Utility functions.
  • package.json: Project dependencies and scripts configuration.
  • webpack.config.js: Webpack build configuration file.

Build and Run

Build the Project

npm install
npx webpack

Test Locally

Start a local server in the project root directory, open dist/index.html, and follow the instructions on the page to perform the tests.

Test Results

After running the tests with GPUMark, the results are reported as follows:

  • Image Rendering Tests: Measured in frames per second (FPS).
  • General Compute Tests: Measured in floating-point operations per second (FLOPS) or integer operations per second (IOPS).

Example Comparison

The following example compares the final scene of the image rendering tests:

  • The left side shows the original vkmark rendering scene.
  • The right side shows the migrated WebGPU version rendering scene.
  • The comparison demonstrates that the migrated WebGPU benchmarking scenes closely match the original vkmark scenes, validating the effectiveness of the migration.

We welcome users to utilize GPUMark for testing and provide feedback on their experience!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published