{"library":"onemkl-sycl-sparse","title":"oneMKL SYCL Sparse","description":"Intel oneAPI Math Kernel Library (oneMKL) Sparse BLAS routines for SYCL devices. This package provides optimized sparse linear algebra operations (e.g., sparse matrix-vector multiply, sparse triangular solvers) on Intel GPUs and CPUs using SYCL. Current version: 2026.0.0. Released quarterly as part of Intel's oneAPI toolkit.","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install onemkl-sycl-sparse"],"cli":null},"imports":["from onemkl_sycl_sparse import sparse"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import dpctl\nimport numpy as np\nfrom onemkl_sycl_sparse import sparse\n\n# Create a SYCL queue (device selector: 0 for gpu, 1 for cpu)\nqueue = dpctl.SyclQueue(\"gpu\")\n\n# Create a simple CSR matrix\nrow = np.array([0, 0, 1, 2], dtype=np.int64)\ncol = np.array([0, 1, 1, 2], dtype=np.int64)\nval = np.array([1.0, 2.0, 3.0, 4.0], dtype=np.float64)\nnrows, ncols = 3, 3\n\n# Allocate USM memory\nd_row = dpctl.tensor.usm_ndarray(row, dtype=row.dtype, queue=queue)\nd_col = dpctl.tensor.usm_ndarray(col, dtype=col.dtype, queue=queue)\nd_val = dpctl.tensor.usm_ndarray(val, dtype=val.dtype, queue=queue)\n\n# Create handle and perform operation\nhandle = sparse.create_handle(queue)\nsparse_matrix = sparse.init_csr_matrix(handle, nrows, ncols, d_row, d_col, d_val)\n\n# Sparse matrix-vector multiply\nx = np.array([1.0, 2.0, 3.0], dtype=np.float64)\nd_x = dpctl.tensor.usm_ndarray(x, dtype=x.dtype, queue=queue)\nd_y = dpctl.tensor.empty(3, dtype=np.float64, queue=queue)\nsparse.omatadd(handle, sparse_matrix, sparse_matrix, 1.0, 1.0, d_x, d_y)\ny = d_y.asnumpy()\nprint(y)\n\nsparse.destroy_handle(handle)","lang":"python","description":"Performs a sparse matrix-vector multiply using CSR format on a SYCL GPU device.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}