Add event controls for release fences.
Env var : HIP_EVENT_SYS_RELEASE Event allocation flags : hipEventReleaseToDevice, hipEventReleaseToSystem (remove hipEventDisableSystemRelease) Update test for new functionality.
This commit is contained in:
+9
-2
@@ -95,8 +95,15 @@ hipError_t ihipEventCreate(hipEvent_t* event, unsigned flags)
|
||||
unsigned supportedFlags = hipEventDefault
|
||||
| hipEventBlockingSync
|
||||
| hipEventDisableTiming
|
||||
| hipEventDisableSystemRelease;
|
||||
if ((flags & ~supportedFlags) == 0) {
|
||||
| hipEventReleaseToDevice
|
||||
| hipEventReleaseToSystem
|
||||
;
|
||||
const unsigned releaseFlags = (hipEventReleaseToDevice | hipEventReleaseToSystem);
|
||||
|
||||
const bool illegalFlags = (flags & ~supportedFlags) || // can't set any unsupported flags.
|
||||
(flags & releaseFlags) == releaseFlags; // can't set both
|
||||
|
||||
if (!illegalFlags) {
|
||||
ihipEvent_t *eh = new ihipEvent_t(flags);
|
||||
|
||||
*event = eh;
|
||||
|
||||
Reference in New Issue
Block a user