blob: f16031b432d111929cae697c440ea4d110d1de37 [file] [log] [blame]
// Copyright 2021 The IREE Authors
//
// Licensed under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//===----------------------------------------------------------------------===//
// CUDA symbols
//===----------------------------------------------------------------------===//
IREE_CU_PFN_DECL(cuCtxCreate, CUcontext*, unsigned int, CUdevice)
IREE_CU_PFN_DECL(cuCtxDestroy, CUcontext)
IREE_CU_PFN_DECL(cuDevicePrimaryCtxRetain, CUcontext*, CUdevice)
IREE_CU_PFN_DECL(cuDevicePrimaryCtxRelease, CUdevice)
IREE_CU_PFN_DECL(cuCtxSetCurrent, CUcontext)
IREE_CU_PFN_DECL(cuCtxPushCurrent, CUcontext)
IREE_CU_PFN_DECL(cuCtxPopCurrent, CUcontext*)
IREE_CU_PFN_DECL(cuDeviceGet, CUdevice*, int)
IREE_CU_PFN_DECL(cuDeviceGetCount, int*)
IREE_CU_PFN_DECL(cuDeviceGetName, char*, int, CUdevice)
IREE_CU_PFN_DECL(cuDeviceGetAttribute, int*, CUdevice_attribute, CUdevice)
IREE_CU_PFN_DECL(cuDeviceGetUuid, CUuuid*, CUdevice)
IREE_CU_PFN_DECL(cuEventCreate, CUevent*, unsigned int)
IREE_CU_PFN_DECL(cuEventDestroy, CUevent)
IREE_CU_PFN_DECL(cuEventElapsedTime, float*, CUevent, CUevent)
IREE_CU_PFN_DECL(cuEventQuery, CUevent)
IREE_CU_PFN_DECL(cuEventRecord, CUevent, CUstream)
IREE_CU_PFN_DECL(cuEventSynchronize, CUevent)
IREE_CU_PFN_DECL(cuGetErrorName, CUresult, const char**)
IREE_CU_PFN_DECL(cuGetErrorString, CUresult, const char**)
IREE_CU_PFN_DECL(cuGraphAddMemcpyNode, CUgraphNode*, CUgraph,
const CUgraphNode*, size_t, const CUDA_MEMCPY3D*, CUcontext)
IREE_CU_PFN_DECL(cuGraphAddMemsetNode, CUgraphNode*, CUgraph,
const CUgraphNode*, size_t, const CUDA_MEMSET_NODE_PARAMS*,
CUcontext)
IREE_CU_PFN_DECL(cuGraphAddKernelNode, CUgraphNode*, CUgraph,
const CUgraphNode*, size_t, const CUDA_KERNEL_NODE_PARAMS*)
IREE_CU_PFN_DECL(cuGraphCreate, CUgraph*, unsigned int)
IREE_CU_PFN_DECL(cuGraphDestroy, CUgraph)
IREE_CU_PFN_DECL(cuGraphExecDestroy, CUgraphExec)
IREE_CU_PFN_DECL(cuGraphGetNodes, CUgraph, CUgraphNode*, size_t*)
IREE_CU_PFN_DECL(cuGraphInstantiate, CUgraphExec*, CUgraph, CUgraphNode*, char*,
size_t)
IREE_CU_PFN_DECL(cuGraphLaunch, CUgraphExec, CUstream)
IREE_CU_PFN_DECL(cuInit, unsigned int)
IREE_CU_PFN_DECL(cuMemAllocManaged, CUdeviceptr*, size_t, unsigned int)
IREE_CU_PFN_DECL(cuMemPrefetchAsync, CUdeviceptr, size_t, CUdevice, CUstream)
IREE_CU_PFN_DECL(cuMemAlloc, CUdeviceptr*, size_t)
IREE_CU_PFN_DECL(cuMemFree, CUdeviceptr)
IREE_CU_PFN_DECL(cuMemFreeHost, void*)
IREE_CU_PFN_DECL(cuMemHostAlloc, void**, size_t, unsigned int)
IREE_CU_PFN_DECL(cuMemHostRegister, void*, size_t, unsigned int)
IREE_CU_PFN_DECL(cuMemHostUnregister, void*)
IREE_CU_PFN_DECL(cuMemHostGetDevicePointer, CUdeviceptr*, void*, unsigned int)
IREE_CU_PFN_DECL(cuModuleGetFunction, CUfunction*, CUmodule, const char*)
IREE_CU_PFN_DECL(cuModuleLoadDataEx, CUmodule*, const void*, unsigned int,
CUjit_option*, void**)
IREE_CU_PFN_DECL(cuModuleUnload, CUmodule)
IREE_CU_PFN_DECL(cuStreamCreate, CUstream*, unsigned int)
IREE_CU_PFN_DECL(cuStreamDestroy, CUstream)
IREE_CU_PFN_DECL(cuStreamSynchronize, CUstream)
IREE_CU_PFN_DECL(cuStreamWaitEvent, CUstream, CUevent, unsigned int)
IREE_CU_PFN_DECL(cuMemsetD32Async, unsigned long long, unsigned int, size_t,
CUstream)
IREE_CU_PFN_DECL(cuMemsetD16Async, unsigned long long, unsigned short, size_t,
CUstream)
IREE_CU_PFN_DECL(cuMemsetD8Async, unsigned long long, unsigned char, size_t,
CUstream)
IREE_CU_PFN_DECL(cuMemcpyAsync, CUdeviceptr, CUdeviceptr, size_t, CUstream)
IREE_CU_PFN_DECL(cuMemcpyHtoDAsync_v2, CUdeviceptr, const void*, size_t,
CUstream)
IREE_CU_PFN_DECL(cuFuncSetAttribute, CUfunction, CUfunction_attribute, int)
IREE_CU_PFN_DECL(cuLaunchKernel, CUfunction, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, CUstream, void**, void**)
//===----------------------------------------------------------------------===//
// NCCL symbols
//===----------------------------------------------------------------------===//
IREE_NCCL_PFN_DECL(ncclGetVersion, int*)
IREE_NCCL_PFN_DECL(ncclGetUniqueId, ncclUniqueId*)
IREE_NCCL_PFN_DECL(ncclCommInitRankConfig, ncclComm_t*, int, ncclUniqueId, int,
ncclConfig_t*)
IREE_NCCL_PFN_DECL(ncclCommInitRank, ncclComm_t*, int, ncclUniqueId, int)
IREE_NCCL_PFN_DECL(ncclCommInitAll, ncclComm_t*, int, const int*)
IREE_NCCL_PFN_DECL(ncclCommSplit, ncclComm_t, int, int, ncclComm_t*,
ncclConfig_t*)
IREE_NCCL_PFN_DECL(ncclCommFinalize, ncclComm_t)
IREE_NCCL_PFN_DECL(ncclCommDestroy, ncclComm_t)
IREE_NCCL_PFN_DECL(ncclCommAbort, ncclComm_t)
IREE_NCCL_PFN_DECL_STR_RETURN(ncclGetErrorString, ncclResult_t)
IREE_NCCL_PFN_DECL_STR_RETURN(ncclGetLastError, ncclComm_t)
IREE_NCCL_PFN_DECL(ncclCommGetAsyncError, ncclComm_t, ncclResult_t*)
IREE_NCCL_PFN_DECL(ncclCommCount, const ncclComm_t, int*)
IREE_NCCL_PFN_DECL(ncclCommCuDevice, const ncclComm_t, int*)
IREE_NCCL_PFN_DECL(ncclCommUserRank, const ncclComm_t, int*)
IREE_NCCL_PFN_DECL(ncclRedOpCreatePreMulSum, ncclRedOp_t*, void*,
ncclDataType_t, ncclScalarResidence_t, ncclComm_t)
IREE_NCCL_PFN_DECL(ncclRedOpDestroy, ncclRedOp_t, ncclComm_t)
IREE_NCCL_PFN_DECL(ncclReduce, const void*, void*, size_t, ncclDataType_t,
ncclRedOp_t, int, ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclBcast, void*, size_t, ncclDataType_t, int, ncclComm_t,
cudaStream_t)
IREE_NCCL_PFN_DECL(ncclBroadcast, const void*, void*, size_t, ncclDataType_t,
int, ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclAllReduce, const void*, void*, size_t, ncclDataType_t,
ncclRedOp_t, ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclReduceScatter, const void*, void*, size_t,
ncclDataType_t, ncclRedOp_t, ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclAllGather, const void*, void*, size_t, ncclDataType_t,
ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclSend, const void*, size_t, ncclDataType_t, int,
ncclComm_t, cudaStream_t)
IREE_NCCL_PFN_DECL(ncclRecv, void*, size_t, ncclDataType_t, int, ncclComm_t,
cudaStream_t)
IREE_NCCL_PFN_DECL(ncclGroupStart)
IREE_NCCL_PFN_DECL(ncclGroupEnd)