Interface cuda.ICudaMarshalling
ICuda simplified for marshalling only
Namespace: Hybridizer.Runtime.CUDAImports
Assembly: Hybridizer.Runtime.CUDAImports.dll
Syntax
public interface ICudaMarshalling
Methods
Free(IntPtr)
Free memory allocated on device
Declaration
cudaError_t Free(IntPtr dev)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | dev | Device pointer to free |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidDevicePointer, cudaErrorInitializationError |
Remarks
FreeHost(IntPtr)
Frees page-locked memory.
Declaration
cudaError_t FreeHost(IntPtr ptr)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | ptr | Pointer to memory to free |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInitializationError |
Remarks
GetErrorName(cudaError_t)
Returns the string representation of an error code enum name
Declaration
string GetErrorName(cudaError_t err)
Parameters
Type | Name | Description |
---|---|---|
cudaError_t | err |
Returns
Type | Description |
---|---|
System.String |
GetErrorString(cudaError_t)
Returns the description string for an error code
Declaration
string GetErrorString(cudaError_t err)
Parameters
Type | Name | Description |
---|---|---|
cudaError_t | err | Error code to convert to string |
Returns
Type | Description |
---|---|
System.String | char* pointer to a NULL-terminated string, or NULL if the error code is not valid. |
Remarks
GetLastError()
Get last cuda error
Declaration
cudaError_t GetLastError()
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorMissingConfiguration, cudaErrorMemoryAllocation, cudaErrorInitializationError, cudaErrorLaunchFailure, cudaErrorLaunchTimeout, cudaErrorLaunchOutOfResources, cudaErrorInvalidDeviceFunction, cudaErrorInvalidConfiguration, cudaErrorInvalidDevice, cudaErrorInvalidValue, cudaErrorInvalidPitchValue, cudaErrorInvalidSymbol, cudaErrorUnmapBufferObjectFailed, cudaErrorInvalidHostPointer, cudaErrorInvalidDevicePointer, cudaErrorInvalidTexture, cudaErrorInvalidTextureBinding, cudaErrorInvalidChannelDescriptor, cudaErrorInvalidMemcpyDirection, cudaErrorInvalidFilterSetting, cudaErrorInvalidNormSetting, cudaErrorUnknown, cudaErrorInvalidResourceHandle, cudaErrorInsufficientDriver, cudaErrorSetOnActiveProcess, cudaErrorStartupFailure, |
Remarks
GetPeekAtLastError()
Peek last cuda error
Declaration
cudaError_t GetPeekAtLastError()
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorMissingConfiguration, cudaErrorMemoryAllocation, cudaErrorInitializationError, cudaErrorLaunchFailure, cudaErrorLaunchTimeout, cudaErrorLaunchOutOfResources, cudaErrorInvalidDeviceFunction, cudaErrorInvalidConfiguration, cudaErrorInvalidDevice, cudaErrorInvalidValue, cudaErrorInvalidPitchValue, cudaErrorInvalidSymbol, cudaErrorUnmapBufferObjectFailed, cudaErrorInvalidHostPointer, cudaErrorInvalidDevicePointer, cudaErrorInvalidTexture, cudaErrorInvalidTextureBinding, cudaErrorInvalidChannelDescriptor, cudaErrorInvalidMemcpyDirection, cudaErrorInvalidFilterSetting, cudaErrorInvalidNormSetting, cudaErrorUnknown, cudaErrorInvalidResourceHandle, cudaErrorInsufficientDriver, cudaErrorSetOnActiveProcess, cudaErrorStartupFailure, |
Remarks
HostAlloc(out IntPtr, size_t, cudaHostAllocFlags)
Allocates page-locked memory on the host
Declaration
cudaError_t HostAlloc(out IntPtr pHost, size_t size, cudaHostAllocFlags flags)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | pHost | Device pointer to allocated memory |
size_t | size | Requested allocation size in bytes |
cudaHostAllocFlags | flags | Requested properties of allocated memory |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorMemoryAllocation |
Remarks
HostRegister(IntPtr, size_t, UInt32)
Register host memory onto the device
Declaration
cudaError_t HostRegister(IntPtr ptr, size_t size, uint flags)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | ptr | Host pointer to memory to page-lock |
size_t | size | Size in bytes of the address range to page-lock in bytes |
System.UInt32 | flags | Flags for allocation request |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidValue, cudaErrorMemoryAllocation |
Remarks
HostUnregister(IntPtr)
Unregister host memory
Declaration
cudaError_t HostUnregister(IntPtr ptr)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | ptr | Host pointer to memory to unregister |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidValue |
Remarks
Malloc(out IntPtr, size_t)
Allocate memory on the device
Declaration
cudaError_t Malloc(out IntPtr dev, size_t size)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | dev | Pointer to allocated device memory |
size_t | size | Requested allocation size in bytes |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorMemoryAllocation |
Remarks
Memcpy(IntPtr, IntPtr, size_t, cudaMemcpyKind)
Copies data between host and device
Declaration
cudaError_t Memcpy(IntPtr dest, IntPtr src, size_t size, cudaMemcpyKind kind)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | dest | Destination memory address |
System.IntPtr | src | Source memory address |
size_t | size | Size in bytes to copy |
cudaMemcpyKind | kind | Type of transfer |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidValue, cudaErrorInvalidDevicePointer, cudaErrorInvalidMemcpyDirection |
Remarks
MemcpyAsync(IntPtr, IntPtr, size_t, cudaMemcpyKind, cudaStream_t)
Copies data between host and device
Declaration
cudaError_t MemcpyAsync(IntPtr dest, IntPtr src, size_t size, cudaMemcpyKind kind, cudaStream_t stream)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | dest | Destination memory address |
System.IntPtr | src | Source memory address |
size_t | size | Size in bytes to copy |
cudaMemcpyKind | kind | Type of transfer |
cudaStream_t | stream | Stream identifier |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidValue, cudaErrorInvalidDevicePointer, cudaErrorInvalidMemcpyDirection |
Remarks
StreamCreate(out cudaStream_t)
Create an asynchronous stream
Declaration
cudaError_t StreamCreate(out cudaStream_t stream)
Parameters
Type | Name | Description |
---|---|---|
cudaStream_t | stream | Pointer to new stream identifier |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidValue |
Remarks
StreamDestroy(cudaStream_t)
Destroy cuda steam
Declaration
cudaError_t StreamDestroy(cudaStream_t stream)
Parameters
Type | Name | Description |
---|---|---|
cudaStream_t | stream | Stream identifier |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidResourceHandle |
Remarks
StreamSynchronize(cudaStream_t)
Synchronize cuda steam
Declaration
cudaError_t StreamSynchronize(cudaStream_t stream)
Parameters
Type | Name | Description |
---|---|---|
cudaStream_t | stream | Stream identifier |
Returns
Type | Description |
---|---|
cudaError_t | cudaSuccess, cudaErrorInvalidResourceHandle |