blas_sparse::usmm Interface Reference

multiplication : c <- beta c + alpha A b More...

## Public Member Functions

subroutine | susmm (order, transa, nrhs, alpha, a, b, ldb, c, ldc, istat)
| Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.
subroutine | dusmm (order, transa, nrhs, alpha, a, b, ldb, c, ldc, istat)
| Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.
subroutine | cusmm (order, transa, nrhs, alpha, a, b, ldb, c, ldc, istat)
| Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.
subroutine | zusmm (order, transa, nrhs, alpha, a, b, ldb, c, ldc, istat)
| Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.

## Detailed Description

multiplication : c <- beta c + alpha A b

Parameters

  istat | The return code will be written to `istat` (this is a Fortran routine): either 0 (success) or -1 (failure).

## Member Function/Subroutine Documentation

## cusmm()

subroutine blas_sparse::usmm::cusmm | ( | integer | order,
|  | integer | transa,
|  | integer(kind=rsb_blas_idx_kind) | nrhs,
|  | complex(kind(1.e0)) | alpha,
|  | integer | a,
|  | complex(kind(1.e0)), dimension (:,:) | b,
|  | integer(kind=rsb_blas_idx_kind) | ldb,
|  | complex(kind(1.e0)), dimension (:,:) | c,
|  | integer(kind=rsb_blas_idx_kind) | ldc,
|  | integer(kind=rsb_blas_ist_kind), intent(out) | istat )

Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.

Parameters

  order | layour of the dense array.
  transA | Transposition operator for matrix A.
  nrhs | Number of right hand side columns.
  A | A valid matrix handle.
  alpha | Value for .
  b | Dense vector b.
  ldb | Leading dimension of b.
  c | Dense vector c.
  ldc | Leading dimension of c.

Note
  By setting the `blas_rsb_autotune_next_operation` property via BLAS_ussp (at any time) the next multiplication routine call (either of BLAS_dusmv, BLAS_susmv, BLAS_zusmv, BLAS_cusmv, BLAS_dusmm, BLAS_susmm, BLAS_zusmm, BLAS_cusmm) will invoke autotuning before carrying out the effective operation. The tuning will take in account parameters like transposition, number of right hand sides, and scaling constants. By setting the `blas_rsb_spmv_autotuning_on` property via BLAS_ussp, the default number of executing threads for this matrix will be determined once, at matrix assembly time, and employed irrespective of the default threads count (different values for transposed and untransposed multiply). This can be overridden only by setting the `RSB_NUM_THREADS` environment variable.

See also
  On the topic of autotuning, see also rsb_tune_spmm.\nIf `--enable-rsb-num-threads` has been specified at configure time, the `RSB_NUM_THREADS` environment variable will override the number of executing threads specified by `OMP_NUM_THREADS`. (See also RSB_IO_WANT_EXECUTING_THREADS).

Returns
  On success, 0 is returned; on error, -1.

Parameters

  istat | The return code will be written to `istat` (this is a Fortran routine): either 0 (success) or -1 (failure).

## dusmm()

subroutine blas_sparse::usmm::dusmm | ( | integer | order,
|  | integer | transa,
|  | integer(kind=rsb_blas_idx_kind) | nrhs,
|  | real(kind(1.d0)) | alpha,
|  | integer | a,
|  | real(kind(1.d0)), dimension (:,:) | b,
|  | integer(kind=rsb_blas_idx_kind) | ldb,
|  | real(kind(1.d0)), dimension (:,:) | c,
|  | integer(kind=rsb_blas_idx_kind) | ldc,
|  | integer(kind=rsb_blas_ist_kind), intent(out) | istat )

Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.

Parameters

  order | layour of the dense array.
  transA | Transposition operator for matrix A.
  nrhs | Number of right hand side columns.
  A | A valid matrix handle.
  alpha | Value for .
  b | Dense vector b.
  ldb | Leading dimension of b.
  c | Dense vector c.
  ldc | Leading dimension of c.

Note
  By setting the `blas_rsb_autotune_next_operation` property via BLAS_ussp (at any time) the next multiplication routine call (either of BLAS_dusmv, BLAS_susmv, BLAS_zusmv, BLAS_cusmv, BLAS_dusmm, BLAS_susmm, BLAS_zusmm, BLAS_cusmm) will invoke autotuning before carrying out the effective operation. The tuning will take in account parameters like transposition, number of right hand sides, and scaling constants. By setting the `blas_rsb_spmv_autotuning_on` property via BLAS_ussp, the default number of executing threads for this matrix will be determined once, at matrix assembly time, and employed irrespective of the default threads count (different values for transposed and untransposed multiply). This can be overridden only by setting the `RSB_NUM_THREADS` environment variable.

See also
  On the topic of autotuning, see also rsb_tune_spmm.\nIf `--enable-rsb-num-threads` has been specified at configure time, the `RSB_NUM_THREADS` environment variable will override the number of executing threads specified by `OMP_NUM_THREADS`. (See also RSB_IO_WANT_EXECUTING_THREADS).

