Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BLAS] Wrong namespace usage in BLAS Documentation #489

Open
AD2605 opened this issue May 14, 2024 · 5 comments
Open

[BLAS] Wrong namespace usage in BLAS Documentation #489

AD2605 opened this issue May 14, 2024 · 5 comments
Labels
documentation A request to change/fix/improve the documentation

Comments

@AD2605
Copy link

AD2605 commented May 14, 2024

Summary

Hi All,

As I get started with oneMKL, I am trying to get a minimal GEMM example up and running, following the [Dense Linear Algebra] link under Developer Reference section in the README.

However, I suppose there is an non-existent namespace being mentioned in the GEMM Docs.

In the above page, the transpose enum seems to be mentioned under the onemkl namespace, but I suppose it is actually under the oneapi::mkl namespace ?

Even the GEMM tests seem to use the same.

I can see the usage of the onemkl namespace throughout the BLAS documentation, Level 1,2 and 3.

Am I correct in my understanding that it is a non-updated documentation or am I possibly missing some include which essentially declares the onemkl namespace ?

Thanks

@AD2605 AD2605 added the documentation A request to change/fix/improve the documentation label May 14, 2024
@hjabird
Copy link
Contributor

hjabird commented May 15, 2024

It looks to me like you're right in that the specification has errors.

The transpose should be in the omeapi::mkl namespace as documented here:

oneMKL BLAS and LAPACK for Data Parallel C++ (DPC++) introduces several new enumeration data types, which are type-safe versions of the traditional Fortran characters in BLAS and LAPACK. They are declared in types.hpp, which is included automatically when you include mkl.hpp. Like all oneMKL DPC++ functionality, they belong to the namespace oneapi::mkl.

However, I think this is a specification issue, not a oneMKL interface library issue. It might be better to open an issue here.

EDIT: I got confused between the oneAPI specification and the documentation for this project. It looks like the oneAPI specification has the same issue here. However, it still looks like everything should be in the oneapi::mkl namespace (here).

@AD2605
Copy link
Author

AD2605 commented May 15, 2024

Thanks for the quick response !

So from what I understand, it's both a spec as well as a documentation issue correct, and a similar Issue must be raised on the oneapi-spec Repo as well ?

@hjabird
Copy link
Contributor

hjabird commented May 15, 2024

It looks like this already has an issue for the oneAPI spec uxlfoundation/oneAPI-spec#534 and a PR uxlfoundation/oneAPI-spec#535.

@hjabird
Copy link
Contributor

hjabird commented May 15, 2024

@mmeterel, @andrewtbarker we think it makes more sense to direct users to the oneAPI/oneMKL specification instead of duplicating the documentation here. I think the solution to this is to:

  • delete the BLAS domain documentation in this repo.
  • Replace with a link the the oneAPI/oneMKL specification.

What do you think?

@andrewtbarker
Copy link
Contributor

@hjabird I tend to agree with you. The only concern I have is that the implementation here might not be perfectly in line with the oneAPI specification at all times, and ideally we would have a way to document discrepancies, but I agree that maintaining two sets of docs does not really make sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation A request to change/fix/improve the documentation
Projects
None yet
Development

No branches or pull requests

3 participants