|
27 | 27 | ) |
28 | 28 | from ._device_queries import ( |
29 | 29 | intel_device_info_device_id, |
| 30 | + intel_device_info_free_memory, |
30 | 31 | intel_device_info_gpu_eu_count, |
31 | 32 | intel_device_info_gpu_eu_count_per_subslice, |
32 | 33 | intel_device_info_gpu_eu_simd_width, |
33 | 34 | intel_device_info_gpu_hw_threads_per_eu, |
34 | 35 | intel_device_info_gpu_slices, |
35 | 36 | intel_device_info_gpu_subslices_per_slice, |
36 | 37 | intel_device_info_max_mem_bandwidth, |
| 38 | + intel_device_info_memory_bus_width, |
| 39 | + intel_device_info_memory_clock_rate, |
37 | 40 | ) |
38 | 41 | from ._onetrace_context import onetrace_enabled |
39 | 42 |
|
@@ -62,11 +65,17 @@ def intel_device_info(dev, /): |
62 | 65 | Number of EUs in subslice |
63 | 66 | max_mem_bandwidth: |
64 | 67 | Maximum memory bandwidth in bytes/second |
| 68 | + free_memory: |
| 69 | + Global memory available on the device in units of bytes |
65 | 70 |
|
66 | 71 | Unsupported descriptors are omitted from the dictionary. |
67 | 72 |
|
68 | 73 | Descriptors other than the PCI identifier are supported only |
69 | 74 | for :class:`.SyclDevices` with Level-Zero backend. |
| 75 | +
|
| 76 | + .. note:: |
| 77 | + Environment variable ``ZES_ENABLE_SYSMAN`` may need to be set |
| 78 | + to ``1`` for the ``"free_memory"`` key to be reported. |
70 | 79 | """ |
71 | 80 | if not isinstance(dev, SyclDevice): |
72 | 81 | raise TypeError(f"Expected dpctl.SyclDevice, got {type(dev)}") |
@@ -97,6 +106,15 @@ def intel_device_info(dev, /): |
97 | 106 | bw = intel_device_info_max_mem_bandwidth(dev) |
98 | 107 | if bw: |
99 | 108 | res["max_mem_bandwidth"] = bw |
| 109 | + fm = intel_device_info_free_memory(dev) |
| 110 | + if fm: |
| 111 | + res["free_memory"] = fm |
| 112 | + mcr = intel_device_info_memory_clock_rate(dev) |
| 113 | + if mcr: |
| 114 | + res["memory_clock_rate"] = mcr |
| 115 | + mbw = intel_device_info_memory_bus_width(dev) |
| 116 | + if mbw: |
| 117 | + res["memory_bus_width"] = mbw |
100 | 118 | return res |
101 | 119 | return dict() |
102 | 120 |
|
|
0 commit comments