public static extern CudaError cuOccupancyMaxPotentialBlockSize( [Out] out int minGridSize, [Out] out int blockSize, [In] IntPtr func, [In][MarshalAs(UnmanagedType.FunctionPtr)] ComputeDynamicMemorySizeForBlockSize blockSizeToDynamicSMemSize, [In] IntPtr dynamicSMemSize, [In] int blockSizeLimit);
/// <summary> /// Computes the maximum potential block size to for maximum occupancy. /// </summary> /// <param name="minGridSize">The minimum grid size for maximum occupancy.</param> /// <param name="blockSize">The block size for maximum occupancy.</param> /// <param name="func">The function.</param> /// <param name="blockSizeToDynamicSMemSize">Computes the amount of required shared-memory for the given block size.</param> /// <param name="dynamicSMemSize">The size of the required shared memory (independent of the block size).</param> /// <param name="blockSizeLimit">The block-size limit.</param> /// <returns>The error status.</returns> public abstract CudaError ComputeOccupancyMaxPotentialBlockSize( out int minGridSize, out int blockSize, IntPtr func, ComputeDynamicMemorySizeForBlockSize blockSizeToDynamicSMemSize, IntPtr dynamicSMemSize, int blockSizeLimit);
/// <summary cref="CudaAPI.ComputeOccupancyMaxPotentialBlockSize( /// out int, out int, IntPtr, ComputeDynamicMemorySizeForBlockSize, IntPtr, /// int)"/> public override CudaError ComputeOccupancyMaxPotentialBlockSize( out int minGridSize, out int blockSize, IntPtr func, ComputeDynamicMemorySizeForBlockSize blockSizeToDynamicSMemSize, IntPtr dynamicSMemSize, int blockSizeLimit) => throw new NotSupportedException(RuntimeErrorMessages.CudaNotSupported);
/// <summary cref="CudaAPI.ComputeOccupancyMaxPotentialBlockSize(out int, out int, IntPtr, ComputeDynamicMemorySizeForBlockSize, IntPtr, int)"/> public override CudaError ComputeOccupancyMaxPotentialBlockSize( out int minGridSize, out int blockSize, IntPtr func, ComputeDynamicMemorySizeForBlockSize blockSizeToDynamicSMemSize, IntPtr dynamicSMemSize, int blockSizeLimit) => cuOccupancyMaxPotentialBlockSize( out minGridSize, out blockSize, func, blockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit);