Skip to content

oneMKL functions taking multiple buffers and their aliasing/overlapping #464

Open
@jakub-homola

Description

@jakub-homola

Hi,

can we pass the same buffer as input and output argument of oneMKL functions? Is "buffer aliasing" allowed?

E.g. the function oneapi::mkl::sparse::trsv. It takes multiple buffers as arguments, namely the input right-hand-side vector and the output solution vector. Can I pass the same buffer for both of these arguments? (mimicking the oneapi::mkl::blas::row_major::trsv behaviour, where there is just one argument for that) (experimentally tested with intel onemkl and it works, but don't know if it is a guarantee).

In general, can buffers passed to oneMKL functions overlap, alias, or be the same? I could not find any information about this in the spec (https://spec.oneapi.io/versions/1.2-rev-1/elements/oneMKL/source/domains/spblas/trsv.html and other pages on that site). Is it specified somewhere?

This might also apply to other one* libraries, but I am not familiar with them.

Thanks,
Jakub

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions