From 0bd247bbbe4cf396173f09eeec37e116e98f8471 Mon Sep 17 00:00:00 2001 From: Marcel Vollweiler Date: Wed, 19 Jan 2022 05:03:54 -0800 Subject: [PATCH] libgomp, OpenMP: Fix issue for omp_get_device_num on gcn targets. Currently omp_get_device_num does not work on gcn targets with more than one offload device. The reason is that GOMP_DEVICE_NUM_VAR is static in icv-device.c and thus "__gomp_device_num" is not visible in the offload image. This patch removes "static" such that "__gomp_device_num" is now part of the offload image and can now be found in GOMP_OFFLOAD_load_image in the plugin. This is not an issue for nvptx. There, "__gomp_device_num" is in the offload image even with "static". libgomp/ChangeLog: * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove "static") to make the device num available in the offload image. --- libgomp/config/gcn/icv-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgomp/config/gcn/icv-device.c b/libgomp/config/gcn/icv-device.c index fcfa0f39cd8..f70b7e6de07 100644 --- a/libgomp/config/gcn/icv-device.c +++ b/libgomp/config/gcn/icv-device.c @@ -60,7 +60,7 @@ omp_is_initial_device (void) /* This is set to the device number of current GPU during device initialization, when the offload image containing this libgomp portion is loaded. */ -static volatile int GOMP_DEVICE_NUM_VAR; +volatile int GOMP_DEVICE_NUM_VAR; int omp_get_device_num (void)