- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I installed 2020.00.4.1 community version. But I am facing the crash. I have this dll in my path. Please help
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please show how did you build your application against the mkl.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The message "No symbol file loaded..." is normal and expected for compiler RT and MKL libraries that do not come with separate Release/Debug versions. This message is not a cause for concern. Nor is accessibility of the DLL at issue -- the DLL was loaded and its code was executed and caused an access violation (C0000005 error code).
On the other hand, the access violation in one of these DLLs is the real problem. More specifically, a call to a routine in MKL appears to be passing an integer variable with the value -1 when an address was required.
Look at the Call Stack panel and report what you see there. Examine your code and see if you can pin down the MKL function call that caused the problem, and examine the argument list for correctness (number of arguments, types, values).
If possible, provide a "bug reproducer" example.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using:
a) I have installed visual studio# 2017 (see attached picture visual_studio_version_picture.png)
b) I have installed parallel_studio_xe_2020_update4_cluster_edition_setup.exe to use MKL.
c) I am trying to call feast from MKL for eigen solution. I am statically linking with mkl_core.lib (you can see from my attached project).
d) I am using /MTd (muti-threaded Debug) to compile.
e) while linking I get this error "mkl_core.lib(_avx512_jit_destroy.obj) : : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in c_example.obj"
In my experience, this error happens in the DEBUG module. However, I can link with mkl_core_dll.lib (I do not like to do that). It seems to be bug between developer studio 2017 and intel compiler.
Any help is appreciated. Please do not hesitate to contact me for further investigation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would recommend you to check the list of mkl's libs you need to link with. Please check the MKL Linker Adviser or MKL Developer Guide first of all.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Gennady,
Unfortunately, I tried according to intel MKL Linker Adviser. I have added "mkl_intel_ilp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib" (only these four libraries are used for linking). The strange thing is that the linking error happens ONLY WHEN I call FEAST routine. It does not happen if I call other LAPACK or BLAS routines. Would you please check if anything I am doing wrong? I have attached the project.
Dilip
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another thing I have noticed that I can link in the release module fine.
Sukla
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Gennady,
The error happens only when I call FEAST. The error does not happen for other LAPACK or BLAS routines. I am trying 2x2 eigenvalue analysis. The error happens in the debug module. It does not happen in the release module. I have included the exact libraries, that Intel MKL link advisor suggests ( mkl_intel_ilp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib).
Sukla
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sukla:
From your post, is seems to me* that you may be passing 4-byte integer arguments to the FEAST solver. If MKL_INT is not redefined, which can be done in one of several ways, it will default to "int", which is 4-byte. Such 4-byte integer arguments are not compatible with the ILP64 versions of the MKL libraries. You should have used the LP64 libraries instead. Or, if you really require 8-byte integers, take the steps needed to make MKL_INT be 8-byte, and use the ILP64 libraries.
If you call other MKL routines, e.g., the BLAS or Lapack routines, and those routines do not take any integer arguments, this mismatch of integer sizes is not an issue for those calls.
* I am replying from a Chromebook, so I cannot open up your project in Visual Studio to check.
P.S. (90 minutes later, back on a Windows PC):
I added two diagnostic print statements, one before and the other after the call to dfeast_scsrgv in your example source code:
printf("size of mkl_int: %d\n",sizeof(MKL_INT));
dfeast_scsrgv(...);
printf("FEAST returned info = %d\n",info);
Compiling, linking, and running:
S:\LANG\MKL>icl /Qmkl c_example.cc
S:\LANG\MKL>c_example
size of mkl_int: 4
FEAST returned info = 0
S:\LANG\MKL>
These findings are in agreement with my conjecture regarding your using ILP64 libraries when LP64 should have been chosen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since, I could build only the release executable, here is the outcome.
By the way can I get an example with dfeast_srci. I could not find an example in MKL directory.
Thanks in advance.
C:\Users\19494\source\bug\b1\bug1\x64\Release\bug1.exe
size of mkl_int: 8
C:\Users\19494\source\bug>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
that's very strange if you are able to build BLAS and LAPACK examples and failed to build the FEAST. There are no differences between all of these examples from a building point of view.
You may try to build the existing FEAST example from mklroot/examples/solvers_eec directory. There you may find out the makefile ready to build. For example, you may take a separate example, e.x - sexample_sparse_c.c, and building the code from the command line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, such MKL Extended Eigensolvers example in a sparse format exists. You may check
<mklroot>/examples/solvers_eec/dexample_sparse_rci_c.c
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page