}
#define DLWRAP_IMPL(SYMBOL, ARITY) \
- DLWRAP_COMMON(SYMBOL, ARITY); \
+ DLWRAP_COMMON(SYMBOL, ARITY) \
DLWRAP_INSTANTIATE(SYMBOL, SYMBOL, ARITY)
#define DLWRAP_INTERNAL_IMPL(SYMBOL, ARITY) \
- DLWRAP_COMMON(SYMBOL, ARITY); \
+ DLWRAP_COMMON(SYMBOL, ARITY) \
static DLWRAP_INSTANTIATE(dlwrap_##SYMBOL, SYMBOL, ARITY)
#define DLWRAP_INSTANTIATE_0(SYM_DEF, SYM_USE, T) \
if (OMP_TeamsThreadLimit > 0)
GridValues.GV_Max_WG_Size =
std::min(GridValues.GV_Max_WG_Size, uint32_t(OMP_TeamsThreadLimit));
-};
+}
Error GenericDeviceTy::init(GenericPluginTy &Plugin) {
if (auto Err = initImpl(Plugin))
#include "hsa_ext_amd.h"
#include <memory>
-DLWRAP_INITIALIZE();
+DLWRAP_INITIALIZE()
-DLWRAP_INTERNAL(hsa_init, 0);
+DLWRAP_INTERNAL(hsa_init, 0)
-DLWRAP(hsa_status_string, 2);
-DLWRAP(hsa_shut_down, 0);
-DLWRAP(hsa_system_get_info, 2);
-DLWRAP(hsa_agent_get_info, 3);
-DLWRAP(hsa_isa_get_info_alt, 3);
-DLWRAP(hsa_iterate_agents, 2);
-DLWRAP(hsa_agent_iterate_isas, 3);
-DLWRAP(hsa_signal_create, 4);
-DLWRAP(hsa_signal_destroy, 1);
-DLWRAP(hsa_signal_store_relaxed, 2);
-DLWRAP(hsa_signal_store_screlease, 2);
-DLWRAP(hsa_signal_wait_scacquire, 5);
-DLWRAP(hsa_queue_create, 8);
-DLWRAP(hsa_queue_destroy, 1);
-DLWRAP(hsa_queue_load_read_index_scacquire, 1);
-DLWRAP(hsa_queue_add_write_index_relaxed, 2);
-DLWRAP(hsa_memory_copy, 3);
-DLWRAP(hsa_executable_create, 4);
-DLWRAP(hsa_executable_destroy, 1);
-DLWRAP(hsa_executable_freeze, 2);
-DLWRAP(hsa_executable_symbol_get_info, 3);
-DLWRAP(hsa_executable_iterate_symbols, 3);
-DLWRAP(hsa_code_object_deserialize, 4);
-DLWRAP(hsa_executable_load_code_object, 4);
-DLWRAP(hsa_amd_agent_memory_pool_get_info, 4);
-DLWRAP(hsa_amd_agent_iterate_memory_pools, 3);
-DLWRAP(hsa_amd_memory_pool_allocate, 4);
-DLWRAP(hsa_amd_memory_pool_free, 1);
-DLWRAP(hsa_amd_memory_async_copy, 8);
-DLWRAP(hsa_amd_memory_pool_get_info, 3);
-DLWRAP(hsa_amd_agents_allow_access, 4);
-DLWRAP(hsa_amd_memory_lock, 5);
-DLWRAP(hsa_amd_memory_unlock, 1);
-DLWRAP(hsa_amd_memory_fill, 3);
-DLWRAP(hsa_amd_register_system_event_handler, 2);
+DLWRAP(hsa_status_string, 2)
+DLWRAP(hsa_shut_down, 0)
+DLWRAP(hsa_system_get_info, 2)
+DLWRAP(hsa_agent_get_info, 3)
+DLWRAP(hsa_isa_get_info_alt, 3)
+DLWRAP(hsa_iterate_agents, 2)
+DLWRAP(hsa_agent_iterate_isas, 3)
+DLWRAP(hsa_signal_create, 4)
+DLWRAP(hsa_signal_destroy, 1)
+DLWRAP(hsa_signal_store_relaxed, 2)
+DLWRAP(hsa_signal_store_screlease, 2)
+DLWRAP(hsa_signal_wait_scacquire, 5)
+DLWRAP(hsa_queue_create, 8)
+DLWRAP(hsa_queue_destroy, 1)
+DLWRAP(hsa_queue_load_read_index_scacquire, 1)
+DLWRAP(hsa_queue_add_write_index_relaxed, 2)
+DLWRAP(hsa_memory_copy, 3)
+DLWRAP(hsa_executable_create, 4)
+DLWRAP(hsa_executable_destroy, 1)
+DLWRAP(hsa_executable_freeze, 2)
+DLWRAP(hsa_executable_symbol_get_info, 3)
+DLWRAP(hsa_executable_iterate_symbols, 3)
+DLWRAP(hsa_code_object_deserialize, 4)
+DLWRAP(hsa_executable_load_code_object, 4)
+DLWRAP(hsa_amd_agent_memory_pool_get_info, 4)
+DLWRAP(hsa_amd_agent_iterate_memory_pools, 3)
+DLWRAP(hsa_amd_memory_pool_allocate, 4)
+DLWRAP(hsa_amd_memory_pool_free, 1)
+DLWRAP(hsa_amd_memory_async_copy, 8)
+DLWRAP(hsa_amd_memory_pool_get_info, 3)
+DLWRAP(hsa_amd_agents_allow_access, 4)
+DLWRAP(hsa_amd_memory_lock, 5)
+DLWRAP(hsa_amd_memory_unlock, 1)
+DLWRAP(hsa_amd_memory_fill, 3)
+DLWRAP(hsa_amd_register_system_event_handler, 2)
-DLWRAP_FINALIZE();
+DLWRAP_FINALIZE()
#ifndef DYNAMIC_HSA_PATH
#define DYNAMIC_HSA_PATH "libhsa-runtime64.so"
#include <string>
#include <unordered_map>
-DLWRAP_INITIALIZE();
+DLWRAP_INITIALIZE()
-DLWRAP_INTERNAL(cuInit, 1);
+DLWRAP_INTERNAL(cuInit, 1)
-DLWRAP(cuCtxGetDevice, 1);
-DLWRAP(cuDeviceGet, 2);
-DLWRAP(cuDeviceGetAttribute, 3);
-DLWRAP(cuDeviceGetCount, 1);
-DLWRAP(cuFuncGetAttribute, 3);
+DLWRAP(cuCtxGetDevice, 1)
+DLWRAP(cuDeviceGet, 2)
+DLWRAP(cuDeviceGetAttribute, 3)
+DLWRAP(cuDeviceGetCount, 1)
+DLWRAP(cuFuncGetAttribute, 3)
// Device info
-DLWRAP(cuDeviceGetName, 3);
-DLWRAP(cuDeviceTotalMem, 2);
-DLWRAP(cuDriverGetVersion, 1);
-
-DLWRAP(cuGetErrorString, 2);
-DLWRAP(cuLaunchKernel, 11);
-
-DLWRAP(cuMemAlloc, 2);
-DLWRAP(cuMemAllocHost, 2);
-DLWRAP(cuMemAllocManaged, 3);
-
-DLWRAP(cuMemcpyDtoDAsync, 4);
-DLWRAP(cuMemcpyDtoH, 3);
-DLWRAP(cuMemcpyDtoHAsync, 4);
-DLWRAP(cuMemcpyHtoD, 3);
-DLWRAP(cuMemcpyHtoDAsync, 4);
-
-DLWRAP(cuMemFree, 1);
-DLWRAP(cuMemFreeHost, 1);
-DLWRAP(cuModuleGetFunction, 3);
-DLWRAP(cuModuleGetGlobal, 4);
-
-DLWRAP(cuModuleUnload, 1);
-DLWRAP(cuStreamCreate, 2);
-DLWRAP(cuStreamDestroy, 1);
-DLWRAP(cuStreamSynchronize, 1);
-DLWRAP(cuCtxSetCurrent, 1);
-DLWRAP(cuDevicePrimaryCtxRelease, 1);
-DLWRAP(cuDevicePrimaryCtxGetState, 3);
-DLWRAP(cuDevicePrimaryCtxSetFlags, 2);
-DLWRAP(cuDevicePrimaryCtxRetain, 2);
-DLWRAP(cuModuleLoadDataEx, 5);
-
-DLWRAP(cuDeviceCanAccessPeer, 3);
-DLWRAP(cuCtxEnablePeerAccess, 2);
-DLWRAP(cuMemcpyPeerAsync, 6);
-
-DLWRAP(cuCtxGetLimit, 2);
-DLWRAP(cuCtxSetLimit, 2);
-
-DLWRAP(cuEventCreate, 2);
-DLWRAP(cuEventRecord, 2);
-DLWRAP(cuStreamWaitEvent, 3);
-DLWRAP(cuEventSynchronize, 1);
-DLWRAP(cuEventDestroy, 1);
-
-DLWRAP_FINALIZE();
+DLWRAP(cuDeviceGetName, 3)
+DLWRAP(cuDeviceTotalMem, 2)
+DLWRAP(cuDriverGetVersion, 1)
+
+DLWRAP(cuGetErrorString, 2)
+DLWRAP(cuLaunchKernel, 11)
+
+DLWRAP(cuMemAlloc, 2)
+DLWRAP(cuMemAllocHost, 2)
+DLWRAP(cuMemAllocManaged, 3)
+
+DLWRAP(cuMemcpyDtoDAsync, 4)
+DLWRAP(cuMemcpyDtoH, 3)
+DLWRAP(cuMemcpyDtoHAsync, 4)
+DLWRAP(cuMemcpyHtoD, 3)
+DLWRAP(cuMemcpyHtoDAsync, 4)
+
+DLWRAP(cuMemFree, 1)
+DLWRAP(cuMemFreeHost, 1)
+DLWRAP(cuModuleGetFunction, 3)
+DLWRAP(cuModuleGetGlobal, 4)
+
+DLWRAP(cuModuleUnload, 1)
+DLWRAP(cuStreamCreate, 2)
+DLWRAP(cuStreamDestroy, 1)
+DLWRAP(cuStreamSynchronize, 1)
+DLWRAP(cuCtxSetCurrent, 1)
+DLWRAP(cuDevicePrimaryCtxRelease, 1)
+DLWRAP(cuDevicePrimaryCtxGetState, 3)
+DLWRAP(cuDevicePrimaryCtxSetFlags, 2)
+DLWRAP(cuDevicePrimaryCtxRetain, 2)
+DLWRAP(cuModuleLoadDataEx, 5)
+
+DLWRAP(cuDeviceCanAccessPeer, 3)
+DLWRAP(cuCtxEnablePeerAccess, 2)
+DLWRAP(cuMemcpyPeerAsync, 6)
+
+DLWRAP(cuCtxGetLimit, 2)
+DLWRAP(cuCtxSetLimit, 2)
+
+DLWRAP(cuEventCreate, 2)
+DLWRAP(cuEventRecord, 2)
+DLWRAP(cuStreamWaitEvent, 3)
+DLWRAP(cuEventSynchronize, 1)
+DLWRAP(cuEventDestroy, 1)
+
+DLWRAP_FINALIZE()
#ifndef DYNAMIC_CUDA_PATH
#define DYNAMIC_CUDA_PATH "libcuda.so"