set_csr_data#

Takes a matrix handle and the input CSR matrix arrays and fills the internal CSR data structure.

Description and Assumptions

Refer to Supported Types for a list of supported <fp> and <intType>. The mkl::sparse::set_csr_data routine takes a matrix handle for a sparse matrix of dimensions nrows -by- ncols represented in the CSR format, and fills the internal CSR data structure.

set_csr_data (Buffer version)#

Syntax

namespace oneapi::mkl::sparse {

   void set_csr_data (sycl::queue                           &queue,
                      oneapi::mkl::sparse::matrix_handle_t  handle,
                      const intType                         nrows,
                      const intType                         ncols,
                      const intType                         nnz,
                      oneapi::mkl::index_base               index,
                      sycl::buffer<intType, 1>              &row_ptr,
                      sycl::buffer<intType, 1>              &col_ind,
                      sycl::buffer<fp, 1>                   &val);

}

Input Parameters

queue

The SYCL command queue which will be used for SYCL kernel execution.

handle

Handle to object containing sparse matrix and other internal data for subsequent DPC++ Sparse BLAS operations.

nrows

Number of rows of the input matrix .

ncols

Number of columns of the input matrix .

nnz

Number of non-zero entries in the matrix (which may include explicit zeros).

index

Indicates how input arrays are indexed. The possible options are described in index_base enum class.

row_ptr

SYCL memory object containing an array of length nrows+1. Refer to CSR format for detailed description of row_ptr.

col_ind

SYCL memory object which stores an array of length nnz containing the column indices in index-based numbering. Refer to CSR format for detailed description of col_ind.

val

SYCL memory object which stores an array of length nnz containing non-zero elements (and possibly explicit zeros) of the input matrix. Refer to CSR format for detailed description of val.

Output Parameters

handle

Handle to object containing sparse matrix and other internal data for subsequent SYCL Sparse BLAS operations.

Throws

This routine shall throw the following exceptions if the associated condition is detected. An implementation may throw additional implementation-specific exception(s) in case of error conditions not covered here.

set_csr_data (USM version)#

Syntax

namespace oneapi::mkl::sparse {

   sycl::event set_csr_data (sycl::queue                           &queue,
                             oneapi::mkl::sparse::matrix_handle_t  handle,
                             const intType                         nrows,
                             const intType                         ncols,
                             const intType                         nnz,
                             oneapi::mkl::index_base               index,
                             intType                               *row_ptr,
                             intType                               *col_ind,
                             fp                                    *val,
                             const std::vector<sycl::event>        &dependencies = {});

}

Input Parameters

queue

The SYCL command queue which will be used for SYCL kernel execution.

handle

Handle to object containing sparse matrix and other internal data for subsequent DPC++ Sparse BLAS operations.

nrows

Number of rows of the input matrix.

ncols

Number of columns of the input matrix.

nnz

Number of non-zero entries in the matrix (which may include explicit zeros).

index

Indicates how input arrays are indexed. The possible options are described in index_base enum class.

row_ptr

USM object containing an array of length nrows+1. Refer to CSR format for detailed description of row_ptr

col_ind

USM object which stores an array of length nnz containing the column indices in index-based numbering. Refer to CSR format for detailed description of col_ind

val

USM object which stores an array of length nnz containing non-zero elements (and possibly explicit zeros) of the input matrix. Refer to CSR format for detailed description of val

dependencies

A vector of type const std::vector<sycl::event> & containing the list of events that the oneapi::mkl::sparse::set_csr_data routine depends on.

Output Parameters

handle

Handle to object containing sparse matrix and other internal data for subsequent SYCL Sparse BLAS operations.

Return Values

sycl::event

A sycl::event that can be used to track the completion of asynchronous events that were enqueued during the API call that continue the chain of events from the input dependencies.

Throws

This routine shall throw the following exceptions if the associated condition is detected. An implementation may throw additional implementation-specific exception(s) in case of error conditions not covered here.