[Openmp-commits] [PATCH] D69424: [NFC][libomptarget] move remaining device specific code out of omptarget-nvptx.h
Alexey Bataev via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Oct 25 09:57:33 PDT 2019
ABataev added inline comments.
================
Comment at: openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h:34-37
+/// Device environment data
+struct omptarget_device_environmentTy {
+ int32_t debug_level;
+};
----------------
JonChesterfield wrote:
> ABataev wrote:
> > JonChesterfield wrote:
> > > ABataev wrote:
> > > > Is this really target specific thing?
> > > This one is a driver/plugin specific thing. The hsa struct has another couple of fields.
> > Why do you have different fields for hsa? Maybe we can use the same fields for NVPTX if they are useful?
> The struct definition looks likely to be useful for nvptx, though the fields should probably then be wired up. Defined for gcn/hsa as:
>
> ```
> struct omptarget_device_environmentTy {
> int32_t debug_level; // gets value of envvar LIBOMPTARGET_DEVICE_RTL_DEBUG
> // only useful for Debug build of deviceRTLs
> int32_t num_devices; // gets number of active offload devices
> int32_t device_num; // gets a value 0 to num_devices-1
> };
> ```
>
> where the fields are used by additional functions in libcall, e.g.
>
> ```EXTERN int omp_get_num_devices(void) {
> PRINT(LD_IO, "call omp_get_num_devices() returns device_size %d\n",
> omptarget_device_environment.num_devices);
> return omptarget_device_environment.num_devices;
> }
> ```
>
> Would you like omp_get_num_devices / omp_get_device_num added to the generic interface? If so I'll write the patch, and reduce this diff to exclude the struct move.
Are they required by the standard?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69424/new/
https://reviews.llvm.org/D69424
More information about the Openmp-commits
mailing list