def nvmlDeviceSetApplicationsClocks(handle, maxMemClockMHz, maxGraphicsClockMHz):
    r"""
    /**
     * Set clocks that applications will lock to.
     *
     * Sets the clocks that compute and graphics applications will be running at.
     * e.g. CUDA driver requests these clocks during context creation which means this property
     * defines clocks at which CUDA applications will be running unless some overspec event
     * occurs (e.g. over power, over thermal or external HW brake).
     *
     * Can be used as a setting to request constant performance.
     *
     * On Pascal and newer hardware, this will automatically disable automatic boosting of clocks.
     *
     * On K80 and newer Kepler and Maxwell GPUs, users desiring fixed performance should also call
     * \ref nvmlDeviceSetAutoBoostedClocksEnabled to prevent clocks from automatically boosting
     * above the clock value being set.
     *
     * For Kepler &tm; or newer non-GeForce fully supported devices and Maxwell or newer GeForce devices.
     * Requires root/admin permissions.
     *
     * See \ref nvmlDeviceGetSupportedMemoryClocks and \ref nvmlDeviceGetSupportedGraphicsClocks
     * for details on how to list available clocks combinations.
     *
     * After system reboot or driver reload applications clocks go back to their default value.
     * See \ref nvmlDeviceResetApplicationsClocks.
     *
     * @param device                               The identifier of the target device
     * @param memClockMHz                          Requested memory clock in MHz
     * @param graphicsClockMHz                     Requested graphics clock in MHz
     *
     * @return
     *         - \ref NVML_SUCCESS                 if new settings were successfully set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a device is invalid or \a memClockMHz and \a graphicsClockMHz
     *                                                 is not a valid clock combination
     *         - \ref NVML_ERROR_NO_PERMISSION     if the user doesn't have permission to perform this operation
     *         - \ref NVML_ERROR_NOT_SUPPORTED     if the device doesn't support this feature
     *         - \ref NVML_ERROR_GPU_IS_LOST       if the target GPU has fallen off the bus or is otherwise inaccessible
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     */
    nvmlReturn_t DECLDIR nvmlDeviceSetApplicationsClocks
    """
    fn = _nvmlGetFunctionPointer("nvmlDeviceSetApplicationsClocks")
    ret = fn(handle, c_uint(maxMemClockMHz), c_uint(maxGraphicsClockMHz))
    _nvmlCheckReturn(ret)
    return None