Skip to content

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

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions