{"id":23132,"library":"onemkl-sycl-blas","title":"Intel oneMKL SYCL BLAS","description":"Intel oneAPI Math Kernel Library (oneMKL) BLAS routines for SYCL devices. Provides a SYCL implementation of BLAS operations using Intel oneMKL. Current version 2026.0.0; release follows Intel oneAPI release cadence (usually annual).","status":"active","version":"2026.0.0","language":"python","source_language":"en","source_url":"https://github.com/oneapi-src/oneMKL","tags":["blas","sycl","intel","oneapi","linear-algebra","gpu"],"install":[{"cmd":"pip install onemkl-sycl-blas","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"SYCL device management and queue creation","package":"dpctl","optional":false},{"reason":"Array inputs/outputs","package":"numpy","optional":false}],"imports":[{"wrong":"from onemkl._blas import blas","symbol":"blas","correct":"from onemkl_sycl_blas import blas"}],"quickstart":{"code":"import dpctl\nimport numpy as np\nfrom onemkl._blas import blas, ColumnMajor\n\n# Create a SYCL queue (use default GPU)\nqueue = dpctl.SyclQueue()\n\n# Prepare matrices (ColumnMajor order required!)\nm, n, k = 4, 4, 4\nalpha = np.float64(1.0)\nbeta = np.float64(0.0)\nA = np.random.rand(m, k).astype(np.float64)\nB = np.random.rand(k, n).astype(np.float64)\nC = np.zeros((m, n), dtype=np.float64)\n\n# Compute C = alpha * A * B + beta * C\nblas.gemm(queue, ColumnMajor, 'N', 'N', m, n, k, alpha, A, m, B, k, beta, C, m)\nprint(C)","lang":"python","description":"Basic GEMM operation using oneMKL SYCL BLAS. Note: matrices must be in column-major order."},"warnings":[{"fix":"Replace `import onemkl_sycl_blas` with `from onemkl._blas import blas`.","message":"v2025.0.0 changed the internal module path from `onemkl_sycl_blas` to `onemkl._blas`. All imports using the old path will fail.","severity":"breaking","affected_versions":">=2025.0.0"},{"fix":"Ensure arrays are column-major (use `np.asfortranarray()`) or transpose correctly.","message":"All BLAS routines expect column-major layout (Fortran order). Passing row-major arrays will produce incorrect results without error.","severity":"gotcha","affected_versions":"all"},{"fix":"Consult the Intel oneMKL documentation for supported routines.","message":"The library does not support all BLAS operations (e.g., SPMV, TRSV). Check documentation before assuming availability.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate from `dpnp` to `numpy` + `dpctl`.","message":"v2024.x and earlier used `dpnp` arrays. `dpnp` is deprecated; use `numpy` arrays with `dpctl` queue instead.","severity":"deprecated","affected_versions":"<2025.0.0"}],"env_vars":null,"search_vec":"'2026.0.0':28 'algebra':43 'annual':36 'blas':4,11,21,37 'cadenc':34 'current':26 'devic':15 'follow':30 'gpu':44 'implement':19 'intel':1,5,24,31,39 'kernel':8 'librari':9 'linear':42 'linear-algebra':41 'math':7 'oneapi':6,32,40 'onemkl':2,10,25 'oper':22 'provid':16 'releas':29,33 'routin':12 'sycl':3,14,18,38 'use':23 'usual':35 'version':27","created_at":"2026-05-01T06:02:35.966069+00:00","updated_at":"2026-05-01T06:02:35.966069+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nModuleNotFoundError: No module named 'onemkl_sycl_blas'"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2026.0.0","cli_name":"","cli_version":null,"type":"library","homepage":"https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/onemkl-sycl-blas/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}