@@ -175,7 +175,6 @@ def version(self, args, gpu_version=None, cpu_version=None):
175175 elif self .logger .is_json_format () or self .logger .is_csv_format ():
176176 self .logger .print_output ()
177177
178-
179178 def list (self , args , multiple_devices = False , gpu = None ):
180179 """List information for target gpu
181180
@@ -214,12 +213,20 @@ def list(self, args, multiple_devices=False, gpu=None):
214213 bdf = amdsmi_interface .amdsmi_get_gpu_device_bdf (args .gpu )
215214 except amdsmi_exception .AmdSmiLibraryException as e :
216215 bdf = e .get_error_info ()
217-
218216 try :
219217 uuid = amdsmi_interface .amdsmi_get_gpu_device_uuid (args .gpu )
220218 except amdsmi_exception .AmdSmiLibraryException as e :
221219 uuid = e .get_error_info ()
222220
221+ try :
222+ enumeration_info = amdsmi_interface .amdsmi_get_gpu_enumeration_info (args .gpu )
223+ except :
224+ enumeration_info = {"drm_render" : "N/A" ,
225+ "drm_card" : "N/A" ,
226+ "hip_id" : "N/A" ,
227+ "hip_uuid" : "N/A" ,
228+ "hsa_id" : "N/A" }
229+
223230 try :
224231 kfd_info = amdsmi_interface .amdsmi_get_gpu_kfd_info (args .gpu )
225232 kfd_id = kfd_info ['kfd_id' ]
@@ -233,15 +240,26 @@ def list(self, args, multiple_devices=False, gpu=None):
233240 if self .logger .is_csv_format ():
234241 self .logger .store_output (args .gpu , 'gpu_bdf' , bdf )
235242 self .logger .store_output (args .gpu , 'gpu_uuid' , uuid )
236- self .logger .store_output (args .gpu , 'kfd_id' , kfd_id )
237- self .logger .store_output (args .gpu , 'node_id' , node_id )
238- self .logger .store_output (args .gpu , 'partition_id' , partition_id )
239243 else :
240244 self .logger .store_output (args .gpu , 'bdf' , bdf )
241245 self .logger .store_output (args .gpu , 'uuid' , uuid )
242- self .logger .store_output (args .gpu , 'kfd_id' , kfd_id )
243- self .logger .store_output (args .gpu , 'node_id' , node_id )
244- self .logger .store_output (args .gpu , 'partition_id' , partition_id )
246+
247+ self .logger .store_output (args .gpu , 'kfd_id' , kfd_id )
248+ self .logger .store_output (args .gpu , 'node_id' , node_id )
249+ self .logger .store_output (args .gpu , 'partition_id' , partition_id )
250+
251+ if args .e :
252+ if enumeration_info ['drm_render' ] == "N/A" :
253+ self .logger .store_output (args .gpu , 'render' , enumeration_info ['drm_render' ])
254+ else :
255+ self .logger .store_output (args .gpu , 'render' , f"renderD{ enumeration_info ['drm_render' ]} " )
256+ if enumeration_info ['drm_card' ] == "N/A" :
257+ self .logger .store_output (args .gpu , 'card' , enumeration_info ['drm_card' ])
258+ else :
259+ self .logger .store_output (args .gpu , 'card' , f"card{ enumeration_info ['drm_card' ]} " )
260+ self .logger .store_output (args .gpu , 'hsa_id' , enumeration_info ['hsa_id' ])
261+ self .logger .store_output (args .gpu , 'hip_id' , enumeration_info ['hip_id' ])
262+ self .logger .store_output (args .gpu , 'hip_uuid' , enumeration_info ['hip_uuid' ])
245263
246264 if multiple_devices :
247265 self .logger .store_multiple_device_output ()
0 commit comments