nvbench icon indicating copy to clipboard operation
nvbench copied to clipboard

Enable CUPTI for CTK <= 11.2.

Open alliepiper opened this issue 4 years ago • 2 comments

There are some compilation errors with CUPTI from CTK 11.2:

FAILED: nvbench/CMakeFiles/nvbench.dir/cupti_profiler.cxx.o
/home/av/code/utils/ccache-install/bin/g++ -DFMT_LOCALE -Dnvbench_EXPORTS -I/home/av/code/src/nvbench -I/home/av/code/build/nvbench-ctk_11.2 -I/home/av/code/build/nvbench-ctk_11.2/_deps/fmt-src/include -I/home/av/code/build/nvbench-ctk_11.2/nvbench/detail -isystem /usr/local/cuda_11.2.0_460.22/include -isystem /usr/local/cuda_11.2.0_460.22/extras/CUPTI/include -isystem /home/av/code/build/nvbench-ctk_11.2/_deps/nlohmann_json-src/include -O3 -DNDEBUG -fPIC -Wall -Wextra -Wconversion -Woverloaded-virtual -Wcast-qual -Wpointer-arith -Wunused-parameter -Wvla -Werror -std=gnu++1z -MD -MT nvbench/CMakeFiles/nvbench.dir/cupti_profiler.cxx.o -MF nvbench/CMakeFiles/nvbench.dir/cupti_profiler.cxx.o.d -o nvbench/CMakeFiles/nvbench.dir/cupti_profiler.cxx.o -c /home/av/code/src/nvbench/nvbench/cupti_profiler.cxx
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:154:3: error: ‘NVPW_MetricsEvaluator’ does not name a type; did you mean ‘NVPA_MetricUserData’?
   NVPW_MetricsEvaluator *evaluator_ptr;
   ^~~~~~~~~~~~~~~~~~~~~
   NVPA_MetricUserData
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:157:38: error: expected ‘)’ before ‘*’ token
   eval_request(NVPW_MetricsEvaluator *evaluator_ptr,
                                      ^
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:199:3: error: ‘NVPW_MetricEvalRequest’ does not name a type; did you mean ‘NVPA_RawMetricRequest’?
   NVPW_MetricEvalRequest request;
   ^~~~~~~~~~~~~~~~~~~~~~
   NVPA_RawMetricRequest
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx: In member function ‘std::vector<const char*> nvbench::detail::{anonymous}::eval_request::get_raw_dependencies()’:
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:179:5: error: ‘NVPW_MetricsEvaluator_GetMetricRawDependencies_Params’ was not declared in this scope
     NVPW_MetricsEvaluator_GetMetricRawDependencies_Params params{};
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:179:5: note: suggested alternative: ‘NVPW_MetricsContext_GetMetricNames_Begin_Params’
     NVPW_MetricsEvaluator_GetMetricRawDependencies_Params params{};
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     NVPW_MetricsContext_GetMetricNames_Begin_Params
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:181:5: error: ‘params’ was not declared in this scope
     params.structSize =
     ^~~~~~
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:182:7: error: ‘NVPW_MetricsEvaluator_GetMetricRawDependencies_Params_STRUCT_SIZE’ was not declared in this scope
       NVPW_MetricsEvaluator_GetMetricRawDependencies_Params_STRUCT_SIZE;
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:182:7: note: suggested alternative: ‘NVPW_MetricsContext_GetMetricNames_Begin_Params_STRUCT_SIZE’
       NVPW_MetricsEvaluator_GetMetricRawDependencies_Params_STRUCT_SIZE;
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       NVPW_MetricsContext_GetMetricNames_Begin_Params_STRUCT_SIZE
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:183:42: error: ‘evaluator_ptr’ was not declared in this scope
     params.pMetricsEvaluator           = evaluator_ptr;
                                          ^~~~~~~~~~~~~
/home/av/code/src/nvbench/nvbench/cupti_profiler.cxx:184:43: error: ‘request’ was not declared in this scope
     params.pMetricEvalRequests         = &request;
                                           ^~~~~~~

In a moment I'll push a PR that disables CUPTI support by default for CTK <= 11.2.

alliepiper avatar Dec 19 '21 00:12 alliepiper

@jrhemstad @robertmaynard How important is this to RAPIDS? What's the earliest CTK you support?

alliepiper avatar Dec 19 '21 00:12 alliepiper

@jrhemstad @robertmaynard How important is this to RAPIDS? What's the earliest CTK you support?

We require 11.5 at build time, but only 11.0 at runtime (via enhanced compat).

jrhemstad avatar Jan 04 '22 15:01 jrhemstad