From 4a1536701f9e2b8f50d4899f2fb7336ea77a1a35 Mon Sep 17 00:00:00 2001 From: Aryan Salmanpour Date: Mon, 1 Jun 2020 13:33:14 -0400 Subject: [PATCH] Add support for missig hipStreamGetPriority API Change-Id: I2be4b055e5f977eb6ecad0b1f5f9535e72345fe7 --- rocclr/hip_hcc.def.in | 1 + rocclr/hip_hcc.map.in | 1 + rocclr/hip_internal.hpp | 2 ++ rocclr/hip_stream.cpp | 12 ++++++++++++ 4 files changed, 16 insertions(+) diff --git a/rocclr/hip_hcc.def.in b/rocclr/hip_hcc.def.in index 53bdfb3065..a3476c7f33 100755 --- a/rocclr/hip_hcc.def.in +++ b/rocclr/hip_hcc.def.in @@ -253,3 +253,4 @@ hipTexObjectGetResourceDesc hipTexObjectGetResourceViewDesc hipTexObjectGetTextureDesc hipExtStreamCreateWithCUMask +hipStreamGetPriority diff --git a/rocclr/hip_hcc.map.in b/rocclr/hip_hcc.map.in index 394a5f5dd3..11637f2696 100755 --- a/rocclr/hip_hcc.map.in +++ b/rocclr/hip_hcc.map.in @@ -260,6 +260,7 @@ global: hipEnableActivityCallback*; hipGetCmdName*; hipExtStreamCreateWithCUMask; + hipStreamGetPriority; }; local: *; diff --git a/rocclr/hip_internal.hpp b/rocclr/hip_internal.hpp index 400aa8b99a..702b93c8b3 100755 --- a/rocclr/hip_internal.hpp +++ b/rocclr/hip_internal.hpp @@ -109,6 +109,8 @@ namespace hip { amd::Monitor& Lock() const { return lock_; } /// Returns the creation flags for the current stream unsigned int Flags() const { return flags_; } + /// Returns the priority for the current stream + amd::CommandQueue::Priority Priority() const { return priority_; } /// Sync all non-blocking streams static void syncNonBlockingStreams(); diff --git a/rocclr/hip_stream.cpp b/rocclr/hip_stream.cpp index bfe80cd6bb..43fce39299 100755 --- a/rocclr/hip_stream.cpp +++ b/rocclr/hip_stream.cpp @@ -339,3 +339,15 @@ hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize HIP_RETURN(ihipStreamCreate(stream, hipStreamDefault, amd::CommandQueue::Priority::Normal, cuMaskv)); } +// ================================================================================================ +hipError_t hipStreamGetPriority(hipStream_t stream, int* priority) { + HIP_INIT_API(hipStreamGetPriority, stream, priority); + if ((priority != nullptr) && (stream != nullptr)) { + *priority = static_cast(reinterpret_cast(stream)->Priority()); + } else { + HIP_RETURN(hipErrorInvalidValue); + } + + HIP_RETURN(hipSuccess); + +}