NVIDIA / NVIDIA/nvbench

Add option to add plain text description to a benchmark declaration

Open
#12 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue P2: nice to have type: enhancement
Dominant language
Cuda
Stars
927
Forks
123
Avg merge
2d 10h
Merged PRs (30d)
2

Description

One of my favorite things about Catch2 is that you can provide a plain text, human readable description with each test.

TEST_CASE( "Factorials are computed", "[factorial]" ) {
    REQUIRE( Factorial(1) == 1 );
    REQUIRE( Factorial(2) == 2 );
    REQUIRE( Factorial(3) == 6 );
    REQUIRE( Factorial(10) == 3628800 );
}

It would be nice to extend this idea to benchmark declaration.

Taking from the example project, this could look something like:

NVBENCH_BENCH("Benchmarks sleep across a range of values", sleep_benchmark)
    .add_int64_axis("Duration (us)", nvbench::range(0, 100, 5))
    .set_timeout(1); // Limit to one second per measurement.

or it could be an additional member to the builder:

NVBENCH_BENCH(sleep_benchmark)
    .add_int64_axis("Duration (us)", nvbench::range(0, 100, 5))
    .set_timeout(1) // Limit to one second per measurement.
    .description("Benchmarks sleep across a range of values");

This description could then be included when doing things like --list.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the NVBENCH_BENCH declaration and builder examples in the issue, then trace the existing --list behavior. Add a plain-text description option and include that description in the listed benchmark output, covering either proposed declaration style.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.