Git Product home page Git Product logo

Comments (7)

sknepper avatar sknepper commented on September 15, 2024

Thank you for the detailed bug report, including a reproducer! This project doesn't cover oneMKL binary product and the better way to escalate issues is the oneMKL Forum. You can read more about difference between oneMKL interfaces project and Intel oneMKL release here.

That said, the Intel oneMKL team will take a look at this issue now that you've brought it to our attention. Thanks!

from onemkl.

sknepper avatar sknepper commented on September 15, 2024

We took a look, and it seems like the link line may be incorrect. Please consider using the Link Line Advisor to configure the link command according to your program features. In particular, Intel® oneAPI Math Kernel Library for DPC++ only supports using the mkl_intel_ilp64 interface library.

Linking with the mkl_intel_ilp64 interface library and defining the compilation option -DMKL_ILP64 allow the program to run with the expected behavior:
1 2 3 4 5 6 7 8 9 10
1 0 2 0 3 0 4 0 5 0

While linking to the mkl_intel_lp64 interface library resulted in the same output you reported.

Example link line:
dpcpp dgetrf.cpp -DMKL_ILP64 -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpenCL -lpthread -lm -ldl

Thanks, and please let us know if this doesn't solve the issue.

from onemkl.

pghysels avatar pghysels commented on September 15, 2024

Hi. Thank you. That does indeed solve the issue.

from onemkl.

pghysels avatar pghysels commented on September 15, 2024

I'm sorry I didn't show my link line in the original post.
I have used the link line advisor before, it is a great tool.

In other parts of my code I use the original 32 bit fortran BLAS and LAPACK interfaces directly. I wonder how I will be able to combine both these 32 bit interfaces and the 64 bit oneAPI interfaces in a single library.

from onemkl.

mkrainiuk avatar mkrainiuk commented on September 15, 2024

Hi @pghysels, so far it's not possible, but we will investigate how we can enable mixing of lp64/ilp64 APIs in one library. Is it important to have 32 bit fortran API in your application?

from onemkl.

pghysels avatar pghysels commented on September 15, 2024

The 32 bit Fortran interface is used extensively in our code. I could refactor this to make the BLAS/LAPACK integer size a template parameter or make it configurable at compile time. But this would require considerable changes. We didn't think we would ever need 64 bit LAPACK.
This 32 bit interface is also used in some of our dependencies, for instance SLATE, (which does not currently support MKL with 64 bit integers) and ButterflyPACK, which is written in Fortran and calls the 32 bit interfaces directly.

from onemkl.

mkrainiuk avatar mkrainiuk commented on September 15, 2024

Thanks @pghysels, I will keep this issue updated with any information about enabling lp64/ilp64 mixing support in Intel oneMKL.

from onemkl.

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.