- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am getting the following error employing lapack functions with DPC++ compiler
Error no matching function for call to 'dgeqrf_' VectorFittingOptimization
1>C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include/mkl_lapack.h(15252,6): note: candidate function not viable: no known conversion from 'integer *' (aka 'long *') to 'const int *' for 1st argument
1>void dgeqrf_( const MKL_INT* m, const MKL_INT* n, double* a,
1> ^
The same code runs properly with C++ Compiler Classic and Visual C++.
Thank you.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for posting in Intel Communities.
Could you please let us know the OS details, Intel MKL you are using?
Also, could you please provide us with the complete sample reproducer code you are using to reproduce the similar behavior and investigate more at our end?
Thanks & Regards,
Jilani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for your support.
While writing a minimum example, it turned out that the problem is related to the type of int variables that my mkl function needs. I was using long int. It works for Visual C++ and Intel C++ Classic, but gives the above error with DPC++. Changing the types to int solves the problem.
OS: Windows 11, 22H2
Intel MKL 2023.2
Visual Studio 2022 17.1.0
Here is my code
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Intel DPC++ compiler(dpcpp) is used to execute the C++ with SYCL code. Intel C++ compiler is only used to execute the C++ source code. Because of this, the sample code runs without any compilation issues on Intel C++ classic.
If long int is required rather than int, we can do explicit casting as seen below. This will solve the compilation error.
dgeqrf_(&m, &n, A, &lda, tau, work, &lwork, ((int*) & info));
Regards,
Jilani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
A gentle reminder:
Have you found the information to be useful? Could you please provide us with an update on your issue?
Regards,
Jilani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have not heard back from you. Could you please provide us with an update?
Regards,
Jilani
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page