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

Illegal instruction Intel(R) Core(TM)2 Duo CPU E8400

ruebe
Beginner
3,722 Views

Hi,

I have

#include
#include
#include "mkl_vml.h"
#include "mkl_service.h"

#define N 4

int main()
{
double a = {0.1, 0.2, 0.3, 0.4};
double b, y;
MKL_INT n = N, i;
MKLVersion ver;

MKLGetVersion(&ver);
printf("\\nMKL Version = %d.%d.%d\\n\\n", ver.MajorVersion, ver.MinorVersion, ver.UpdateVersion);

for (i = 0; i < n; i++) b = a - 0.05;

vdSub(n, a, b, y);

for (i = 0; i < n; i++)
printf("a[%d] - b[%d] = %f - %f = %f\\n", i, i, a, b, y);

return 0;
}

and

#include
#include
#include "mkl_vml.h"
#include "mkl_service.h"

int main()
{
double a[2] = {0.2, 0.3}, y[2];
MKL_INT n = 2, mod, accm, fpum, errm;
MKLVersion ver;

MKLGetVersion(&ver);
printf("\\nMKL Version = %d.%d.%d\\n", ver.MajorVersion, ver.MinorVersion, ver.UpdateVersion);

mod = vmlGetMode();
accm = vmlGetMode() & VML_ACCURACY_MASK;
fpum = vmlGetMode() & VML_FPUMODE_MASK;
errm = vmlGetMode() & VML_ERRMODE_MASK;

/*
printf("mod = %d\\n", mod);
printf("accm = %d\\n", accm);
printf("fpum = %d\\n", fpum);
printf("errm = %d\\n", errm);
*/

vdInv(n, a, y);


printf("Compute Power[{0.2, 0.3}, -1] using vdInv.\\n");
printf("answer = {%f, %f}\\n\\n", y[0], y[1]);

return 0;
}

with the following make file


# MKL static linking
MKLLIB = -Wl,--start-group $(MKLDIR)/libmkl_intel_lp64.a \\
$(MKLDIR)/libmkl_intel_thread.a $(MKLDIR)/libmkl_core.a -Wl,--end-group \\
-L$(MKLDIR) -liomp5 -lpthread

CC = gcc
CXX = g++
CFLAGS = -g -O0 -Wall -I$(MKLDIR)
LDFLAGS =-g -O0 $(MKLLIB) -lm

all : vdinv vdsub

vdinv : vdinv.o
$(CC) -o vdinv vdinv.o $(LDFLAGS)

vdinv.o : vdinv.c
$(CC) -c $(CFLAGS) vdinv.c

vdsub : vdsub.o
$(CC) -o vdsub vdsub.o $(LDFLAGS)

vdsub.o : vdsub.c
$(CC) -c $(CFLAGS) vdsub.c

clean :
rm -vf *.o

I compile

gcc -c -g -O0 -Wall -I/Components/MKL/10.2/Linux-x86-64/vendor vdinv.c
gcc -o vdinv vdinv.o -g -O0 -Wl,--start-group /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_lp64.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_thread.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_core.a -Wl,--end-group -L/Components/MKL/10.2/Linux-x86-64/vendor -liomp5 -lpthread -lm
gcc -c -g -O0 -Wall -I/Components/MKL/10.2/Linux-x86-64/vendor vdsub.c
gcc -o vdsub vdsub.o -g -O0 -Wl,--start-group /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_lp64.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_thread.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_core.a -Wl,--end-group -L/Components/MKL/10.2/Linux-x86-64/vendor -liomp5 -lpthread -lm

when I run these programs

I get Illegal instructions.

Program received signal SIGILL, Illegal instruction.
0x0000000000405406 in mkl_vml_core_e9_vml_dSub ()

bt:

#0 0x0000000000405406 in mkl_vml_core_e9_vml_dSub ()
#1 0x00000000004028e3 in vdSub ()
#2 0x00007fffffffde90 in ?? ()
#3 0x00007fffffffde90 in ?? ()
#4 0x00007fffffffded0 in ?? ()
#5 0x00007fffffffdfb0 in ?? ()
#6 0x0000000000000000 in ?? ()

My CPU is an Intel Core2 Duo CPU E8400

I use

gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839]

GNU C Library stable release version 2.10.1 (20090918), by Roland McGrath et al.

I tried to set

MKL_AVX_ENABLE to

