Dense Vector APIs

The NVPL Sparse helper functions for dense vector descriptor are described in this section.

See the Dense Vector Format section for the detailed description of the storage format.


nvpl_sparse_create_dn_vec()

nvpl_sparse_status_t
nvpl_sparse_create_dn_vec(nvpl_sparse_dn_vec_descr_t*    dn_vec_descr,
                                 int64_t                 size,
                                 void*                   values,
                                 nvpl_sparse_data_type_t value_type)

nvpl_sparse_status_t
nvpl_sparse_create_const_dn_vec(nvpl_sparse_const_dn_vec_descr_t* dn_vec_descr,
                                       int64_t                    size,
                                       const void*                values,
                                       nvpl_sparse_data_type_t    value_type)

This function initializes the dense vector descriptor dn_vec_descr.

Param.

In/out

Meaning

dn_vec_descr

OUT

Dense vector descriptor

size

IN

Size of the dense vector

values

IN

Values of the dense vector. Array with size elements

value_type

IN

Enumerator specifying the datatype of values

nvpl_sparse_create_dn_vec() has the following constraints:

  • values must be aligned to the size of the datatype specified by value_type. See nvpl_sparse_data_type_t for the description of the datatypes.

See nvpl_sparse_status_t for the description of the return status.


nvpl_sparse_destroy_dn_vec()

nvpl_sparse_status_t
nvpl_sparse_destroy_dn_vec(nvpl_sparse_const_dn_vec_descr_t dn_vec_descr) // non-const descriptor supported

This function releases the host memory allocated for the dense vector descriptor dn_vec_descr.

Param.

In/out

Meaning

dn_vec_descr

IN

Dense vector descriptor

See nvpl_sparse_status_t for the description of the return status.


nvpl_sparse_dn_vec_get()

nvpl_sparse_status_t
nvpl_sparse_dn_vec_get(nvpl_sparse_dn_vec_descr_t  dn_vec_descr,
                     int64_t*                      size,
                     void**                        values,
                     nvpl_sparse_data_type*        value_type)

This function returns the fields of the dense vector descriptor dn_vec_descr.

Param.

In/out

Meaning

dn_vec_descr

IN

Dense vector descriptor

size

OUT

Size of the dense vector

values

OUT

Values of the dense vector. Array with nnz elements

value_type

OUT

Enumerator specifying the datatype of values

See nvpl_sparse_status_t for the description of the return status.


nvpl_sparse_dn_vec_get_values()

nvpl_sparse_status_t
nvpl_sparse_dn_vec_get_values(nvpl_sparse_dn_vec_descr_t dn_vec_descr,
                              void**                     values)

This function returns the values field of the dense vector descriptor dn_vec_descr.

Param.

In/out

Meaning

dn_vec_descr

IN

Dense vector descriptor

values

OUT

Values of the dense vector

See nvpl_sparse_status_t for the description of the return status.


nvpl_sparse_dn_vec_set_values()

nvpl_sparse_status_t
nvpl_sparse_dn_vec_set_values(nvpl_sparse_dn_vec_descr_t dn_vec_descr,
                              void*                      values)

This function set the values field of the dense vector descriptor dn_vec_descr.

Param.

In/out

Meaning

dn_vec_descr

IN

Dense vector descriptor

values

IN

Values of the dense vector. Array with size elements

nvpl_sparse_dn_vec_set_values() has the following constraints:

  • values must be aligned to the size of the datatype specified in dn_vec_descr. See nvpl_Sparse_data_type_t for the description of the datatypes.

See nvpl_sparse_status_t for the description of the return status.