onnxruntime
03a2544a - Add telemetry for logging GPU and NPU driver information in ONNX Runtime (#24734)

Commit
234 days ago
Add telemetry for logging GPU and NPU driver information in ONNX Runtime (#24734) ### Description This feature enhances telemetry by gathering and logging driver information for GPU and NPU devices detected on Windows systems. The implementation includes: - **Driver Information Collection**: - Introduced a `device_version_info` map to categorize driver information by device type (GPU or NPU). - For each detected device: - Queries the Windows Registry for driver version information using `RegQueryValueExW`. - Collects driver names (device descriptions) and versions into the appropriate device type category. - **Telemetry Logging**: - Calls `LogDriverInfoEvent` with the following parameters: - `device_class`: Indicates the device type ("GPU" or "NPU"). - `driver_names`: Comma-separated list of driver names as wide strings. - `driver_versions`: Comma-separated list of driver versions as wide strings. ### Motivation and Context Having telemetry for GPU and NPU driver information is essential for monitoring and diagnosing performance issues between driver versions. ### Performance and Testing This change was tested on Windows with a variety of sample apps along with onnxruntime_test_all and onnxruntime_perf_test The code adds an additional 25-30 microseconds for each NPU/GPU that gets enumerated. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Author
Parents
Loading