Mooncake/mooncake-transfer-engine/include/gpu_vendor/musa.h

122 lines
5.3 KiB
C++

#pragma once
#include <string>
#include <musa.h>
#include <musa_runtime.h>
const static std::string GPU_PREFIX = "musa:";
#define CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED \
MU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_MUSA_VMM_SUPPORTED
#define CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED \
MU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED
#define CU_MEM_ACCESS_FLAGS_PROT_READWRITE MU_MEM_ACCESS_FLAGS_PROT_READWRITE
#define CU_MEM_ALLOC_GRANULARITY_MINIMUM MU_MEM_ALLOC_GRANULARITY_MINIMUM
#define CU_MEM_ALLOCATION_TYPE_PINNED MU_MEM_ALLOCATION_TYPE_PINNED
#define CU_MEM_HANDLE_TYPE_FABRIC MU_MEM_HANDLE_TYPE_FABRIC
#define CU_MEM_LOCATION_TYPE_DEVICE MU_MEM_LOCATION_TYPE_DEVICE
#define CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD MU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD
#define CU_MEMORYTYPE_DEVICE MU_MEMORYTYPE_DEVICE
#define CU_MEMORYTYPE_HOST MU_MEMORYTYPE_HOST
#define CU_POINTER_ATTRIBUTE_MEMORY_TYPE MU_POINTER_ATTRIBUTE_MEMORY_TYPE
#define CU_POINTER_ATTRIBUTE_RANGE_SIZE MU_POINTER_ATTRIBUTE_RANGE_SIZE
#define CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED \
MU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED
#define CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED \
MU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED
#define CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL MU_POINTER_ATTRIBUTE_DEVICE_ORDINAL
#define CUcontext MUcontext
#define CUdevice MUdevice
#define CUdeviceptr MUdeviceptr
#define CUmemAccessDesc MUmemAccessDesc
#define CUmemAllocationProp MUmemAllocationProp
#define CUmemFabricHandle MUmemFabricHandle
#define CUmemAllocationHandleType MUmemAllocationHandleType
#define CUmemGenericAllocationHandle MUmemGenericAllocationHandle
#define CUmemorytype MUmemorytype
#define CUresult MUresult
#define cuDeviceGet muDeviceGet
#define cuDeviceGetAttribute muDeviceGetAttribute
#define cuGetErrorString muGetErrorString
#define cuMemAddressFree muMemAddressFree
#define cuMemAddressReserve muMemAddressReserve
#define cuMemCreate muMemCreate
#define cuMemExportToShareableHandle muMemExportToShareableHandle
#define cuMemGetAddressRange muMemGetAddressRange
#define cuMemGetAllocationGranularity muMemGetAllocationGranularity
#define cuMemGetHandleForAddressRange muMemGetHandleForAddressRange
#define cuMemImportFromShareableHandle muMemImportFromShareableHandle
#define cuMemMap muMemMap
#define cuMemRelease muMemRelease
#define cuMemRetainAllocationHandle muMemRetainAllocationHandle
#define cuMemSetAccess muMemSetAccess
#define cuMemUnmap muMemUnmap
#define cuPointerGetAttribute muPointerGetAttribute
#define CUDA_SUCCESS MUSA_SUCCESS
#define CUDA_ERROR_NOT_PERMITTED MUSA_ERROR_NOT_PERMITTED
#define CUDA_ERROR_NOT_SUPPORTED MUSA_ERROR_NOT_SUPPORTED
#define cudaDeviceCanAccessPeer musaDeviceCanAccessPeer
#define cudaDeviceEnablePeerAccess musaDeviceEnablePeerAccess
#define cudaDeviceGetPCIBusId musaDeviceGetPCIBusId
#define cudaErrorPeerAccessAlreadyEnabled musaErrorPeerAccessAlreadyEnabled
#define cudaError_t musaError_t
#define cudaFree musaFree
#define cudaFreeHost musaFreeHost
#define cudaGetDevice musaGetDevice
#define cudaGetDeviceCount musaGetDeviceCount
#define cudaGetErrorString musaGetErrorString
#define cudaGetLastError musaGetLastError
#define cudaHostRegister musaHostRegister
#define cudaHostRegisterPortable musaHostRegisterPortable
#define cudaHostUnregister musaHostUnregister
#define cudaIpcCloseMemHandle musaIpcCloseMemHandle
#define cudaIpcGetMemHandle musaIpcGetMemHandle
#define cudaIpcMemHandle_t musaIpcMemHandle_t
#define cudaIpcMemLazyEnablePeerAccess musaIpcMemLazyEnablePeerAccess
#define cudaIpcOpenMemHandle musaIpcOpenMemHandle
#define cudaMalloc musaMalloc
#define cudaMallocHost musaMallocHost
#define cudaMemcpy musaMemcpy
#define cudaMemcpyAsync musaMemcpyAsync
#define cudaMemcpyDefault musaMemcpyDefault
#define cudaMemcpyDeviceToHost musaMemcpyDeviceToHost
#define cudaMemcpyDeviceToDevice musaMemcpyDeviceToDevice
#define cudaMemcpyHostToDevice musaMemcpyHostToDevice
#define cudaMemset musaMemset
#define cudaMemsetAsync musaMemsetAsync
#define cudaMemoryTypeDevice musaMemoryTypeDevice
#define cudaMemoryTypeHost musaMemoryTypeHost
#define cudaMemoryTypeUnregistered musaMemoryTypeUnregistered
#define cudaPointerAttributes musaPointerAttributes
#define cudaPointerGetAttributes musaPointerGetAttributes
#define cudaSetDevice musaSetDevice
#define cudaStreamCreate musaStreamCreate
#define cudaStreamDestroy musaStreamDestroy
#define cudaStreamSynchronize musaStreamSynchronize
#define cudaStream_t musaStream_t
#define cudaEvent_t musaEvent_t
#define cudaHostGetDevicePointer musaHostGetDevicePointer
#define cudaSuccess musaSuccess
#define cudaDeviceGetAttribute musaDeviceGetAttribute
#define cudaEvent_t musaEvent_t
#define cudaMemcpyDeviceToDevice musaMemcpyDeviceToDevice
#define cudaDevAttrClockRate musaDevAttrClockRate
#define cudaLaunchConfig_t musaLaunchConfig_t
#define cudaLaunchAttribute musaLaunchAttribute
#define cudaLaunchAttributeCooperative musaLaunchAttributeCooperative
#define cudaLaunchKernelEx musaLaunchKernelEx
#define CUDA_R_16BF MUSA_R_16BF
#define CUDA_R_32F MUSA_R_32F
// IBGDA-specific mappings
#define cuInit muInit
#define cuDevicePrimaryCtxRetain muDevicePrimaryCtxRetain
#define cuDevicePrimaryCtxRelease muDevicePrimaryCtxRelease
#define cuCtxSetCurrent muCtxSetCurrent
#define cudaHostRegisterMapped musaHostRegisterMapped
#define cudaHostRegisterIoMemory musaHostRegisterIoMemory
#define cudaHostGetDevicePointer musaHostGetDevicePointer