diff --git a/backends/include/dppl_sycl_context_interface.h b/backends/include/dppl_sycl_context_interface.h index 1f3506930e..e2164e388e 100644 --- a/backends/include/dppl_sycl_context_interface.h +++ b/backends/include/dppl_sycl_context_interface.h @@ -37,18 +37,18 @@ DPPL_C_EXTERN_C_BEGIN /*! * @brief Returns true if this SYCL context is a host context. * - * @param CtxtRef A opaque pointer to a sycl::context. + * @param CtxRef A opaque pointer to a sycl::context. * @return True if the SYCL context is a host context, else False. */ DPPL_API -bool DPPLIsHostContext (__dppl_keep const DPPLSyclContextRef CtxtRef); +bool DPPLContext_IsHost (__dppl_keep const DPPLSyclContextRef CtxRef); /*! * @brief Delete the pointer after casting it to sycl::context * - * @param CtxtRef The DPPLSyclContextRef pointer to be deleted. + * @param CtxRef The DPPLSyclContextRef pointer to be deleted. */ DPPL_API -void DPPLDeleteSyclContext (__dppl_take DPPLSyclContextRef CtxtRef); +void DPPLContext_Delete (__dppl_take DPPLSyclContextRef CtxRef); DPPL_C_EXTERN_C_END diff --git a/backends/include/dppl_sycl_device_interface.h b/backends/include/dppl_sycl_device_interface.h index adbc216662..3ebe9a80ef 100644 --- a/backends/include/dppl_sycl_device_interface.h +++ b/backends/include/dppl_sycl_device_interface.h @@ -57,7 +57,7 @@ typedef enum * @param DRef A DPPLSyclDeviceRef pointer. */ DPPL_API -void DPPLDumpDeviceInfo (__dppl_keep const DPPLSyclDeviceRef DRef); +void DPPLDevice_DumpInfo (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Deletes a DPPLSyclDeviceRef pointer after casting to to sycl::device. @@ -65,7 +65,7 @@ void DPPLDumpDeviceInfo (__dppl_keep const DPPLSyclDeviceRef DRef); * @param DRef The DPPLSyclDeviceRef pointer to be freed. */ DPPL_API -void DPPLDeleteSyclDevice (__dppl_take DPPLSyclDeviceRef DRef); +void DPPLDevice_Delete (__dppl_take DPPLSyclDeviceRef DRef); /*! * @brief Returns true if this SYCL device is an OpenCL device and the device @@ -75,7 +75,7 @@ void DPPLDeleteSyclDevice (__dppl_take DPPLSyclDeviceRef DRef); * @return True if the device type is an accelerator, else False. */ DPPL_API -bool DPPLDeviceIsAccelerator (__dppl_keep const DPPLSyclDeviceRef DRef); +bool DPPLDevice_IsAccelerator (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns true if this SYCL device is an OpenCL device and the device @@ -85,7 +85,7 @@ bool DPPLDeviceIsAccelerator (__dppl_keep const DPPLSyclDeviceRef DRef); * @return True if the device type is a cpu, else False. */ DPPL_API -bool DPPLDeviceIsCPU (__dppl_keep const DPPLSyclDeviceRef DRef); +bool DPPLDevice_IsCPU (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns true if this SYCL device is an OpenCL device and the device @@ -95,7 +95,7 @@ bool DPPLDeviceIsCPU (__dppl_keep const DPPLSyclDeviceRef DRef); * @return True if the device type is a gpu, else False. */ DPPL_API -bool DPPLDeviceIsGPU (__dppl_keep const DPPLSyclDeviceRef DRef); +bool DPPLDevice_IsGPU (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns true if this SYCL device is a host device. @@ -104,7 +104,7 @@ bool DPPLDeviceIsGPU (__dppl_keep const DPPLSyclDeviceRef DRef); * @return True if the device is a host device, else False. */ DPPL_API -bool DPPLDeviceIsHost (__dppl_keep const DPPLSyclDeviceRef DRef); +bool DPPLDevice_IsHost (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns the OpenCL software driver version as a C string. @@ -115,7 +115,7 @@ bool DPPLDeviceIsHost (__dppl_keep const DPPLSyclDeviceRef DRef); */ DPPL_API __dppl_give const char* -DPPLGetDeviceDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef); +DPPLDevice_GetDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns a C string for the device name. @@ -125,7 +125,7 @@ DPPLGetDeviceDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef); */ DPPL_API __dppl_give const char* -DPPLGetDeviceName (__dppl_keep const DPPLSyclDeviceRef DRef); +DPPLDevice_GetName (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns a C string corresponding to the vendor name. @@ -135,7 +135,7 @@ DPPLGetDeviceName (__dppl_keep const DPPLSyclDeviceRef DRef); */ DPPL_API __dppl_give const char* -DPPLGetDeviceVendorName (__dppl_keep const DPPLSyclDeviceRef DRef); +DPPLDevice_GetVendorName (__dppl_keep const DPPLSyclDeviceRef DRef); /*! * @brief Returns True if the device and the host share a unified memory @@ -146,6 +146,6 @@ DPPLGetDeviceVendorName (__dppl_keep const DPPLSyclDeviceRef DRef); * with the host. */ DPPL_API -bool DPPLGetDeviceHostUnifiedMemory (__dppl_keep const DPPLSyclDeviceRef DRef); +bool DPPLDevice_IsHostUnifiedMemory (__dppl_keep const DPPLSyclDeviceRef DRef); DPPL_C_EXTERN_C_END diff --git a/backends/include/dppl_sycl_queue_interface.h b/backends/include/dppl_sycl_queue_interface.h index 60d080e3f0..7b9002e8de 100644 --- a/backends/include/dppl_sycl_queue_interface.h +++ b/backends/include/dppl_sycl_queue_interface.h @@ -43,7 +43,7 @@ DPPL_C_EXTERN_C_BEGIN */ DPPL_API __dppl_give DPPLSyclContextRef -DPPLGetContextFromQueue (__dppl_keep const DPPLSyclQueueRef QRef); +DPPLQueue_GetContext (__dppl_keep const DPPLSyclQueueRef QRef); /*! * @brief returns the Sycl device for the queue. @@ -53,7 +53,7 @@ DPPLGetContextFromQueue (__dppl_keep const DPPLSyclQueueRef QRef); */ DPPL_API __dppl_give DPPLSyclDeviceRef -DPPLGetDeviceFromQueue (__dppl_keep const DPPLSyclQueueRef QRef); +DPPLQueue_GetDevice (__dppl_keep const DPPLSyclQueueRef QRef); /*! * @brief Delete the pointer after casting it to sycl::queue. @@ -61,6 +61,6 @@ DPPLGetDeviceFromQueue (__dppl_keep const DPPLSyclQueueRef QRef); * @param QRef A DPPLSyclQueueRef pointer that gets deleted. */ DPPL_API -void DPPLDeleteSyclQueue (__dppl_take DPPLSyclQueueRef QRef); +void DPPLQueue_Delete (__dppl_take DPPLSyclQueueRef QRef); DPPL_C_EXTERN_C_END diff --git a/backends/include/dppl_sycl_queue_manager.h b/backends/include/dppl_sycl_queue_manager.h index 8d550be6b9..33956af07b 100644 --- a/backends/include/dppl_sycl_queue_manager.h +++ b/backends/include/dppl_sycl_queue_manager.h @@ -50,7 +50,7 @@ DPPL_C_EXTERN_C_BEGIN * wrapped inside an opaque DPPLSyclQueueRef pointer. */ DPPL_API -__dppl_give DPPLSyclQueueRef DPPLGetCurrentQueue (); +__dppl_give DPPLSyclQueueRef DPPLQueueMgr_GetCurrentQueue (); /*! * @brief Get a sycl::queue object of the specified type and device id. @@ -63,8 +63,8 @@ __dppl_give DPPLSyclQueueRef DPPLGetCurrentQueue (); * raised if no such device exists. */ DPPL_API -__dppl_give DPPLSyclQueueRef DPPLGetQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum); +__dppl_give DPPLSyclQueueRef DPPLQueueMgr_GetQueue (DPPLSyclDeviceType DeviceTy, + size_t DNum); /*! * @brief Get the number of activated queues not including the global or @@ -73,7 +73,7 @@ __dppl_give DPPLSyclQueueRef DPPLGetQueue (DPPLSyclDeviceType DeviceTy, * @return The number of activated queues. */ DPPL_API -size_t DPPLGetNumActivatedQueues (); +size_t DPPLQueueMgr_GetNumActivatedQueues (); /*! * @brief Get the number of GPU queues available on the system. @@ -81,7 +81,7 @@ size_t DPPLGetNumActivatedQueues (); * @return The number of available GPU queues. */ DPPL_API -size_t DPPLGetNumGPUQueues (); +size_t DPPLQueueMgr_GetNumGPUQueues (); /*! * @brief Get the number of CPU queues available on the system. @@ -89,7 +89,7 @@ size_t DPPLGetNumGPUQueues (); * @return The number of available CPU queues. */ DPPL_API -size_t DPPLGetNumCPUQueues (); +size_t DPPLQueueMgr_GetNumCPUQueues (); /*! * @brief Set the default DPPL queue to the sycl::queue for the given device. @@ -100,8 +100,8 @@ size_t DPPLGetNumCPUQueues (); * @param DNum Device id for the device (defaults to 0) */ DPPL_API -void DPPLSetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum); +void DPPLQueueMgr_SetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, + size_t DNum); /*! * @brief Pushes a new sycl::queue object to the top of DPPL's thread-local @@ -110,11 +110,11 @@ void DPPLSetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, * DPPL maintains a thread-local stack of sycl::queue objects to facilitate * nested parallelism. The sycl::queue at the top of the stack is termed as the * currently activated queue, and is always the one returned by - * DPPLGetCurrentQueue(). DPPLPushSyclQueueToStack creates a new sycl::queue - * corresponding to the specified device and pushes it to the top of the stack. - * A copy of the sycl::queue is returned to the caller wrapped inside the - * opaque DPPLSyclQueueRef pointer. A runtime_error exception is thrown when - * a new sycl::queue could not be created for the specified device. + * DPPLQueueMgr_GetCurrentQueue(). DPPLPushSyclQueueToStack creates a new + * sycl::queue corresponding to the specified device and pushes it to the top + * of the stack. A copy of the sycl::queue is returned to the caller wrapped + * inside the opaque DPPLSyclQueueRef pointer. A runtime_error exception is + * thrown when a new sycl::queue could not be created for the specified device. * * @param DeviceTy The type of Sycl device (sycl_device_type) * @param DNum Device id for the device (defaults to 0) @@ -123,8 +123,8 @@ void DPPLSetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, * stack of sycl::queue objects. */ DPPL_API -__dppl_give DPPLSyclQueueRef DPPLPushSyclQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum); +__dppl_give DPPLSyclQueueRef +DPPLQueueMgr_PushQueue (DPPLSyclDeviceType DeviceTy, size_t DNum); /*! * @brief Pops the top of stack element from DPPL's stack of activated @@ -132,12 +132,12 @@ __dppl_give DPPLSyclQueueRef DPPLPushSyclQueue (DPPLSyclDeviceType DeviceTy, * * DPPLPopSyclQueue only removes the reference from the DPPL stack of * sycl::queue objects. Any instance of the popped queue that were previously - * acquired by calling DPPLPushSyclQueue() or DPPLGetCurrentQueue() needs to be - * freed separately. In addition, a runtime_error is thrown when the stack - * contains only one sycl::queue, i.e., the default queue. + * acquired by calling DPPLPushSyclQueue() or DPPLQueueMgr_GetCurrentQueue() + * needs to be freed separately. In addition, a runtime_error is thrown when + * the stack contains only one sycl::queue, i.e., the default queue. * */ DPPL_API -void DPPLPopSyclQueue (); +void DPPLQueueMgr_PopQueue (); DPPL_C_EXTERN_C_END diff --git a/backends/include/dppl_utils.h b/backends/include/dppl_utils.h index 89071f19f9..3a19bf3e45 100644 --- a/backends/include/dppl_utils.h +++ b/backends/include/dppl_utils.h @@ -36,6 +36,6 @@ DPPL_C_EXTERN_C_BEGIN * @param str C string to be deleted */ DPPL_API -void DPPLDeleteCString (__dppl_take const char* str); +void DPPLCString_Delete (__dppl_take const char* str); DPPL_C_EXTERN_C_END diff --git a/backends/source/dppl_sycl_context_interface.cpp b/backends/source/dppl_sycl_context_interface.cpp index d27b150f74..fc3aa26983 100644 --- a/backends/source/dppl_sycl_context_interface.cpp +++ b/backends/source/dppl_sycl_context_interface.cpp @@ -42,9 +42,9 @@ namespace * @param CtxtRef My Param doc * @return {return} My Param doc */ -bool DPPLIsHostContext (__dppl_keep const DPPLSyclContextRef CtxtRef) +bool DPPLContext_IsHost (__dppl_keep const DPPLSyclContextRef CtxRef) { - return unwrap(CtxtRef)->is_host(); + return unwrap(CtxRef)->is_host(); } /*! @@ -52,7 +52,7 @@ bool DPPLIsHostContext (__dppl_keep const DPPLSyclContextRef CtxtRef) * * @param CtxtRef My Param doc */ -void DPPLDeleteSyclContext (__dppl_take DPPLSyclContextRef CtxtRef) +void DPPLContext_Delete (__dppl_take DPPLSyclContextRef CtxRef) { - delete unwrap(CtxtRef); + delete unwrap(CtxRef); } diff --git a/backends/source/dppl_sycl_device_interface.cpp b/backends/source/dppl_sycl_device_interface.cpp index f70f34be1e..1d9d9444c4 100644 --- a/backends/source/dppl_sycl_device_interface.cpp +++ b/backends/source/dppl_sycl_device_interface.cpp @@ -66,41 +66,41 @@ void dump_device_info (const device & Device) * vendor, and device profile are printed out. More attributed may be added * later. */ -void DPPLDumpDeviceInfo (__dppl_keep const DPPLSyclDeviceRef DRef) +void DPPLDevice_DumpInfo (__dppl_keep const DPPLSyclDeviceRef DRef) { auto Device = unwrap(DRef); dump_device_info(*Device); } -void DPPLDeleteSyclDevice (__dppl_take DPPLSyclDeviceRef DRef) +void DPPLDevice_Delete (__dppl_take DPPLSyclDeviceRef DRef) { delete unwrap(DRef); } -bool DPPLDeviceIsAccelerator (__dppl_keep const DPPLSyclDeviceRef DRef) +bool DPPLDevice_IsAccelerator (__dppl_keep const DPPLSyclDeviceRef DRef) { return unwrap(DRef)->is_accelerator(); } -bool DPPLDeviceIsCPU (__dppl_keep const DPPLSyclDeviceRef DRef) +bool DPPLDevice_IsCPU (__dppl_keep const DPPLSyclDeviceRef DRef) { return unwrap(DRef)->is_cpu(); } -bool DPPLDeviceIsGPU (__dppl_keep const DPPLSyclDeviceRef DRef) +bool DPPLDevice_IsGPU (__dppl_keep const DPPLSyclDeviceRef DRef) { return unwrap(DRef)->is_gpu(); } -bool DPPLDeviceIsHost (__dppl_keep const DPPLSyclDeviceRef DRef) +bool DPPLDevice_IsHost (__dppl_keep const DPPLSyclDeviceRef DRef) { return unwrap(DRef)->is_host(); } __dppl_give const char* -DPPLGetDeviceName (__dppl_keep const DPPLSyclDeviceRef DRef) +DPPLDevice_GetName (__dppl_keep const DPPLSyclDeviceRef DRef) { auto name = unwrap(DRef)->get_info(); auto cstr_name = new char [name.length()+1]; @@ -109,7 +109,7 @@ DPPLGetDeviceName (__dppl_keep const DPPLSyclDeviceRef DRef) } __dppl_give const char* -DPPLGetDeviceVendorName (__dppl_keep const DPPLSyclDeviceRef DRef) +DPPLDevice_GetVendorName (__dppl_keep const DPPLSyclDeviceRef DRef) { auto vendor = unwrap(DRef)->get_info(); auto cstr_vendor = new char [vendor.length()+1]; @@ -118,7 +118,7 @@ DPPLGetDeviceVendorName (__dppl_keep const DPPLSyclDeviceRef DRef) } __dppl_give const char* -DPPLGetDeviceDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef) +DPPLDevice_GetDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef) { auto driver = unwrap(DRef)->get_info(); auto cstr_driver = new char [driver.length()+1]; @@ -126,7 +126,7 @@ DPPLGetDeviceDriverInfo (__dppl_keep const DPPLSyclDeviceRef DRef) return cstr_driver; } -bool DPPLGetDeviceHostUnifiedMemory (__dppl_keep const DPPLSyclDeviceRef DRef) +bool DPPLDevice_IsHostUnifiedMemory (__dppl_keep const DPPLSyclDeviceRef DRef) { return unwrap(DRef)->get_info(); } diff --git a/backends/source/dppl_sycl_queue_interface.cpp b/backends/source/dppl_sycl_queue_interface.cpp index e02479d69d..af3fd7a611 100644 --- a/backends/source/dppl_sycl_queue_interface.cpp +++ b/backends/source/dppl_sycl_queue_interface.cpp @@ -39,7 +39,7 @@ namespace } /* end of anonymous namespace */ __dppl_give DPPLSyclDeviceRef -DPPLGetDeviceFromQueue (__dppl_keep const DPPLSyclQueueRef QRef) +DPPLQueue_GetDevice (__dppl_keep const DPPLSyclQueueRef QRef) { auto Q = unwrap(QRef); auto Device = new device(Q->get_device()); @@ -47,7 +47,7 @@ DPPLGetDeviceFromQueue (__dppl_keep const DPPLSyclQueueRef QRef) } __dppl_give DPPLSyclContextRef -DPPLGetContextFromQueue (__dppl_keep const DPPLSyclQueueRef QRef) +DPPLQueue_GetContext (__dppl_keep const DPPLSyclQueueRef QRef) { auto Q = unwrap(QRef); auto Context = new context(Q->get_context()); @@ -57,7 +57,7 @@ DPPLGetContextFromQueue (__dppl_keep const DPPLSyclQueueRef QRef) /*! * Delete the passed in pointer after verifying it points to a sycl::queue. */ -void DPPLDeleteSyclQueue (__dppl_take DPPLSyclQueueRef QRef) +void DPPLQueue_Delete (__dppl_take DPPLSyclQueueRef QRef) { delete unwrap(QRef); } diff --git a/backends/source/dppl_sycl_queue_manager.cpp b/backends/source/dppl_sycl_queue_manager.cpp index 17776fda11..3fa6033016 100644 --- a/backends/source/dppl_sycl_queue_manager.cpp +++ b/backends/source/dppl_sycl_queue_manager.cpp @@ -138,8 +138,7 @@ DPPLSyclQueueRef QMgrHelper::getCurrentQueue () * purpose. */ DPPLSyclQueueRef -QMgrHelper::getQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum) +QMgrHelper::getQueue (DPPLSyclDeviceType DeviceTy, size_t DNum) { queue *QRef = nullptr; @@ -280,7 +279,7 @@ QMgrHelper::popSyclQueue () * Returns inside the number of activated queues not including the global queue * (QMgrHelper::active_queues[0]). */ -size_t DPPLGetNumActivatedQueues () +size_t DPPLQueueMgr_GetNumActivatedQueues () { if (QMgrHelper::active_queues.empty()) error_reporter("No active contexts"); @@ -290,7 +289,7 @@ size_t DPPLGetNumActivatedQueues () /*! * Returns the number of CPU queues. */ -size_t DPPLGetNumCPUQueues () +size_t DPPLQueueMgr_GetNumCPUQueues () { return QMgrHelper::cpu_queues.size(); } @@ -298,7 +297,7 @@ size_t DPPLGetNumCPUQueues () /*! * Returns the number of GPU queues. */ -size_t DPPLGetNumGPUQueues () +size_t DPPLQueueMgr_GetNumGPUQueues () { return QMgrHelper::gpu_queues.size(); } @@ -306,7 +305,7 @@ size_t DPPLGetNumGPUQueues () /*! * \see QMgrHelper::getCurrentQueue() */ -DPPLSyclQueueRef DPPLGetCurrentQueue () +DPPLSyclQueueRef DPPLQueueMgr_GetCurrentQueue () { return QMgrHelper::getCurrentQueue(); } @@ -315,8 +314,8 @@ DPPLSyclQueueRef DPPLGetCurrentQueue () * Returns a copy of a sycl::queue corresponding to the specified device type * and device number. A runtime_error gets thrown if no such device exists. */ -DPPLSyclQueueRef DPPLGetQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum) +DPPLSyclQueueRef DPPLQueueMgr_GetQueue (DPPLSyclDeviceType DeviceTy, + size_t DNum) { return QMgrHelper::getQueue(DeviceTy, DNum); } @@ -327,7 +326,7 @@ DPPLSyclQueueRef DPPLGetQueue (DPPLSyclDeviceType DeviceTy, * specified device type and id. A runtime_error gets thrown if no such device * exists. */ -void DPPLSetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, size_t DNum) +void DPPLQueueMgr_SetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, size_t DNum) { QMgrHelper::setAsDefaultQueue(DeviceTy, DNum); } @@ -335,8 +334,8 @@ void DPPLSetAsDefaultQueue (DPPLSyclDeviceType DeviceTy, size_t DNum) /*! * \see QMgrHelper::pushSyclQueue() */ -__dppl_give DPPLSyclQueueRef DPPLPushSyclQueue (DPPLSyclDeviceType DeviceTy, - size_t DNum) +__dppl_give DPPLSyclQueueRef +DPPLQueueMgr_PushQueue (DPPLSyclDeviceType DeviceTy, size_t DNum) { return QMgrHelper::pushSyclQueue(DeviceTy, DNum); } @@ -344,7 +343,7 @@ __dppl_give DPPLSyclQueueRef DPPLPushSyclQueue (DPPLSyclDeviceType DeviceTy, /*! * \see QMgrHelper::popSyclQueue() */ -void DPPLPopSyclQueue () +void DPPLQueueMgr_PopQueue () { QMgrHelper::popSyclQueue(); } diff --git a/backends/source/dppl_utils.cpp b/backends/source/dppl_utils.cpp index 39006153ae..4c0e9857dc 100644 --- a/backends/source/dppl_utils.cpp +++ b/backends/source/dppl_utils.cpp @@ -25,7 +25,7 @@ #include "dppl_utils.h" -void DPPLDeleteCString (__dppl_take const char* str) +void DPPLCString_Delete (__dppl_take const char* str) { delete str; } diff --git a/backends/tests/test_sycl_queue_manager.cpp b/backends/tests/test_sycl_queue_manager.cpp index d38ddb2a8a..05b04aabf6 100644 --- a/backends/tests/test_sycl_queue_manager.cpp +++ b/backends/tests/test_sycl_queue_manager.cpp @@ -24,8 +24,8 @@ /// //===----------------------------------------------------------------------===// #include "dppl_sycl_device_interface.h" -#include "dppl_sycl_queue_manager.h" #include "dppl_sycl_queue_interface.h" +#include "dppl_sycl_queue_manager.h" #include #include @@ -35,23 +35,23 @@ namespace { void foo (size_t & num) { - auto q1 = DPPLPushSyclQueue(DPPL_CPU, 0); - auto q2 = DPPLPushSyclQueue(DPPL_GPU, 0); + auto q1 = DPPLQueueMgr_PushQueue(DPPL_CPU, 0); + auto q2 = DPPLQueueMgr_PushQueue(DPPL_GPU, 0); // Capture the number of active queues in first - num = DPPLGetNumActivatedQueues(); - DPPLPopSyclQueue(); - DPPLPopSyclQueue(); - DPPLDeleteSyclQueue(q1); - DPPLDeleteSyclQueue(q2); + num = DPPLQueueMgr_GetNumActivatedQueues(); + DPPLQueueMgr_PopQueue(); + DPPLQueueMgr_PopQueue(); + DPPLQueue_Delete(q1); + DPPLQueue_Delete(q2); } void bar (size_t & num) { - auto q1 = DPPLPushSyclQueue(DPPL_GPU, 0); + auto q1 = DPPLQueueMgr_PushQueue(DPPL_GPU, 0); // Capture the number of active queues in second - num = DPPLGetNumActivatedQueues(); - DPPLPopSyclQueue(); - DPPLDeleteSyclQueue(q1); + num = DPPLQueueMgr_GetNumActivatedQueues(); + DPPLQueueMgr_PopQueue(); + DPPLQueue_Delete(q1); } } @@ -62,30 +62,30 @@ struct TestDPPLSyclQueuemanager : public ::testing::Test TEST_F (TestDPPLSyclQueuemanager, CheckDPPLGetCurrentQueue) { DPPLSyclQueueRef q; - ASSERT_NO_THROW(q = DPPLGetCurrentQueue()); + ASSERT_NO_THROW(q = DPPLQueueMgr_GetCurrentQueue()); ASSERT_TRUE(q != nullptr); } TEST_F (TestDPPLSyclQueuemanager, CheckDPPLGetQueue) { - auto numCpuQueues = DPPLGetNumCPUQueues(); - auto numGpuQueues = DPPLGetNumGPUQueues(); + auto numCpuQueues = DPPLQueueMgr_GetNumCPUQueues(); + auto numGpuQueues = DPPLQueueMgr_GetNumGPUQueues(); if(numCpuQueues > 0) { - EXPECT_TRUE(DPPLGetQueue(DPPL_CPU, 0) != nullptr); + EXPECT_TRUE(DPPLQueueMgr_GetQueue(DPPL_CPU, 0) != nullptr); auto non_existent_device_num = numCpuQueues+1; try { - DPPLGetQueue(DPPL_CPU, non_existent_device_num); + DPPLQueueMgr_GetQueue(DPPL_CPU, non_existent_device_num); FAIL() << "SYCL CPU device " << non_existent_device_num << "not found on system."; } catch (...) { } } if(numGpuQueues > 0) { - EXPECT_TRUE(DPPLGetQueue(DPPL_GPU, 0) != nullptr); + EXPECT_TRUE(DPPLQueueMgr_GetQueue(DPPL_GPU, 0) != nullptr); auto non_existent_device_num = numGpuQueues+1; try { - DPPLGetQueue(DPPL_GPU, non_existent_device_num); + DPPLQueueMgr_GetQueue(DPPL_GPU, non_existent_device_num); FAIL() << "SYCL GPU device " << non_existent_device_num << "not found on system."; } @@ -99,7 +99,7 @@ TEST_F (TestDPPLSyclQueuemanager, CheckGetNumActivatedQueues) size_t num0, num1, num2, num4; // Add a queue to main thread - auto q = DPPLPushSyclQueue(DPPL_CPU, 0); + auto q = DPPLQueueMgr_PushQueue(DPPL_CPU, 0); std::thread first (foo, std::ref(num1)); std::thread second (bar, std::ref(num2)); @@ -109,9 +109,9 @@ TEST_F (TestDPPLSyclQueuemanager, CheckGetNumActivatedQueues) second.join(); // Capture the number of active queues in first - num0 = DPPLGetNumActivatedQueues(); - DPPLPopSyclQueue(); - num4 = DPPLGetNumActivatedQueues(); + num0 = DPPLQueueMgr_GetNumActivatedQueues(); + DPPLQueueMgr_PopQueue(); + num4 = DPPLQueueMgr_GetNumActivatedQueues(); // Verify what the expected number of activated queues each time a thread // called getNumActivatedQueues. @@ -120,15 +120,15 @@ TEST_F (TestDPPLSyclQueuemanager, CheckGetNumActivatedQueues) EXPECT_EQ(num2, 1); EXPECT_EQ(num4, 0); - DPPLDeleteSyclQueue(q); + DPPLQueue_Delete(q); } TEST_F (TestDPPLSyclQueuemanager, CheckDPPLDumpDeviceInfo) { - auto q = DPPLGetCurrentQueue(); - EXPECT_NO_FATAL_FAILURE(DPPLDumpDeviceInfo(DPPLGetDeviceFromQueue(q))); - EXPECT_NO_FATAL_FAILURE(DPPLDeleteSyclQueue(q)); + auto q = DPPLQueueMgr_GetCurrentQueue(); + EXPECT_NO_FATAL_FAILURE(DPPLDevice_DumpInfo(DPPLQueue_GetDevice(q))); + EXPECT_NO_FATAL_FAILURE(DPPLQueue_Delete(q)); } diff --git a/dppl/_sycl_core.pxd b/dppl/_sycl_core.pxd index c4b8dd2ab1..cb0c238318 100644 --- a/dppl/_sycl_core.pxd +++ b/dppl/_sycl_core.pxd @@ -22,6 +22,8 @@ ## This file defines the Cython interface for the Sycl API of PyDPPL. ## ##===----------------------------------------------------------------------===## +# distutils: language = c++ +# cython: language_level=3 from .backend cimport * diff --git a/dppl/backend.pxd b/dppl/backend.pxd index a427bbda3a..3584cf2e28 100644 --- a/dppl/backend.pxd +++ b/dppl/backend.pxd @@ -22,12 +22,14 @@ ## This file defines the Cython interface for the backend API of PyDPPL. ## ##===----------------------------------------------------------------------===## +# distutils: language = c++ +# cython: language_level=3 from libcpp cimport bool cdef extern from "dppl_utils.h": - cdef void DPPLDeleteCString (const char *str) + cdef void DPPLCString_Delete (const char *str) cdef extern from "dppl_sycl_types.h": @@ -43,23 +45,23 @@ cdef extern from "dppl_sycl_types.h": cdef extern from "dppl_sycl_context_interface.h": - cdef void DPPLDeleteSyclContext (DPPLSyclContextRef CtxtRef) except + + cdef void DPPLContext_Delete (DPPLSyclContextRef CtxtRef) except + cdef extern from "dppl_sycl_device_interface.h": - cdef void DPPLDumpDeviceInfo (const DPPLSyclDeviceRef DRef) except + - cdef void DPPLDeleteSyclDevice (DPPLSyclDeviceRef DRef) except + - cdef void DPPLDumpDeviceInfo (const DPPLSyclDeviceRef DRef) except + - cdef bool DPPLDeviceIsAccelerator (const DPPLSyclDeviceRef DRef) except + - cdef bool DPPLDeviceIsCPU (const DPPLSyclDeviceRef DRef) except + - cdef bool DPPLDeviceIsGPU (const DPPLSyclDeviceRef DRef) except + - cdef bool DPPLDeviceIsHost (const DPPLSyclDeviceRef DRef) except + - cdef const char* DPPLGetDeviceDriverInfo (const DPPLSyclDeviceRef DRef) \ + cdef void DPPLDevice_DumpInfo (const DPPLSyclDeviceRef DRef) except + + cdef void DPPLDevice_Delete (DPPLSyclDeviceRef DRef) except + + cdef void DPPLDevice_DumpInfo (const DPPLSyclDeviceRef DRef) except + + cdef bool DPPLDevice_IsAccelerator (const DPPLSyclDeviceRef DRef) except + + cdef bool DPPLDevice_IsCPU (const DPPLSyclDeviceRef DRef) except + + cdef bool DPPLDevice_IsGPU (const DPPLSyclDeviceRef DRef) except + + cdef bool DPPLDevice_IsHost (const DPPLSyclDeviceRef DRef) except + + cdef const char* DPPLDevice_GetDriverInfo (const DPPLSyclDeviceRef DRef) \ except + - cdef const char* DPPLGetDeviceName (const DPPLSyclDeviceRef DRef) except + - cdef const char* DPPLGetDeviceVendorName (const DPPLSyclDeviceRef DRef) \ + cdef const char* DPPLDevice_GetName (const DPPLSyclDeviceRef DRef) except + + cdef const char* DPPLDevice_GetVendorName (const DPPLSyclDeviceRef DRef) \ except + - cdef bool DPPLGetDeviceHostUnifiedMemory (const DPPLSyclDeviceRef DRef) \ + cdef bool DPPLDevice_IsHostUnifiedMemory (const DPPLSyclDeviceRef DRef) \ except + @@ -69,10 +71,10 @@ cdef extern from "dppl_sycl_platform_interface.h": cdef extern from "dppl_sycl_queue_interface.h": - cdef void DPPLDeleteSyclQueue (DPPLSyclQueueRef QRef) except + - cdef DPPLSyclContextRef DPPLGetContextFromQueue (const DPPLSyclQueueRef Q) \ + cdef void DPPLQueue_Delete (DPPLSyclQueueRef QRef) except + + cdef DPPLSyclContextRef DPPLQueue_GetContext (const DPPLSyclQueueRef Q) \ except+ - cdef DPPLSyclDeviceRef DPPLGetDeviceFromQueue (const DPPLSyclQueueRef Q) \ + cdef DPPLSyclDeviceRef DPPLQueue_GetDevice (const DPPLSyclQueueRef Q) \ except + @@ -81,17 +83,17 @@ cdef extern from "dppl_sycl_queue_manager.h": _GPU 'DPPL_GPU' _CPU 'DPPL_CPU' - cdef DPPLSyclQueueRef DPPLGetCurrentQueue () except + - cdef size_t DPPLGetNumCPUQueues () except + - cdef size_t DPPLGetNumGPUQueues () except + - cdef size_t DPPLGetNumActivatedQueues () except + - cdef DPPLSyclQueueRef DPPLGetQueue (_device_type DTy, - size_t device_num) except + - cdef void DPPLPopSyclQueue () except + - cdef DPPLSyclQueueRef DPPLPushSyclQueue (_device_type DTy, - size_t device_num) except + - cdef void DPPLSetAsDefaultQueue (_device_type DTy, - size_t device_num) except + + cdef DPPLSyclQueueRef DPPLQueueMgr_GetCurrentQueue () except + + cdef size_t DPPLQueueMgr_GetNumCPUQueues () except + + cdef size_t DPPLQueueMgr_GetNumGPUQueues () except + + cdef size_t DPPLQueueMgr_GetNumActivatedQueues () except + + cdef DPPLSyclQueueRef DPPLQueueMgr_GetQueue (_device_type DTy, + size_t device_num) except + + cdef void DPPLQueueMgr_PopQueue () except + + cdef DPPLSyclQueueRef DPPLQueueMgr_PushQueue (_device_type DTy, + size_t device_num) except + + cdef void DPPLQueueMgr_SetAsDefaultQueue (_device_type DTy, + size_t device_num) except + cdef extern from "dppl_sycl_usm_interface.h": diff --git a/dppl/sycl_core.pyx b/dppl/sycl_core.pyx index 5df3af4367..9b910e6b5d 100644 --- a/dppl/sycl_core.pyx +++ b/dppl/sycl_core.pyx @@ -56,7 +56,7 @@ cdef class SyclContext: return ret def __dealloc__ (self): - DPPLDeleteSyclContext(self.ctxt_ptr) + DPPLContext_Delete(self.ctxt_ptr) cdef DPPLSyclContextRef get_context_ref (self): return self.ctxt_ptr @@ -70,21 +70,21 @@ cdef class SyclDevice: cdef SyclDevice _create (DPPLSyclDeviceRef dref): cdef SyclDevice ret = SyclDevice.__new__(SyclDevice) ret.device_ptr = dref - ret.vendor_name = DPPLGetDeviceVendorName(dref) - ret.device_name = DPPLGetDeviceName(dref) - ret.driver_version = DPPLGetDeviceDriverInfo(dref) + ret.vendor_name = DPPLDevice_GetVendorName(dref) + ret.device_name = DPPLDevice_GetName(dref) + ret.driver_version = DPPLDevice_GetDriverInfo(dref) return ret def __dealloc__ (self): - DPPLDeleteSyclDevice(self.device_ptr) - DPPLDeleteCString(self.device_name) - DPPLDeleteCString(self.vendor_name) - DPPLDeleteCString(self.driver_version) + DPPLDevice_Delete(self.device_ptr) + DPPLCString_Delete(self.device_name) + DPPLCString_Delete(self.vendor_name) + DPPLCString_Delete(self.driver_version) def dump_device_info (self): ''' Print information about the SYCL device. ''' - DPPLDumpDeviceInfo(self.device_ptr) + DPPLDevice_DumpInfo(self.device_ptr) def get_device_name (self): ''' Returns the name of the device as a string @@ -121,13 +121,13 @@ cdef class SyclQueue: return ret def __dealloc__ (self): - DPPLDeleteSyclQueue(self.queue_ptr) + DPPLQueue_Delete(self.queue_ptr) cpdef SyclContext get_sycl_context (self): - return SyclContext._create(DPPLGetContextFromQueue(self.queue_ptr)) + return SyclContext._create(DPPLQueue_GetContext(self.queue_ptr)) cpdef SyclDevice get_sycl_device (self): - return SyclDevice._create(DPPLGetDeviceFromQueue(self.queue_ptr)) + return SyclDevice._create(DPPLQueue_GetDevice(self.queue_ptr)) cdef DPPLSyclQueueRef get_queue_ref (self): return self.queue_ptr @@ -137,9 +137,9 @@ cdef class _SyclQueueManager: def _set_as_current_queue (self, device_ty, device_id): cdef DPPLSyclQueueRef queue_ptr if device_ty == device_type.gpu: - queue_ptr = DPPLPushSyclQueue(_device_type._GPU, device_id) + queue_ptr = DPPLQueueMgr_PushQueue(_device_type._GPU, device_id) elif device_ty == device_type.cpu: - queue_ptr = DPPLPushSyclQueue(_device_type._CPU, device_id) + queue_ptr = DPPLQueueMgr_PushQueue(_device_type._CPU, device_id) else: e = UnsupportedDeviceTypeError("Device can only be cpu or gpu") raise e @@ -147,7 +147,7 @@ cdef class _SyclQueueManager: return SyclQueue._create(queue_ptr) def _remove_current_queue (self): - DPPLPopSyclQueue() + DPPLQueueMgr_PopQueue() def has_sycl_platforms (self): cdef size_t num_platforms = DPPLPlatform_GetNumPlatforms() @@ -164,31 +164,31 @@ cdef class _SyclQueueManager: def get_num_activated_queues (self): ''' Return the number of currently activated queues for this thread. ''' - return DPPLGetNumActivatedQueues() + return DPPLQueueMgr_GetNumActivatedQueues() def get_current_queue (self): ''' Returns the activated SYCL queue as a PyCapsule. ''' - return SyclQueue._create(DPPLGetCurrentQueue()) + return SyclQueue._create(DPPLQueueMgr_GetCurrentQueue()) def set_default_queue (self, device_ty, device_id): if device_ty == device_type.gpu: - DPPLSetAsDefaultQueue(_device_type._GPU, device_id) + DPPLQueueMgr_SetAsDefaultQueue(_device_type._GPU, device_id) elif device_ty == device_type.cpu: - DPPLSetAsDefaultQueue(_device_type._CPU, device_id) + DPPLQueueMgr_SetAsDefaultQueue(_device_type._CPU, device_id) else: e = UnsupportedDeviceTypeError("Device can only be cpu or gpu") raise e def has_gpu_queues (self): - cdef size_t num = DPPLGetNumGPUQueues() + cdef size_t num = DPPLQueueMgr_GetNumGPUQueues() if num: return True else: return False def has_cpu_queues (self): - cdef size_t num = DPPLGetNumCPUQueues() + cdef size_t num = DPPLQueueMgr_GetNumCPUQueues() if num: return True else: @@ -200,7 +200,7 @@ cdef class _SyclQueueManager: DPPLPlatform_DumpInfo() def is_in_dppl_ctxt (self): - cdef size_t num = DPPLGetNumActivatedQueues() + cdef size_t num = DPPLQueueMgr_GetNumActivatedQueues() if num: return True else: