yields a sparse vector of given type which resides on a CUDA enabled GPU.

Details and Options

  • The CUDALink application must be loaded using Needs["CUDALink`"].
  • The resources used by a CUDASparseVector are automatically reclaimed from the GPU when they are no longer used.
  • The data in a CUDASparseVector can be retrieved by Normal.
  • A number of functions accept and return CUDASparseVector objects allowing operations to work with data that stays on the GPU.
  • Possible types for CUDASparseVector are:
  • RealComplex


open allclose all

Basic Examples  (1)

First, load the CUDALink application:

Create a sparse vector of data that lives on the GPU:

Retrieve the data from a CUDASparseVector:

Multiply a dense matrix into the sparse vector (the result also lives on the GPU):

Scope  (1)

Information  (1)

Information about the CUDA sparse vector:

Possible Issues  (1)

Normal of a CUDASparseVector is a SparseArray:

To get the underlying data, Normal is applied twice:

Wolfram Research (2022), CUDASparseVector, Wolfram Language function,


Wolfram Research (2022), CUDASparseVector, Wolfram Language function,


Wolfram Language. 2022. "CUDASparseVector." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2022). CUDASparseVector. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2023_cudasparsevector, author="Wolfram Research", title="{CUDASparseVector}", year="2022", howpublished="\url{}", note=[Accessed: 14-June-2024 ]}


@online{reference.wolfram_2023_cudasparsevector, organization={Wolfram Research}, title={CUDASparseVector}, year={2022}, url={}, note=[Accessed: 14-June-2024 ]}