In the C++ (v16.0 update 1) documentation:
Determining if Code has Completed Running on a Coprocessor
To determine if a section of offloaded code has completed running on a given coprocessor, you can use the API _Offload_signaled().
The syntax for this API is:
extern int _Offload_signaled(int target_number, void *signal);
Nowhere is it described what the return values are.
Same thing in the Fortran documentation
Determining if Code has Completed Running on a Coprocessor
To determine if a section of offloaded code has completed running on a given coprocessor, you can use the API OFFLOAD_SIGNALED().
The syntax for this API is:
OFFLOAD_SIGNALED(target_number,signal)
And you have to look inside mic_lib.f90 to find it returns an integer without specifying what the values can be.
In the mic_lib.f90 we find:
enum, bind(C) enumerator :: OFFLOAD_SUCCESS = 0 enumerator :: OFFLOAD_DISABLED ! offload is disabled enumerator :: OFFLOAD_UNAVAILABLE ! card is not available enumerator :: OFFLOAD_OUT_OF_MEMORY ! not enough memory on device enumerator :: OFFLOAD_PROCESS_DIED ! target process has died enumerator :: OFFLOAD_ERROR ! unspecified error end enum
But it is not stated (clear) as if these are, or are the only return values. If they are the return values, then missing is OFFLOAD_BUSY
Does someone know what the return values are for OFFLOAD_SIGNALED?
Jim Dempsey