@@ -94,7 +94,7 @@ typedef nvmlReturn_t (*ucc_nvmlDeviceGetGpuFabricInfoV_t)(
9494static ucc_nvmlDeviceGetGpuFabricInfoV_t
9595ucc_sysinfo_cuda_nvml_get_gpu_fabric_info_v_fn (void )
9696{
97- static int resolved ;
97+ static int resolved ;
9898 static ucc_nvmlDeviceGetGpuFabricInfoV_t fn ;
9999
100100 if (!resolved ) {
@@ -114,7 +114,7 @@ typedef nvmlReturn_t (*ucc_nvmlDeviceGetGpuFabricInfo_t)(
114114static ucc_nvmlDeviceGetGpuFabricInfo_t
115115ucc_sysinfo_cuda_nvml_get_gpu_fabric_info_fn (void )
116116{
117- static int resolved ;
117+ static int resolved ;
118118 static ucc_nvmlDeviceGetGpuFabricInfo_t fn ;
119119
120120 if (!resolved ) {
@@ -131,32 +131,33 @@ static void ucc_sysinfo_cuda_update_fabric_info(nvmlDevice_t nvml_dev,
131131 ucc_gpu_info_t * gpu )
132132{
133133 nvmlReturn_t nvml_st ;
134-
135134#ifdef HAVE_NVML_GPU_FABRIC_INFO_V
136135 ucc_nvmlDeviceGetGpuFabricInfoV_t get_fabric_info_v ;
136+ nvmlGpuFabricInfoV_t fabric_info_v ;
137+ #endif
138+ #ifdef HAVE_NVML_GPU_FABRIC_INFO
139+ ucc_nvmlDeviceGetGpuFabricInfo_t get_fabric_info ;
140+ nvmlGpuFabricInfo_t fabric_info ;
141+ #endif
137142
143+ #ifdef HAVE_NVML_GPU_FABRIC_INFO_V
138144 get_fabric_info_v = ucc_sysinfo_cuda_nvml_get_gpu_fabric_info_v_fn ();
139145 if (get_fabric_info_v ) {
140- nvmlGpuFabricInfoV_t fabric_info ;
141-
142- memset (& fabric_info , 0 , sizeof (fabric_info ));
143- fabric_info .version = nvmlGpuFabricInfo_v2 ;
144- nvml_st = get_fabric_info_v (nvml_dev , & fabric_info );
145- UCC_STATIC_ASSERT (
146- sizeof (fabric_info .clusterUuid ) ==
147- UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
146+ memset (& fabric_info_v , 0 , sizeof (fabric_info_v ));
147+ fabric_info_v .version = nvmlGpuFabricInfo_v2 ;
148+ nvml_st = get_fabric_info_v (nvml_dev , & fabric_info_v );
149+ UCC_STATIC_ASSERT (sizeof (fabric_info_v .clusterUuid ) ==
150+ UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
148151 if (nvml_st == NVML_SUCCESS ) {
149- if (fabric_info .state == NVML_GPU_FABRIC_STATE_COMPLETED ) {
152+ if (fabric_info_v .state == NVML_GPU_FABRIC_STATE_COMPLETED ) {
150153 gpu -> caps |= UCC_GPU_CAP_FABRIC ;
151- gpu -> fabric_clique_id = fabric_info .cliqueId ;
154+ gpu -> fabric_clique_id = fabric_info_v .cliqueId ;
152155#ifdef HAVE_NVML_FABRIC_PARTITION_ID
153- gpu -> fabric_partition_id = fabric_info .partitionId ;
156+ gpu -> fabric_partition_id = fabric_info_v .partitionId ;
154157#endif
155158 /* Globally-unique fabric id; needed for cross-node match. */
156- memcpy (
157- gpu -> fabric_cluster_uuid ,
158- fabric_info .clusterUuid ,
159- UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
159+ memcpy (gpu -> fabric_cluster_uuid , fabric_info_v .clusterUuid ,
160+ UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
160161 }
161162 return ;
162163 }
@@ -166,31 +167,22 @@ static void ucc_sysinfo_cuda_update_fabric_info(nvmlDevice_t nvml_dev,
166167#endif
167168
168169#ifdef HAVE_NVML_GPU_FABRIC_INFO
169- {
170- ucc_nvmlDeviceGetGpuFabricInfo_t get_fabric_info ;
171-
172- get_fabric_info = ucc_sysinfo_cuda_nvml_get_gpu_fabric_info_fn ();
173- if (get_fabric_info ) {
174- nvmlGpuFabricInfo_t fabric_info ;
175-
176- memset (& fabric_info , 0 , sizeof (fabric_info ));
177- nvml_st = get_fabric_info (nvml_dev , & fabric_info );
178- UCC_STATIC_ASSERT (
179- sizeof (fabric_info .clusterUuid ) ==
180- UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
181- if (nvml_st == NVML_SUCCESS &&
182- fabric_info .state == NVML_GPU_FABRIC_STATE_COMPLETED ) {
183- gpu -> caps |= UCC_GPU_CAP_FABRIC ;
184- gpu -> fabric_clique_id = fabric_info .cliqueId ;
185- /* Globally-unique fabric id; needed for cross-node match. */
186- memcpy (
187- gpu -> fabric_cluster_uuid ,
188- fabric_info .clusterUuid ,
189- UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
190- } else if (nvml_st != NVML_SUCCESS ) {
191- ucc_debug ("nvmlDeviceGetGpuFabricInfo failed: %s" ,
192- nvmlErrorString (nvml_st ));
193- }
170+ get_fabric_info = ucc_sysinfo_cuda_nvml_get_gpu_fabric_info_fn ();
171+ if (get_fabric_info ) {
172+ memset (& fabric_info , 0 , sizeof (fabric_info ));
173+ nvml_st = get_fabric_info (nvml_dev , & fabric_info );
174+ UCC_STATIC_ASSERT (sizeof (fabric_info .clusterUuid ) ==
175+ UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
176+ if (nvml_st == NVML_SUCCESS &&
177+ fabric_info .state == NVML_GPU_FABRIC_STATE_COMPLETED ) {
178+ gpu -> caps |= UCC_GPU_CAP_FABRIC ;
179+ gpu -> fabric_clique_id = fabric_info .cliqueId ;
180+ /* Globally-unique fabric id; needed for cross-node match. */
181+ memcpy (gpu -> fabric_cluster_uuid , fabric_info .clusterUuid ,
182+ UCC_GPU_FABRIC_CLUSTER_UUID_LEN );
183+ } else if (nvml_st != NVML_SUCCESS ) {
184+ ucc_debug ("nvmlDeviceGetGpuFabricInfo failed: %s" ,
185+ nvmlErrorString (nvml_st ));
194186 }
195187 }
196188#endif
0 commit comments