On devices where the L1 cache and shared memory use the same hardware resources, this sets through cacheConfig
the preferred cache configuration for the function specified via func
. This is only a preference. The runtime will use the requested configuration if possible, but it is free to choose a different configuration if required to execute func
.
func
can either be a pointer to a function that executes on the device, or it can be a character string specifying the fully-decorated (C++) name for a function that executes on the device. The parameter specified by func
must be declared as a __global__
function. If the specified function does not exist, then cudaErrorInvalidDeviceFunction is returned.
This setting does nothing on devices where the size of the L1 cache and shared memory are fixed.
Switching between configuration modes may insert a device-side synchronization point for streamed kernel launches.
- Parameters:
-
| func | - Device char string naming device function |
| cacheConfig | - Cache configuration mode |
- Returns:
- cudaSuccess, cudaErrorInitializationError, cudaErrorInvalidDeviceFunction
- Note:
- Note that this function may also return error codes from previous, asynchronous launches.
- See also:
- cudaConfigureCall, cudaFuncSetCacheConfig (C API), cudaFuncGetAttributes (C++ API), cudaLaunch (C API), cudaSetDoubleForDevice, cudaSetDoubleForHost, cudaSetupArgument (C++ API)