Function rcudnn_sys::cudaThreadSetLimit[][src]

pub unsafe extern "C" fn cudaThreadSetLimit(
    limit: cudaLimit,
    value: usize
) -> cudaError_t
Expand description

\brief Set resource limits

\deprecated

Note that this function is deprecated because its name does not reflect its behavior. Its functionality is identical to the non-deprecated function ::cudaDeviceSetLimit(), which should be used instead.

Setting \p limit to \p value is a request by the application to update the current limit maintained by the device. The driver is free to modify the requested value to meet h/w requirements (this could be clamping to minimum or maximum values, rounding up to nearest element size, etc). The application can use ::cudaThreadGetLimit() to find out exactly what the limit has been set to.

Setting each ::cudaLimit has its own specific restrictions, so each is discussed here.

  • ::cudaLimitStackSize controls the stack size of each GPU thread.

  • ::cudaLimitPrintfFifoSize controls the size of the shared FIFO used by the ::printf() device system call. Setting ::cudaLimitPrintfFifoSize must be performed before launching any kernel that uses the ::printf() device system call, otherwise ::cudaErrorInvalidValue will be returned.

  • ::cudaLimitMallocHeapSize controls the size of the heap used by the ::malloc() and ::free() device system calls. Setting ::cudaLimitMallocHeapSize must be performed before launching any kernel that uses the ::malloc() or ::free() device system calls, otherwise ::cudaErrorInvalidValue will be returned.

\param limit - Limit to set \param value - Size in bytes of limit

\return ::cudaSuccess, ::cudaErrorUnsupportedLimit, ::cudaErrorInvalidValue \notefnerr \note_init_rt \note_callback

\sa ::cudaDeviceSetLimit