![]() |
MAGMA 2.9.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
void | magmablas_csetmatrix_transpose (magma_int_t m, magma_int_t n, magma_int_t nb, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dAT, magma_int_t ldda, magmaFloatComplex_ptr dwork, magma_int_t lddw, magma_queue_t queues[2]) |
Copy and transpose matrix hA on CPU host to dAT on GPU device. | |
void | magmablas_csetmatrix_transpose_mgpu (magma_int_t ngpu, magma_int_t m, magma_int_t n, magma_int_t nb, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dAT[], magma_int_t ldda, magmaFloatComplex_ptr dwork[], magma_int_t lddw, magma_queue_t queues[][2]) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs. | |
void | magmablas_dsetmatrix_transpose (magma_int_t m, magma_int_t n, magma_int_t nb, const double *hA, magma_int_t lda, magmaDouble_ptr dAT, magma_int_t ldda, magmaDouble_ptr dwork, magma_int_t lddw, magma_queue_t queues[2]) |
Copy and transpose matrix hA on CPU host to dAT on GPU device. | |
void | magmablas_dsetmatrix_transpose_mgpu (magma_int_t ngpu, magma_int_t m, magma_int_t n, magma_int_t nb, const double *hA, magma_int_t lda, magmaDouble_ptr dAT[], magma_int_t ldda, magmaDouble_ptr dwork[], magma_int_t lddw, magma_queue_t queues[][2]) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs. | |
void | magmablas_ssetmatrix_transpose (magma_int_t m, magma_int_t n, magma_int_t nb, const float *hA, magma_int_t lda, magmaFloat_ptr dAT, magma_int_t ldda, magmaFloat_ptr dwork, magma_int_t lddw, magma_queue_t queues[2]) |
Copy and transpose matrix hA on CPU host to dAT on GPU device. | |
void | magmablas_ssetmatrix_transpose_mgpu (magma_int_t ngpu, magma_int_t m, magma_int_t n, magma_int_t nb, const float *hA, magma_int_t lda, magmaFloat_ptr dAT[], magma_int_t ldda, magmaFloat_ptr dwork[], magma_int_t lddw, magma_queue_t queues[][2]) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs. | |
void | magmablas_zsetmatrix_transpose (magma_int_t m, magma_int_t n, magma_int_t nb, const magmaDoubleComplex *hA, magma_int_t lda, magmaDoubleComplex_ptr dAT, magma_int_t ldda, magmaDoubleComplex_ptr dwork, magma_int_t lddw, magma_queue_t queues[2]) |
Copy and transpose matrix hA on CPU host to dAT on GPU device. | |
void | magmablas_zsetmatrix_transpose_mgpu (magma_int_t ngpu, magma_int_t m, magma_int_t n, magma_int_t nb, const magmaDoubleComplex *hA, magma_int_t lda, magmaDoubleComplex_ptr dAT[], magma_int_t ldda, magmaDoubleComplex_ptr dwork[], magma_int_t lddw, magma_queue_t queues[][2]) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs. | |
void magmablas_csetmatrix_transpose | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | nb, | ||
const magmaFloatComplex * | hA, | ||
magma_int_t | lda, | ||
magmaFloatComplex_ptr | dAT, | ||
magma_int_t | ldda, | ||
magmaFloatComplex_ptr | dwork, | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[2] ) |
Copy and transpose matrix hA on CPU host to dAT on GPU device.
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[in] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[out] | dAT | The n-by-m matrix A^T on the GPU, of dimension (ldda,m). |
[in] | ldda | Leading dimension of matrix dAT. ldda >= n. |
[out] | dwork | Workspace on the GPU, of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | Array of two queues, to pipeline operation. |
void magmablas_csetmatrix_transpose_mgpu | ( | magma_int_t | ngpu, |
magma_int_t | m, | ||
magma_int_t | n, | ||
magma_int_t | nb, | ||
const magmaFloatComplex * | hA, | ||
magma_int_t | lda, | ||
magmaFloatComplex_ptr | dAT[], | ||
magma_int_t | ldda, | ||
magmaFloatComplex_ptr | dwork[], | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[][2] ) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs.
[in] | ngpu | Number of GPUs over which dAT is distributed. |
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[out] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[in] | dAT | Array of ngpu pointers, one per GPU, that store the disributed n-by-m matrix A^T on the GPUs, each of dimension (ldda,m). |
[in] | ldda | Leading dimension of each matrix dAT on each GPU. ngpu*ldda >= n. |
[out] | dwork | Array of ngpu pointers, one per GPU, that store the workspaces on each GPU, each of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | 2D array of dimension (ngpu,2), with two queues per GPU. |
void magmablas_dsetmatrix_transpose | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | nb, | ||
const double * | hA, | ||
magma_int_t | lda, | ||
magmaDouble_ptr | dAT, | ||
magma_int_t | ldda, | ||
magmaDouble_ptr | dwork, | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[2] ) |
Copy and transpose matrix hA on CPU host to dAT on GPU device.
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[in] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[out] | dAT | The n-by-m matrix A^T on the GPU, of dimension (ldda,m). |
[in] | ldda | Leading dimension of matrix dAT. ldda >= n. |
[out] | dwork | Workspace on the GPU, of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | Array of two queues, to pipeline operation. |
void magmablas_dsetmatrix_transpose_mgpu | ( | magma_int_t | ngpu, |
magma_int_t | m, | ||
magma_int_t | n, | ||
magma_int_t | nb, | ||
const double * | hA, | ||
magma_int_t | lda, | ||
magmaDouble_ptr | dAT[], | ||
magma_int_t | ldda, | ||
magmaDouble_ptr | dwork[], | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[][2] ) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs.
[in] | ngpu | Number of GPUs over which dAT is distributed. |
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[out] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[in] | dAT | Array of ngpu pointers, one per GPU, that store the disributed n-by-m matrix A^T on the GPUs, each of dimension (ldda,m). |
[in] | ldda | Leading dimension of each matrix dAT on each GPU. ngpu*ldda >= n. |
[out] | dwork | Array of ngpu pointers, one per GPU, that store the workspaces on each GPU, each of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | 2D array of dimension (ngpu,2), with two queues per GPU. |
void magmablas_ssetmatrix_transpose | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | nb, | ||
const float * | hA, | ||
magma_int_t | lda, | ||
magmaFloat_ptr | dAT, | ||
magma_int_t | ldda, | ||
magmaFloat_ptr | dwork, | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[2] ) |
Copy and transpose matrix hA on CPU host to dAT on GPU device.
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[in] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[out] | dAT | The n-by-m matrix A^T on the GPU, of dimension (ldda,m). |
[in] | ldda | Leading dimension of matrix dAT. ldda >= n. |
[out] | dwork | Workspace on the GPU, of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | Array of two queues, to pipeline operation. |
void magmablas_ssetmatrix_transpose_mgpu | ( | magma_int_t | ngpu, |
magma_int_t | m, | ||
magma_int_t | n, | ||
magma_int_t | nb, | ||
const float * | hA, | ||
magma_int_t | lda, | ||
magmaFloat_ptr | dAT[], | ||
magma_int_t | ldda, | ||
magmaFloat_ptr | dwork[], | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[][2] ) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs.
[in] | ngpu | Number of GPUs over which dAT is distributed. |
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[out] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[in] | dAT | Array of ngpu pointers, one per GPU, that store the disributed n-by-m matrix A^T on the GPUs, each of dimension (ldda,m). |
[in] | ldda | Leading dimension of each matrix dAT on each GPU. ngpu*ldda >= n. |
[out] | dwork | Array of ngpu pointers, one per GPU, that store the workspaces on each GPU, each of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | 2D array of dimension (ngpu,2), with two queues per GPU. |
void magmablas_zsetmatrix_transpose | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | nb, | ||
const magmaDoubleComplex * | hA, | ||
magma_int_t | lda, | ||
magmaDoubleComplex_ptr | dAT, | ||
magma_int_t | ldda, | ||
magmaDoubleComplex_ptr | dwork, | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[2] ) |
Copy and transpose matrix hA on CPU host to dAT on GPU device.
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[in] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[out] | dAT | The n-by-m matrix A^T on the GPU, of dimension (ldda,m). |
[in] | ldda | Leading dimension of matrix dAT. ldda >= n. |
[out] | dwork | Workspace on the GPU, of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | Array of two queues, to pipeline operation. |
void magmablas_zsetmatrix_transpose_mgpu | ( | magma_int_t | ngpu, |
magma_int_t | m, | ||
magma_int_t | n, | ||
magma_int_t | nb, | ||
const magmaDoubleComplex * | hA, | ||
magma_int_t | lda, | ||
magmaDoubleComplex_ptr | dAT[], | ||
magma_int_t | ldda, | ||
magmaDoubleComplex_ptr | dwork[], | ||
magma_int_t | lddw, | ||
magma_queue_t | queues[][2] ) |
Copy and transpose matrix hA on CPU host to dAT, which is distributed row block cyclic over multiple GPUs.
[in] | ngpu | Number of GPUs over which dAT is distributed. |
[in] | m | Number of rows of input matrix hA. m >= 0. |
[in] | n | Number of columns of input matrix hA. n >= 0. |
[in] | nb | Block size. nb >= 0. |
[out] | hA | The m-by-n matrix A on the CPU, of dimension (lda,n). |
[in] | lda | Leading dimension of matrix hA. lda >= m. |
[in] | dAT | Array of ngpu pointers, one per GPU, that store the disributed n-by-m matrix A^T on the GPUs, each of dimension (ldda,m). |
[in] | ldda | Leading dimension of each matrix dAT on each GPU. ngpu*ldda >= n. |
[out] | dwork | Array of ngpu pointers, one per GPU, that store the workspaces on each GPU, each of dimension (2*lddw*nb). |
[in] | lddw | Leading dimension of dwork. lddw >= m. |
[in] | queues | 2D array of dimension (ngpu,2), with two queues per GPU. |