but that did not help, I am not sure it should.

Anysuggestion, how I could fix it, or narrow it further down?

Thanks a lot

I think (because of the related CPU but i have not checked) there is a similar problem on a

Windows 7 (64 bit)
Intel Core2 Duo T9600 @ 2.80GHz

0 Kudos
17 Replies
Gennady_F_Intel
Moderator
3,722 Views

Oliver, thanks for the issue. this is an unknown problem for us and therefore we will try to check it on our side and will back asap.

Gennady

0 Kudos
Gennady_F_Intel
Moderator
3,722 Views

Oliver, can you get us thePackage ID you are using? You can find it into the \doc\mklsupport.txt file.

0 Kudos
Andrey_G_Intel2
Employee
3,722 Views

ruebe,

could you provide values of your environment variables (type set at command line) also?

Andrey

0 Kudos
Vladimir_Lunev
New Contributor I
3,722 Views

Hi ruebe,

Pleaseadd one more printf to your example

printf(" Processor optimization: %s\n",ver.Processor);

and provide the outputfor us.

Thanks,

-Vladimir

0 Kudos
ruebe
Beginner
3,722 Views
It's checked: Crashes on Windows 7 (64) with Intel Core2 Duo T9600 @ 2.80GHz
0 Kudos
ruebe
Beginner
3,722 Views

That would be

l_mkl_p_10.2.3.029

0 Kudos
ruebe
Beginner
3,722 Views

Why don't you tell me waht you want to know and I'll send that information.

0 Kudos
ruebe
Beginner
3,722 Views

That's

Processor optimization: Intel Core 2 Duo Processor

0 Kudos
Andrey_G_Intel2
Employee
3,722 Views

I have tried to reproduce your problem at E8400 and I have failed. But we have Windows 2003 server installed at this server.

Could you provide details - how are you building your tests at Windows?

Did you make any modifications to MKL libraries?

Andrey

0 Kudos
ruebe
Beginner
3,722 Views

Andrey,

no modifications to MKL, besides that we copy all the headers and libraries to a single directory.

The test on windows 7 is done (not by me) with the attached VS project files.

0 Kudos
ruebe
Beginner
3,722 Views

If I use the vdsub code with MKL 10.1 on the Linux setup, it works.

Any ideas?

0 Kudos
kornic
Beginner
3,722 Views

I experience a similar problem under vista 32 and core duo.

Funny enough a virus scan with DrWeb just popped up a possible infected element

C:\Program Files\Intel\Compiler\11.1\054\mkl\ia32\lib\mkl_core.lib

Doubt...

0 Kudos
ruebe
Beginner
3,722 Views

Andrey,

I am wondering if you consider this issue resolved, or if you are still investigating?

Thanks

0 Kudos
Andrey_G_Intel2
Employee
3,722 Views

Ruebe,

sorry for delay - I`m trying to find servers with similar to your configuration.

I have built your project and run it successfully at Core 2 duo E7200 andCore i7 extrime 975(both under Windows 7).

I have attached Release binaries to this post. Could you runthem at yourT9600 Windows7 system? (password for zip file is 12345).

Andrey

0 Kudos
ruebe
Beginner
3,722 Views

Andrey,

thanks, here are the results:

It opens up a window and prints out :
MKL Version = 10.2.3
and then crashes.

Here is the output from the crash window.

Problem signature:
Problem Event Name: APPCRASH
Application Name: vdsub-vc90.exe
Application Version: 0.0.0.0
Application Timestamp: 4b6f2cb1
Fault Module Name: vdsub-vc90.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4b6f2cb1
Exception Code: c000001d
Exception Offset: 0000000000002c7e
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 4d92
Additional Information 2: 4d927d762d14971bbbd7864575416085
Additional Information 3: 07f5
Additional Information 4: 07f5ea87781fa57804bb957832da6b03

0 Kudos
Gennady_F_Intel
Moderator
3,722 Views

For those who are interested in the topic that was discussed here:The problem is already fixed and this fix will be available next update (MKL v.10.2 Update5).
We will announce of this release, when it will be available with the Intel Registration Center.

--Gennady
0 Kudos
Gennady_F_Intel
Moderator
3,722 Views
Hello everyone,

The problem you reported was fixed in the version 10.2 Update 5.

This version available for download from intel registration center: https://registrationcenter.intel.com/

--Gennady

0 Kudos
Reply