Git Product home page Git Product logo

Comments (5)

sknepper avatar sknepper commented on May 20, 2024 1

Hi @jakub-homola, thanks for the question! The matrices in the LAPACK domain are assumed to be column-major. You're right that we need to add this information to the oneMKL specification. Thanks for finding this!

from oneapi-spec.

sknepper avatar sknepper commented on May 20, 2024 1

Hi @jakub-homola,
When we introduced row major support for the BLAS domain, that was one consideration - to take a parameter that indicated the layout of the matrices (like in CBLAS/LAPACKE). However, we ultimately opted to create separate namespaces as typically an application would use just one layout for the whole application. With namespaces, you don't need to pass an extra layout parameter for every function.

from oneapi-spec.

sknepper avatar sknepper commented on May 20, 2024 1

@jakub-homola Thanks again for catching this! I appreciate your interest and thoughtful replies. As we've updated the specification to clarify this, I'd like to ask @mmeterel to close this issue. Please re-open if needed.

And just a note about Intel oneMKL documentation since that was mentioned in the initial report: We note that "Currently, LAPACK DPC++ APIs do not support matrices stored using row major layout." in the Intel® oneAPI Math Kernel Library (oneMKL) - Data Parallel C++ Developer Reference (link). However, we will make this more clear in a future update. Thanks again!

from oneapi-spec.

mmeterel avatar mmeterel commented on May 20, 2024

Assigning to @sknepper

from oneapi-spec.

jakub-homola avatar jakub-homola commented on May 20, 2024

Thanks for the reply.
However, when thinking about it, I think it would be better to add an additional oneapi::mkl::layout argument, rather than accepting only column-major matrices. Would it be possible, with respect to backwards compatibility?

from oneapi-spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.