Class ExecutionConfig
java.lang.Object
org.apache.sysds.runtime.instructions.gpu.context.ExecutionConfig
Java Wrapper to specify CUDA execution configuration for launching custom kernels
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionExecutionConfig(int gridDimX, int blockDimX) Convenience constructor for setting the number of blocks, number of threads and the shared memory sizeExecutionConfig(int gridDimX, int blockDimX, int sharedMemBytes) Convenience constructor for setting the number of blocks, number of threads and the shared memory sizeExecutionConfig(int gridDimX, int gridDimY, int blockDimX, int blockDimY) Convenience constructor for setting the number of blocks, number of threads and the shared memory sizeExecutionConfig(int gridDimX, int gridDimY, int blockDimX, int blockDimY, int sharedMemBytes) Convenience constructor for setting the number of blocks, number of threads and the shared memory size -
Method Summary
Modifier and TypeMethodDescriptionstatic ExecutionConfiggetConfigForSimpleMatrixOperations(int rlen, int clen) Use this for simple vector operations and use following in the kernelint index = blockIdx.x * blockDim.x + threadIdx.xstatic ExecutionConfiggetConfigForSimpleVectorOperations(int numCells) Use this for simple vector operations and use following in the kernelint index = blockIdx.x * blockDim.x + threadIdx.xtoString()
-
Field Details
-
gridDimX
public int gridDimX -
gridDimY
public int gridDimY -
gridDimZ
public int gridDimZ -
blockDimX
public int blockDimX -
blockDimY
public int blockDimY -
blockDimZ
public int blockDimZ -
stream
public jcuda.driver.CUstream stream
-
-
Constructor Details
-
ExecutionConfig
public ExecutionConfig(int gridDimX, int blockDimX, int sharedMemBytes) Convenience constructor for setting the number of blocks, number of threads and the shared memory size- Parameters:
gridDimX- Number of blocks on the horizontal axis of the grid (for CUDA Kernel)blockDimX- Number of threads on the horizontal axis of a block (for CUDA Kernel)sharedMemBytes- Amount of Shared memory (for CUDA Kernel)
-
ExecutionConfig
public ExecutionConfig(int gridDimX, int blockDimX) Convenience constructor for setting the number of blocks, number of threads and the shared memory size- Parameters:
gridDimX- Number of blocks on the horizontal axis of the grid (for CUDA Kernel)blockDimX- Number of threads on the horizontal axis of a block (for CUDA Kernel)
-
ExecutionConfig
public ExecutionConfig(int gridDimX, int gridDimY, int blockDimX, int blockDimY) Convenience constructor for setting the number of blocks, number of threads and the shared memory size- Parameters:
gridDimX- Number of blocks on the horizontal axis of the grid (for CUDA Kernel)gridDimY- Number of blocks on the vertical axis of the grid (for CUDA Kernel)blockDimX- Number of threads on the horizontal axis of a block (for CUDA Kernel)blockDimY- Number of threads on the vertical axis of a block (for CUDA Kernel)=
-
ExecutionConfig
public ExecutionConfig(int gridDimX, int gridDimY, int blockDimX, int blockDimY, int sharedMemBytes) Convenience constructor for setting the number of blocks, number of threads and the shared memory size- Parameters:
gridDimX- Number of blocks on the horizontal axis of the grid (for CUDA Kernel)gridDimY- Number of blocks on the vertical axis of the grid (for CUDA Kernel)blockDimX- Number of threads on the horizontal axis of a block (for CUDA Kernel)blockDimY- Number of threads on the vertical axis of a block (for CUDA Kernel)sharedMemBytes- Amount of Shared memory (for CUDA Kernel)
-
-
Method Details
-
getConfigForSimpleVectorOperations
Use this for simple vector operations and use following in the kernelint index = blockIdx.x * blockDim.x + threadIdx.xThis tries to schedule as minimum grids as possible.
- Parameters:
numCells- number of cells- Returns:
- execution configuration
-
getConfigForSimpleMatrixOperations
Use this for simple vector operations and use following in the kernelint index = blockIdx.x * blockDim.x + threadIdx.x- Parameters:
rlen- number of rowsclen- number of columns- Returns:
- execution configuration
-
toString
-