# Sanitizer Memory API

## Functions

SanitizerResult SANITIZERAPI | sanitizerAlloc (void **devPtr, size_t size)
| Allocate memory on the device.
SanitizerResult SANITIZERAPI | sanitizerFree (void *devPtr)
| Frees memory on the device.
SanitizerResult SANITIZERAPI | sanitizerMemcpyDeviceToHost (void *dst, void *src, size_t count, CUstream stream)
| Copies data from device to host.
SanitizerResult SANITIZERAPI | sanitizerMemcpyHostToDeviceAsync (void *dst, void *src, size_t count, CUstream stream)
| Copies data from host to device.
SanitizerResult SANITIZERAPI | sanitizerMemset (void *devPtr, int value, size_t count, CUstream stream)
| Initializes or sets device memory to a value.

## Detailed Description

Functions, types, and enums that implement the Sanitizer Memory API.

## Function Documentation

SanitizerResult SANITIZERAPI sanitizerAlloc | ( | void ** | devPtr,
|  | size_t | size |
| ) |  |  |

Equivalent of cudaMalloc that can be called within a callback function.

Note:
  Thread-safety: this function is thread safe.

Parameters:

  | devPtr | Pointer to allocated device memory
  | size | Allocation size in bytes

SanitizerResult SANITIZERAPI sanitizerFree | ( | void * | devPtr | ) |

Equivalent of cudaFree that can be called within a callback function.

Note:
  Thread-safety: this function is thread safe.

Parameters:

  | devPtr | Device pointer to memory to free

SanitizerResult SANITIZERAPI sanitizerMemcpyDeviceToHost | ( | void * | dst,
|  | void * | src,
|  | size_t | count,
|  | CUstream | stream |
| ) |  |  |

Equivalent of cudaMemcpy that can be called within a callback function. The function will return once the copy has completed.

Note:
  Thread-safety: this function is thread safe.

Parameters:

  | dst | Destination memory address
  | src | Source memory address
  | count | Size in bytes to copy
  | stream | Stream identifier

SanitizerResult SANITIZERAPI sanitizerMemcpyHostToDeviceAsync | ( | void * | dst,
|  | void * | src,
|  | size_t | count,
|  | CUstream | stream |
| ) |  |  |

Equivalent of cudaMemcpyAsync that can be called within a callback function. The function will return once the pageable buffer has been copied to the staging memory for DMA transfer to device memory, but the DMA to final destination may not have completed.

Note:
  Thread-safety: this function is thread safe.

Parameters:

  | dst | Destination memory address
  | src | Source memory address
  | count | Size in bytes to copy
  | stream | Stream identifier

SanitizerResult SANITIZERAPI sanitizerMemset | ( | void * | devPtr,
|  | int | value,
|  | size_t | count,
|  | CUstream | stream |
| ) |  |  |

Equivalent of cudaMemset that can be called within a callback function.

Note:
  Thread-safety: this function is thread safe.

Parameters:

  | devPtr | Pointer to device memory
  | value | value to set for each byte of specified memory
  | count | Size in bytes to set
  | stream | Stream identifier