A newer version of this document is available. Customers should click here to go to the newest version.
                        
                        
                            
                            
                                What's New
                            
                        
                            
                            
                                Introduction to the Intel® oneAPI Math Kernel Library (oneMKL) BLAS and LAPACK with DPC++
                            
                        
                            
                            
                                Overview of Intel® oneMKL BLAS Routines for Data Parallel C++
                            
                        
                            
                            
                                Overview of Intel® oneAPI Math Kernel Library (oneMKL) Sparse BLAS for DPC++
                            
                        
                            
                            
                                Overview of Intel® oneMKL LAPACK Routines for Data Parallel C++
                            
                        
                            
                            
                                Data Types
                            
                        
                            
                            
                                Matrix Storage
                            
                        
                            
                            
                                Error Handling
                            
                        
                            
                                BLAS Routines
                            
                            
                        
                            
                                Sparse BLAS Routines
                            
                            
                        
                            
                                LAPACK Routines
                            
                            
                        
                            
                                Vector Mathematical Functions
                            
                            
                        
                            
                                Random Number Generators
                            
                            
                        
                            
                                Summary Statistics
                            
                            
                        
                            
                                Fourier Transform Functions
                            
                            
                        
                            
                                Data Fitting
                            
                            
                        
                            
                            
                                Bibliography
                            
                        
                            
                                Appendix A: oneMKL Functionality
                            
                            
                        
                            
                            
                                Notices and Disclaimers
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            Sparse BLAS Matrix Handle Contract between User and Library
                                        
                                        
                                    
                                        
                                        
                                            Sparse BLAS Supported Data and Integer Types
                                        
                                        
                                    
                                        
                                        
                                            Sparse Storage Formats
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::init_matrix_handle
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::release_matrix_handle
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::set_csr_data
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::set_matrix_property
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::optimize_gemv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::optimize_trmv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::optimize_trsv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::gemv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::gemvdot
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::symv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::trmv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::trsv
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::gemm
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::init_matmat_descr
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::set_matmat_data
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::get_matmat_data
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::release_matmat_descr
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::matmat
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::omatcopy
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::sort_matrix
                                        
                                        
                                    
                                        
                                        
                                            oneapi::mkl::sparse::update_diagonal_values
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                        
                                            gebrd
                                        
                                        
                                    
                                        
                                        
                                            gebrd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            gebrd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            gels_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            gels_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            gels_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf
                                        
                                        
                                    
                                        
                                        
                                            geqrf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            geqrf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            gerqf
                                        
                                        
                                    
                                        
                                        
                                            gerqf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            gerqf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            gesv (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            gesv_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            gesvd
                                        
                                        
                                    
                                        
                                        
                                            gesvd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            gesvd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            getrf
                                        
                                        
                                    
                                        
                                        
                                            getrf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            getrfnp_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrfnp_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrfnp_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrfnp_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrfnp_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri
                                        
                                        
                                    
                                        
                                        
                                            getri (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch (Out-of-place, Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch (Out-of-place, USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getri_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            getrs
                                        
                                        
                                    
                                        
                                        
                                            getrs (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrs_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            getrsnp_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrsnp_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            getrsnp_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            heevd
                                        
                                        
                                    
                                        
                                        
                                            heevd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            heevd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            hegvd
                                        
                                        
                                    
                                        
                                        
                                            hegvd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            hegvd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            hetrd
                                        
                                        
                                    
                                        
                                        
                                            hetrd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            hetrd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            hetrf
                                        
                                        
                                    
                                        
                                        
                                            hetrf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            hetrf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            orgbr
                                        
                                        
                                    
                                        
                                        
                                            orgbr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            orgbr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            orgqr
                                        
                                        
                                    
                                        
                                        
                                            orgqr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            orgqr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            orgtr
                                        
                                        
                                    
                                        
                                        
                                            orgtr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            orgtr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ormqr
                                        
                                        
                                    
                                        
                                        
                                            ormqr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ormqr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ormrq
                                        
                                        
                                    
                                        
                                        
                                            ormrq (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ormrq_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ormtr
                                        
                                        
                                    
                                        
                                        
                                            ormtr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ormtr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            potrf
                                        
                                        
                                    
                                        
                                        
                                            potrf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            potri
                                        
                                        
                                    
                                        
                                        
                                            potri (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            potri_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            potrs
                                        
                                        
                                    
                                        
                                        
                                            potrs (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            potrs_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            syevd
                                        
                                        
                                    
                                        
                                        
                                            syevd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            syevd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            sygvd
                                        
                                        
                                    
                                        
                                        
                                            sygvd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            sygvd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            sytrd
                                        
                                        
                                    
                                        
                                        
                                            sytrd (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            sytrd_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            sytrf
                                        
                                        
                                    
                                        
                                        
                                            sytrf (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            sytrf_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            trtri (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            trtri_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            trtrs
                                        
                                        
                                    
                                        
                                        
                                            trtrs (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            trtrs_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ungbr
                                        
                                        
                                    
                                        
                                        
                                            ungbr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ungbr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ungqr
                                        
                                        
                                    
                                        
                                        
                                            ungqr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_batch (Buffer Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_batch (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_batch (USM Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_batch_scratchpad_size (Group Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_batch_scratchpad_size (Strided Version)
                                        
                                        
                                    
                                        
                                        
                                            ungqr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            ungtr
                                        
                                        
                                    
                                        
                                        
                                            ungtr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            ungtr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            unmqr
                                        
                                        
                                    
                                        
                                        
                                            unmqr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            unmqr_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            unmrq
                                        
                                        
                                    
                                        
                                        
                                            unmrq (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            unmrq_scratchpad_size
                                        
                                        
                                    
                                        
                                        
                                            unmtr
                                        
                                        
                                    
                                        
                                        
                                            unmtr (USM Version)
                                        
                                        
                                    
                                        
                                        
                                            unmtr_scratchpad_size
                                        
                                        
                                    
                                
                            
                                                            
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::mrg32k3a
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::philox4x32x10
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::mcg31m1
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::mcg59
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::r250
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::wichmann_hill
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::mt19937
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::sfmt19937
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::mt2203
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::ars5
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::sobol
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::niederreiter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::nondeterministic
                                                                
                                                                
                                                            
                                                        
                                                    
                                                            
                                                            
                                                                
                                                                
                                                                    Distributions Template Parameter Method
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::uniform (Continuous)
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::gaussian
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::exponential
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::laplace
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::weibull
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::cauchy
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::rayleigh
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::lognormal
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::gumbel
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::gamma
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::beta
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::chi_square
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::gaussian_mv
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::uniform (Discrete)
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::uniform_bits
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::bits
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::bernoulli
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::geometric
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::binomial
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::hypergeometric
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::poisson
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::poisson_v
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::negative_binomial
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::multinomial
                                                                
                                                                
                                                            
                                                        
                                                    
                                                            
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::uniform (Continuous)
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::gaussian
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::lognormal
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::exponential
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::uniform (Discrete)
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::bits
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::uniform_bits
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::poisson
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    oneapi::mkl::rng::device::bernoulli
                                                                
                                                                
                                                            
                                                        
                                                    
                                                
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::raw_sum
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::central_sum
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::central_sum with User-provided Mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::raw_moment
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::central_moment
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::central_moment with User-provided Mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::variation
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::variation with User-provided Mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::skewness
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::skewness with User-provided Mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::kurtosis
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::kurtosis with User-provided Mean
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::min
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::max
                                                    
                                                    
                                                
                                                    
                                                    
                                                        oneapi::mkl::stats::min_max
                                                    
                                                    
                                                
                                            
                                        
                                    
                                    
                                        
                                        
                                            descriptor<precision, domain>
                                        
                                        
                                    
                                        
                                        
                                            descriptor<precision, domain>::set_value
                                        
                                        
                                    
                                        
                                        
                                            descriptor<precision, domain>::get_value
                                        
                                        
                                    
                                        
                                        
                                            descriptor<precision, domain>::commit
                                        
                                        
                                    
                                        
                                        
                                            compute_forward<typename descriptor_type, typename data_type>
                                        
                                        
                                    
                                        
                                        
                                            compute_backward<typename descriptor_type, typename data_type>
                                        
                                        
                                    
                                        
                                        
                                            User-Allocated Workspaces
                                        
                                        
                                    
                                
                            Examples
The following example demonstrates how to construct the linear spline and perform the interpolation.
#include <cstdint>
#include <iostream>
#include <vector>
#include <sycl/sycl.hpp>
#include <oneapi/mkl/experimental/data_fitting.hpp>
constexpr std::int64_t nx = 10'000;
constexpr std::int64_t nsites = 150'000;
int main (int argc, char ** argv) {
    sycl::queue q;
    sycl::usm_allocator<double, sycl::usm::alloc::shared> alloc(q);
    // Allocate memory for spline parameters
    std::vector<double, decltype(alloc)> partitions(nx, alloc);
    std::vector<double, decltype(alloc)> functions(nx, alloc);
    std::vector<double, decltype(alloc)> coeffs(2 * (nx - 1), alloc);
    std::vector<double, decltype(alloc)> sites(nsites, alloc);
    std::vector<double, decltype(alloc)> results(nsites, alloc);
    // Fill parameters with valid data
    for (std::int64_t i = 0; i < nx; ++i) {
        partitions[i] = 0.1 * i;
        functions[i] = i * i;
    }
    for (std::int64_t i = 0; i < nsites; ++i) {
        sites[i] = (0.1 * nx * i) / nsites);
    }
    namespace df = oneapi::mkl::experimental::data_fitting;
    // Set parameters to spline
    df::spline<double, df::linear_spline::default_type> spl(q);
    spl.set_partitions(partitions.data(), nx)
       .set_coefficients(coeffs.data())
       .set_function_values(functions.data());
    // Construct spline
    auto event = spl.construct();
    event = df::interpolate(spl, sites.data(), nsites, results.data(), { event });
    event.wait();
    std::cout << "done" << std::endl;
    return 0;
}