Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7222 讨论

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

ruebe
初学者
5,413 次查看

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 项奖励
17 回复数
Gennady_F_Intel
主持人
5,413 次查看

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 项奖励
Gennady_F_Intel
主持人
5,413 次查看

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

0 项奖励
Andrey_G_Intel2
5,413 次查看

ruebe,

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

Andrey

0 项奖励
Vladimir_Lunev
新分销商 I
5,413 次查看

Hi ruebe,

Pleaseadd one more printf to your example

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

and provide the outputfor us.

Thanks,

-Vladimir

0 项奖励
ruebe
初学者
5,413 次查看
It's checked: Crashes on Windows 7 (64) with Intel Core2 Duo T9600 @ 2.80GHz
0 项奖励
ruebe
初学者
5,413 次查看

That would be

l_mkl_p_10.2.3.029

0 项奖励
ruebe
初学者
5,413 次查看

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

0 项奖励
ruebe
初学者
5,413 次查看

That's

Processor optimization: Intel Core 2 Duo Processor

0 项奖励
Andrey_G_Intel2
5,413 次查看

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 项奖励
ruebe
初学者
5,413 次查看

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 项奖励
ruebe
初学者
5,413 次查看

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

Any ideas?

0 项奖励
kornic
初学者
5,413 次查看

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 项奖励
ruebe
初学者
5,413 次查看

Andrey,

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

Thanks

0 项奖励
Andrey_G_Intel2
5,413 次查看

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 项奖励
ruebe
初学者
5,413 次查看

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 项奖励
Gennady_F_Intel
主持人
5,413 次查看

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 项奖励
Gennady_F_Intel
主持人
5,413 次查看
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 项奖励
回复