- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have
#include
#include
#include "mkl_vml.h"
#include "mkl_service.h"
#define N 4
int main()
{
double a
double b
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oliver, can you get us thePackage ID you are using? You can find it into the
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
could you provide values of your environment variables (type set at command line) also?
Andrey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ruebe,
Pleaseadd one more printf to your example
printf(" Processor optimization: %s\n",ver.Processor);
and provide the outputfor us.
Thanks,
-Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That would be
l_mkl_p_10.2.3.029
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Why don't you tell me waht you want to know and I'll send that information.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's
Processor optimization: Intel Core 2 Duo Processor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I use the vdsub code with MKL 10.1 on the Linux setup, it works.
Any ideas?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Andrey,
I am wondering if you consider this issue resolved, or if you are still investigating?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This version available for download from intel registration center: https://registrationcenter.intel.com/
--Gennady
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page