NVIDIA/nvbench

Add example showing how to parse additional arguments

开放

#87 创建于 2022年5月10日

 (6 条评论) (0 个反应) (0 位负责人)Cuda (115 个派生)auto 404
P2: nice to havearea: examplesgood first issuetype: enhancement

仓库指标

星标
 (914 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Several users have asked about how to add custom arguments to their benchmarks (e.g. #86).

This is done by implementing an application specific main(argc, argv) function and linking to the nvbench::nvbench CMake target instead of nvbench::main. The custom main will need to parse out additional arguments, and then use the macros defined in main.cuh to parse the remaining args and run NVBench. Something like:

int main(int argc, char** argv)
{
  // parse custom args and remove them from (or rebuild) argc/argv here
  
  NVBENCH_MAIN_BODY(argc, argv);
}

A singleton or some global state is then needed to communicate the custom options to the benchmarks.

We should add an example that shows how to do this.

贡献者指南