nvbench
nvbench copied to clipboard
Enable CUPTI for CTK <= 11.2.
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.
@jrhemstad @robertmaynard How important is this to RAPIDS? What's the earliest CTK you support?
@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).