Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7074 Discussions

d_Helmholtz_3D_c.c crashes with Unhandled exception (KernelBase.dll). Module not found.

AhmadOneAPI
Beginner
657 Views

I want to build and run the attached code using Visual Studio 2022 Community that uses Intel MKL 2024 and C++20 under Windows 10 64bit.

The project is very simple and is trying to run the following example provided by Intel OneAPI MKL 2024
C:\Program Files (x86)\Intel\oneAPI\2024.1\share\doc\mkl\examples\examples_core_c\c\pdepoisson\source\d_Helmholtz_3D_c.c

Include and library folders are:
C:\Program Files (x86)\Intel\oneAPI\mkl\2024.1\lib
C:\Program Files (x86)\Intel\oneAPI\mkl\2024.1\include

Dependencies are:
mkl_core.lib
mkl_rt.lib

DLLs copied to the folder containing the executable of the project are:
mkl_avx512.2.dll
mkl_core.2.dll
mkl_def.2.dll
mkl_intel_thread.2.dll
mkl_rt.2.dll
mkl_sequential.2.dll

 

Issue:

My project is built successfully for x64 Debug but when execution reaches the following line:

d_init_Helmholtz_3D(&ax, &bx, &ay, &by, &az, &bz, &nx, &ny, &nz, BCtype, &q, ipar, dpar, &stat);

I get the following exception and d_init_Helmholtz_3D never returns successfully:

Unhandled exception at 0x00007FFFB8D6AB89 (KernelBase.dll) in IntelMKLIssue.exe: 0xC06D007E: Module not found (parameters: 0x000000AA1A4FE6F0).

 

The call stack is as follows

KernelBase.dll!00007fffb8d6ab89() Unknown
mkl_intel_thread.2.dll!00007ffec10adb5e() Unknown
mkl_intel_thread.2.dll!00007ffec10b2e55() Unknown
mkl_intel_thread.2.dll!00007ffebf1e6bdc() Unknown
mkl_intel_thread.2.dll!00007ffebfd58b62() Unknown
mkl_avx512.2.dll!00007ffea8d1c08b() Unknown
mkl_core.2.dll!00007ffeaacd12ff() Unknown
mkl_rt.2.dll!00007ffec29e6649() Unknown
> IntelMKLIssue.exe!main() Line 215 C++

 

The line 215 is the following if statement.

if (stat != 0) {
   error = 1;
   goto end;
}

 

I don't think I am missing any lib s or DLLs. I intentionally made my project to link against all the lib files in C:\Program Files (x86)\Intel\oneAPI\mkl\2024.1\lib and also copied all the DLLs in C:\Program Files (x86)\Intel\oneAPI\mkl\2024.1\bin into my executable folder, still I get the same exception message. Although I don't need to do all the libs and DLLs, I did it anyway to rule out any potential missing files.

 

How can I know what lib and DLL files a specific MKL function needs? I could not find this info on MKL PDF documentation.

0 Kudos
2 Replies
Ruqiu_C_Intel
Moderator
554 Views

Looks it works well in my side for your code.

 Example of use of  Intel oneMKL Poisson Library
 **********************************************

 This example gives the solution of 3D Helmholtz problem
 with the equation -u_xx-u_yy-u_zz+u=f(x,y,z), 0<x<1, 0<y<1, 0<z<1,
 f(x,y,z)=(12*pi*pi+1)*sin(2*pi*x)*sin(2*pi*y)*sin(2*pi*z)+1,
 and with the following boundary conditions:
  u(0,y,z)=u(1,y,z)=1 (Dirichlet boundary conditions),
 -u_y(x,0,z)=-2.0*pi*sin(2*pi*x)*sin(2*pi*z) (Neumann boundary condition),
  u_y(x,1,z)= 2.0*pi*sin(2*pi*x)*sin(2*pi*z) (Neumann boundary condition),
 -u_z(x,y,0)=-2.0*pi*sin(2*pi*x)*sin(2*pi*y) (Neumann boundary condition),
  u_z(x,y,1)= 2.0*pi*sin(2*pi*x)*sin(2*pi*y) (Neumann boundary condition).
 ----------------------------------------------------------------------
 In general, the error should be of order O(1.0/nx^2+1.0/ny^2+1.0/nz^2)
 For this example, the value of nx=ny=nz is 4
 The approximation error should be of order 5.0e-01, if everything is OK
 ----------------------------------------------------------------------
                      DOUBLE PRECISION COMPUTATIONS
 ======================================================================

The number of mesh intervals in x-direction is nx=4
The number of mesh intervals in y-direction is ny=4
The number of mesh intervals in z-direction is nz=4

In the mesh point (0.25,0.00,0.00) the error between the computed and the true solution is equal to -3.896e-01
In the mesh point (0.25,0.00,0.25) the error between the computed and the true solution is equal to -1.978e-01
In the mesh point (0.25,0.00,0.50) the error between the computed and the true solution is equal to -2.220e-16
In the mesh point (0.25,0.00,0.75) the error between the computed and the true solution is equal to  1.978e-01
In the mesh point (0.25,0.00,1.00) the error between the computed and the true solution is equal to  3.896e-01
In the mesh point (0.25,0.25,0.00) the error between the computed and the true solution is equal to -1.978e-01
In the mesh point (0.25,0.25,0.25) the error between the computed and the true solution is equal to  1.660e-01
In the mesh point (0.25,0.25,0.50) the error between the computed and the true solution is equal to -2.220e-16
In the mesh point (0.25,0.25,0.75) the error between the computed and the true solution is equal to -1.660e-01
In the mesh point (0.25,0.25,1.00) the error between the computed and the true solution is equal to  1.978e-01
In the mesh point (0.25,0.50,0.00) the error between the computed and the true solution is equal to -4.441e-16
In the mesh point (0.25,0.50,0.25) the error between the computed and the true solution is equal to -4.441e-16
In the mesh point (0.25,0.50,0.50) the error between the computed and the true solution is equal to -2.220e-16
In the mesh point (0.25,0.50,0.75) the error between the computed and the true solution is equal to -3.331e-16
In the mesh point (0.25,0.50,1.00) the error between the computed and the true solution is equal to -3.331e-16
In the mesh point (0.25,0.75,0.00) the error between the computed and the true solution is equal to  1.978e-01
In the mesh point (0.25,0.75,0.25) the error between the computed and the true solution is equal to -1.660e-01
In the mesh point (0.25,0.75,0.50) the error between the computed and the true solution is equal to -3.331e-16
In the mesh point (0.25,0.75,0.75) the error between the computed and the true solution is equal to  1.660e-01
In the mesh point (0.25,0.75,1.00) the error between the computed and the true solution is equal to -1.978e-01
In the mesh point (0.25,1.00,0.00) the error between the computed and the true solution is equal to  3.896e-01
In the mesh point (0.25,1.00,0.25) the error between the computed and the true solution is equal to  1.978e-01
In the mesh point (0.25,1.00,0.50) the error between the computed and the true solution is equal to -2.220e-16
In the mesh point (0.25,1.00,0.75) the error between the computed and the true solution is equal to -1.978e-01
In the mesh point (0.25,1.00,1.00) the error between the computed and the true solution is equal to -3.896e-01

 Double precision 3D Helmholtz example has successfully PASSED
 through all steps of computation!

C:\Users\rcao8\source\repos\mklTest\x64\Debug\mklTest.exe (process 16328) exited with code -1.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .

 

BRs,

Ruqiu

 

0 Kudos
Ruqiu_C_Intel
Moderator
339 Views

I am closing this thread for now.

Please open a separate thread if you face any further issues.


0 Kudos
Reply