Returns
  On success, 0 is returned; on error, -1.

Parameters

  istat | The return code will be written to `istat` (this is a Fortran routine): either 0 (success) or -1 (failure).

## susmm()

subroutine blas_sparse::usmm::susmm | ( | integer | order,
|  | integer | transa,
|  | integer(kind=rsb_blas_idx_kind) | nrhs,
|  | real(kind(1.e0)) | alpha,
|  | integer | a,
|  | real(kind(1.e0)), dimension (:,:) | b,
|  | integer(kind=rsb_blas_idx_kind) | ldb,
|  | real(kind(1.e0)), dimension (:,:) | c,
|  | integer(kind=rsb_blas_idx_kind) | ldc,
|  | integer(kind=rsb_blas_ist_kind), intent(out) | istat )

Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.

Parameters

  order | layour of the dense array.
  transA | Transposition operator for matrix A.
  nrhs | Number of right hand side columns.
  A | A valid matrix handle.
  alpha | Value for .
  b | Dense vector b.
  ldb | Leading dimension of b.
  c | Dense vector c.
  ldc | Leading dimension of c.

Note
  By setting the `blas_rsb_autotune_next_operation` property via BLAS_ussp (at any time) the next multiplication routine call (either of BLAS_dusmv, BLAS_susmv, BLAS_zusmv, BLAS_cusmv, BLAS_dusmm, BLAS_susmm, BLAS_zusmm, BLAS_cusmm) will invoke autotuning before carrying out the effective operation. The tuning will take in account parameters like transposition, number of right hand sides, and scaling constants. By setting the `blas_rsb_spmv_autotuning_on` property via BLAS_ussp, the default number of executing threads for this matrix will be determined once, at matrix assembly time, and employed irrespective of the default threads count (different values for transposed and untransposed multiply). This can be overridden only by setting the `RSB_NUM_THREADS` environment variable.

See also
  On the topic of autotuning, see also rsb_tune_spmm.\nIf `--enable-rsb-num-threads` has been specified at configure time, the `RSB_NUM_THREADS` environment variable will override the number of executing threads specified by `OMP_NUM_THREADS`. (See also RSB_IO_WANT_EXECUTING_THREADS).

Returns
  On success, 0 is returned; on error, -1.

Parameters

  istat | The return code will be written to `istat` (this is a Fortran routine): either 0 (success) or -1 (failure).

## zusmm()

subroutine blas_sparse::usmm::zusmm | ( | integer | order,
|  | integer | transa,
|  | integer(kind=rsb_blas_idx_kind) | nrhs,
|  | complex(kind(1.d0)) | alpha,
|  | integer | a,
|  | complex(kind(1.d0)), dimension (:,:) | b,
|  | integer(kind=rsb_blas_idx_kind) | ldb,
|  | complex(kind(1.d0)), dimension (:,:) | c,
|  | integer(kind=rsb_blas_idx_kind) | ldc,
|  | integer(kind=rsb_blas_ist_kind), intent(out) | istat )

Multiply by a dense matrix (aka multi-vector). Either of , depending on the value of `transA`.

Parameters

  order | layour of the dense array.
  transA | Transposition operator for matrix A.
  nrhs | Number of right hand side columns.
  A | A valid matrix handle.
  alpha | Value for .
  b | Dense vector b.
  ldb | Leading dimension of b.
  c | Dense vector c.
  ldc | Leading dimension of c.

Note
  By setting the `blas_rsb_autotune_next_operation` property via BLAS_ussp (at any time) the next multiplication routine call (either of BLAS_dusmv, BLAS_susmv, BLAS_zusmv, BLAS_cusmv, BLAS_dusmm, BLAS_susmm, BLAS_zusmm, BLAS_cusmm) will invoke autotuning before carrying out the effective operation. The tuning will take in account parameters like transposition, number of right hand sides, and scaling constants. By setting the `blas_rsb_spmv_autotuning_on` property via BLAS_ussp, the default number of executing threads for this matrix will be determined once, at matrix assembly time, and employed irrespective of the default threads count (different values for transposed and untransposed multiply). This can be overridden only by setting the `RSB_NUM_THREADS` environment variable.

See also
  On the topic of autotuning, see also rsb_tune_spmm.\nIf `--enable-rsb-num-threads` has been specified at configure time, the `RSB_NUM_THREADS` environment variable will override the number of executing threads specified by `OMP_NUM_THREADS`. (See also RSB_IO_WANT_EXECUTING_THREADS).

Returns
  On success, 0 is returned; on error, -1.

Parameters

  istat | The return code will be written to `istat` (this is a Fortran routine): either 0 (success) or -1 (failure).

The documentation for this interface was generated from the following file:

- rsb_blas_sparse.F90