|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjcuda.jcudpp.JCudpp
public class JCudpp
Java bindings for the public interface of CUDPP, the CUDA Data
Parallel Primitives Library.
(http://www.gpgpu.org/developer/cudpp/)
Most comments are taken from the CUDPP library documentation.
| Method Summary | |
|---|---|
static int |
cudppCompact(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_numValidElements,
Pointer d_in,
Pointer d_isValid,
long numElements)
Given an array d_in and an array of 1/0 flags in deviceValid, returns a compacted array in d_out of corresponding only the "valid" values from d_in. Takes as input an array of elements in GPU memory (d_in) and an equal-sized unsigned int array in GPU memory (deviceValid) that indicate which of those input elements are valid. |
static int |
cudppDestroyPlan(CUDPPHandle plan)
Destroy a CUDPP Plan. Deletes the plan referred to by planHandle and all associated internal storage. Parameters: |
static int |
cudppDestroySparseMatrix(CUDPPHandle sparseMatrixHandle)
Destroy a CUDPP Sparse Matrix Object. Deletes the sparse matrix data and plan referred to by sparseMatrixHandle and all associated internal storage. Parameters: |
static int |
cudppMultiScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_in,
long numElements,
long numRows)
Performs numRows parallel scan operations of numElements each on its input (d_in) and places the output in d_out, with the scan parameters set by config. |
static int |
cudppPlan(CUDPPHandle planHandle,
CUDPPConfiguration config,
long n,
long rows,
long rowPitch)
Create a CUDPP plan. A plan is a data structure containing state and intermediate storage space that CUDPP uses to execute algorithms on data. |
static int |
cudppRand(CUDPPHandle planHandle,
Pointer d_out,
long numElements)
Rand puts numElements random 32-bit elements into d_out. Outputs numElements random values to d_out. |
static int |
cudppRandSeed(CUDPPHandle planHandle,
int seed)
Sets the seed used for rand. The seed is crucial to any random number generator as it allows a sequence of random numbers to be replicated. |
static int |
cudppScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_in,
long numElements)
Performs a scan operation of numElements on its input in GPU memory (d_in) and places the output in GPU memory (d_out), with the scan parameters specified in the plan pointed to by planHandle. The input to a scan operation is an input array, a binary associative operator (like + or max), and an identity element for that operator (+'s identity is 0). |
static int |
cudppSegmentedScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_idata,
Pointer d_iflags,
long numElements)
Performs a segmented scan operation of numElements on its input in GPU memory (d_idata) and places the output in GPU memory (d_out), with the scan parameters specified in the plan pointed to by planHandle. The input to a segmented scan operation is an input array of data, an input array of flags which demarcate segments, a binary associative operator (like + or max), and an identity element for that operator (+'s identity is 0). |
static int |
cudppSort(CUDPPHandle planHandle,
Pointer d_keys,
Pointer d_values,
int keyBits,
long numElements)
Sorts key-value pairs or keys only. Takes as input an array of keys in GPU memory (d_keys) and an optional array of corresponding values, and outputs sorted arrays of keys and (optionally) values in place. |
static int |
cudppSparseMatrix(CUDPPHandle sparseMatrixHandle,
CUDPPConfiguration config,
long numNonZeroElements,
long numRows,
Pointer A,
Pointer h_rowIndices,
Pointer h_indices)
Create a CUDPP Sparse Matrix Object. The sparse matrix plan is a data structure containing state and intermediate storage space that CUDPP uses to perform sparse matrix dense vector multiply. |
static int |
cudppSparseMatrixVectorMultiply(CUDPPHandle sparseMatrixHandle,
Pointer d_y,
Pointer d_x)
Perform matrix-vector multiply y = A*x for arbitrary sparse matrix A and vector x. Given a matrix object handle (which has been initialized using cudppSparseMatrix()), This function multiplies the input vector d_x by the matrix referred to by sparseMatrixHandle, returning the result in d_y. Parameters: |
static void |
initialize()
Initializes the native library. |
static void |
setEmulation(boolean emulation)
Deprecated. The emulation mode has been deprecated in CUDA 3.0. This function no longer has any effect, and will be removed in the next release. |
static void |
setExceptionsEnabled(boolean enabled)
Enables or disables exceptions. |
static void |
setLogLevel(LogLevel logLevel)
Set the specified log level for the JCudpp library. Currently supported log levels: LOG_QUIET: Never print anything LOG_ERROR: Print error messages LOG_TRACE: Print a trace of all native function calls |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static void setEmulation(boolean emulation)
public static void setLogLevel(LogLevel logLevel)
logLevel - The log level to use.public static void setExceptionsEnabled(boolean enabled)
enabled - Whether exceptions are enabledpublic static void initialize()
public static int cudppPlan(CUDPPHandle planHandle,
CUDPPConfiguration config,
long n,
long rows,
long rowPitch)
[out] planHandle A pointer to an opaque handle to the internal plan
[in] config The configuration struct specifying algorithm and options
[in] numElements The maximum number of elements to be processed
[in] numRows The number of rows (for 2D operations) to be processed
[in] rowPitch The pitch of the rows of input data, in elements
public static int cudppDestroyPlan(CUDPPHandle plan)
[in] planHandle The CUDPPHandle to the plan to be destroyed
public static int cudppScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_in,
long numElements)
[in] planHandle Handle to plan for this scan
[out] d_out output of scan, in GPU memory
[in] d_in input to scan, in GPU memory
[in] numElements number of elements to scan
cudppPlan(jcuda.jcudpp.CUDPPHandle, jcuda.jcudpp.CUDPPConfiguration, long, long, long),
cudppDestroyPlan(jcuda.jcudpp.CUDPPHandle)
public static int cudppMultiScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_in,
long numElements,
long numRows)
[in] planHandle handle to CUDPPScanPlan
[out] d_out output of scan, in GPU memory
[in] d_in input to scan, in GPU memory
[in] numElements number of elements (per row) to scan
[in] numRows number of rows to scan in parallel
cudppScan(jcuda.jcudpp.CUDPPHandle, jcuda.Pointer, jcuda.Pointer, long),
cudppPlan(jcuda.jcudpp.CUDPPHandle, jcuda.jcudpp.CUDPPConfiguration, long, long, long)
public static int cudppSegmentedScan(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_idata,
Pointer d_iflags,
long numElements)
[in] planHandle Handle to plan for this scan
[out] d_out output of segmented scan, in GPU memory
[in] d_idata input data to segmented scan, in GPU memory
[in] d_iflags input flags to segmented scan, in GPU memory
[in] numElements number of elements to perform segmented scan on
cudppPlan(jcuda.jcudpp.CUDPPHandle, jcuda.jcudpp.CUDPPConfiguration, long, long, long),
cudppDestroyPlan(jcuda.jcudpp.CUDPPHandle)
public static int cudppCompact(CUDPPHandle planHandle,
Pointer d_out,
Pointer d_numValidElements,
Pointer d_in,
Pointer d_isValid,
long numElements)
d_in = [ a b c d e f ] deviceValid = [ 1 0 1 1 0 1 ] d_out = [ a c d f ]
[in] planHandle handle to CUDPPCompactPlan
[out] d_out compacted output
[out] d_numValidElements set during cudppCompact;
is set with the number of elements valid flags in the
d_isValid input array
[in] d_in input to compact
[in] d_isValid which elements in d_in are valid
[in] numElements number of elements in d_in
public static int cudppSort(CUDPPHandle planHandle,
Pointer d_keys,
Pointer d_values,
int keyBits,
long numElements)
[in] planHandle handle to CUDPPSortPlan
[out] d_keys keys by which key-value pairs will be sorted
[in] d_values values to be sorted
[in] keyBits the number of least significant bits in each element of d_keys to sort by
[in] numElements number of elements in d_keys and d_values
cudppPlan(jcuda.jcudpp.CUDPPHandle, jcuda.jcudpp.CUDPPConfiguration, long, long, long),
CUDPPConfiguration,
CUDPPAlgorithm
public static int cudppSparseMatrix(CUDPPHandle sparseMatrixHandle,
CUDPPConfiguration config,
long numNonZeroElements,
long numRows,
Pointer A,
Pointer h_rowIndices,
Pointer h_indices)
[out] sparseMatrixHandle A pointer to an opaque handle to the sparse matrix object
[in] config The configuration struct specifying algorithm and options
[in] numNonZeroElements The number of non zero elements in the sparse matrix
[in] numRows This is the number of rows in y, x and A for y = A * x
[in] A The matrix data
[in] h_rowIndices An array containing the index of the start of each row in A
[in] h_indices An array containing the index of each nonzero element in A
public static int cudppDestroySparseMatrix(CUDPPHandle sparseMatrixHandle)
[in] sparseMatrixHandle The CUDPPHandle to the matrix object to be destroyed
public static int cudppSparseMatrixVectorMultiply(CUDPPHandle sparseMatrixHandle,
Pointer d_y,
Pointer d_x)
sparseMatrixHandle Handle to a sparse matrix object created
with cudppSparseMatrix()
d_y The output vector, y
d_x The input vector, x
cudppSparseMatrix(jcuda.jcudpp.CUDPPHandle, jcuda.jcudpp.CUDPPConfiguration, long, long, jcuda.Pointer, jcuda.Pointer, jcuda.Pointer),
cudppDestroySparseMatrix(jcuda.jcudpp.CUDPPHandle)
public static int cudppRand(CUDPPHandle planHandle,
Pointer d_out,
long numElements)
[in] planHandle Handle to plan for rand
[in] numElements number of elements in d_out.
[out] d_out output of rand, in GPU memory. Should be an array of unsigned integers.
CUDPPConfiguration,
CUDPPAlgorithm
public static int cudppRandSeed(CUDPPHandle planHandle,
int seed)
[in] planHandle the handle to the plan which specifies which rand seed to set
[in] seed the value which the internal cudpp seed will be set to
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||