Version experimental
Apply the sparse matrix-vector product
Specifications
Version experimental
Apply the COO sparse matrix-vector product
Specifications
Version experimental
Apply the CSC sparse matrix-vector product
Specifications
Version experimental
Apply the CSR sparse matrix-vector product
Specifications
Version experimental
Apply the ELL sparse matrix-vector product
Specifications
Version experimental
Apply the SELLC sparse matrix-vector product
Specifications
Interfaces
-
private module subroutine spmv_coo_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_coo_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(COO_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csc_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSC_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_csr_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(CSR_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_ell_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(ELL_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_sellc_cdp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(SELLC_cdp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_sellc_csp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(SELLC_csp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_sellc_dp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(SELLC_dp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_sellc_sp(matrix, vec_x, vec_y, alpha, beta, op)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
type(SELLC_sp_type),
|
intent(in) |
|
|
:: |
matrix |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vec_y(:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
beta |
|
|
character(len=1),
|
intent(in), |
optional |
|
:: |
op |
|
-
private module subroutine spmv_kernel_coo_1d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_coo_1d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_coo_1d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_coo_1d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_coo_2d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_coo_2d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_coo_2d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_coo_2d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csc_1d_cdp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csc_1d_csp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csc_1d_dp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csc_1d_sp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csc_2d_cdp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csc_2d_csp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csc_2d_dp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csc_2d_sp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
colptr(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
row(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csr_1d_cdp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csr_1d_csp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csr_1d_dp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csr_1d_sp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_csr_2d_cdp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csr_2d_csp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csr_2d_dp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_csr_2d_sp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
col(:) |
matrix column pointer
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
rowptr(:) |
matrix row pointer
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
storage
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_ell_1d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_ell_1d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_ell_1d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_ell_1d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_ell_2d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_ell_2d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_ell_2d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_ell_2d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
index(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:,:) |
|
-
private module subroutine spmv_kernel_sellc_cdp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)
This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ia(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ja(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_sellc_csp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)
This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ia(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ja(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
complex(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
complex(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_sellc_dp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)
This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ia(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ja(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=dp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=dp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|
-
private module subroutine spmv_kernel_sellc_sp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)
This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
op |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
alpha |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
data(:,:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ia(:) |
|
|
integer(kind=ilp),
|
intent(in), |
|
contiguous
|
:: |
ja(:,:) |
|
|
integer,
|
intent(in) |
|
|
:: |
storage |
|
|
real(kind=sp),
|
intent(in), |
|
contiguous
|
:: |
vec_x(:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
beta |
|
|
real(kind=sp),
|
intent(inout), |
|
contiguous
|
:: |
vec_y(:) |
|