SpiecsEngine
 
Loading...
Searching...
No Matches

◆ NsightPerfGPUProfilerReportGenerator()

Spices::NsightPerfGPUProfilerReportGenerator::NsightPerfGPUProfilerReportGenerator ( VulkanState & state)

Constructor Function.

Parameters
[in]stateVulkanState.

Initiate collection with the following call.

Initialize the report generator any time after VkDevice initialization. This step determines the list of counters. Specify additionalMetrics before calling InitializeReportGenerator. This is also a good time to decide whether a frame-level range is desirable.

VulkanLoadDriver() must be called first, which is taken care of by InitializeReportGenerator().

Initiate collection with the following call.

Initialize the report generator any time after VkDevice initialization. This step determines the list of counters. Specify additionalMetrics before calling InitializeReportGenerator. This is also a good time to decide whether a frame-level range is desirable.

VulkanLoadDriver() must be called first, which is taken care of by InitializeReportGenerator().

Definition at line 15 of file NsightPerfGPUProfilerReportGenerator.cpp.

16 : m_ClockStatus(NVPW_Device_ClockStatus::NVPW_DEVICE_CLOCK_STATUS_UNKNOWN)
17 , m_CapturedThisFrame(false)
18 {
20
24 m_NvPerf.outputOptions.directoryName = SPICES_GPUPROFILEREPORT_PATH;
25 m_NvPerf.outputOptions.writeCounterConfigImage = true;
26 m_NvPerf.outputOptions.writeCounterDataImage = true;
27 m_NvPerf.outputOptions.appendDateTimeToDirName = nv::perf::AppendDateTime::yes;
28 m_NvPerf.outputOptions.enableCsvReport = false;
29
35 m_NvPerf.additionalMetrics = {
36 "zrop__cycles_elapsed",
37 "lts__t_sector_hit_rate",
38 "crop__write_throughput"
39 };
40 NSPERF_CHECK(m_NvPerf.InitializeReportGenerator(state.m_Instance, state.m_PhysicalDevice, state.m_Device))
41 m_NvPerf.SetFrameLevelRangeName("Frame");
42 m_NvPerf.SetNumNestingLevels(10);
43 m_NvPerf.SetMaxNumRanges(100);
44 m_NvPerf.SetOpenReportDirectoryAfterCollection(true);
45
49 m_ClockStatus = nv::perf::VulkanGetDeviceClockState(
50 state.m_Instance ,
51 state.m_PhysicalDevice ,
52 state.m_Device
53 );
54
55 NSPERF_CHECK(nv::perf::VulkanSetDeviceClockState(
56 state.m_Instance ,
57 state.m_PhysicalDevice ,
58 state.m_Device ,
59 NVPW_DEVICE_CLOCK_SETTING_LOCK_TO_RATED_TDP
60 ))
61 }
#define NSPERF_CHECK(val)
#define SPICES_PROFILE_ZONE
NVPW_Device_ClockStatus m_ClockStatus
Used to restore clock state when exiting.
nv::perf::profiler::ReportGeneratorVulkan m_NvPerf
Nvidia Nsight Performance ReportGenerator.

References m_CapturedThisFrame, and NsightPerfGPUProfilerReportGenerator().

Referenced by NsightPerfGPUProfilerReportGenerator().