incorrect on entry to DSYEVR or segfault

Open discussion regarding features, bugs, issues, vendors, etc.

incorrect on entry to DSYEVR or segfault

Postby UlrichRekenin » Sat Jul 16, 2011 4:03 pm


When I compile my project with flags in my laptop:
Code: Select all
 -O3 -ipo8 -static -fast -parallel -align all -mp1 -mtune=pentium4m -pad -pc80 -prec-div -prec-sqrt -scalar-rep -simd -unroll4 -unroll-aggressive -finline -diag-file=diag.out  -L/opt/intel/composerxe-2011.3.174/mkl -I/opt/intel/composerxe-2011.3.174/mkl/include/intel64/ilp64 -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -Wl,--start-group -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread

The executable file is built. But, when I run it I got the following error msg:
MKL ERROR: Parameter 18 was incorrect on entry to DSYEVR

SegFault with key:
I tested code in another machine. I performed several calculation in one.
Code: Select all
-O3 -ipo8 -static -fast -parallel -align all -mp1 -mtune=pentium4m -pad -pc80 -prec-div -prec-sqrt -simd -unroll4 -unroll-aggressive -finline -diag-file=diag.out  -scalar-rep  -lmkl_lapack -lmkl_em64t -shared -fPIC

When I run an executable file with GDB

gdb -q bin/xmain.2011-07-16
(gdb) r
Starting program: xmain.2011-07-16
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000001 in ?? ()

I didn`t change this part of code. It was gaven me the programer who works in the 2nd machine.
Posts: 3
Joined: Sat Jul 16, 2011 3:53 pm

Re: incorrect on entry to DSYEVR or segfault

Postby admin » Mon Jul 18, 2011 8:13 am

You should definitely check the Parameter 18 in the call to DSYEVR.
What it means is that the workspace given (WORK) is not big enough.
* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
* On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
* The dimension of the array WORK. LWORK >= max(1,26*N).
* For optimal efficiency, LWORK >= (NB+6)*N,
* where NB is the max of the blocksize for DSYTRD and DORMTR
* returned by ILAENV.

To get the correct workspace size, either you call DSYEVR with lwork=-1 or you supply a workspace greater than 26*N

Site Admin
Posts: 587
Joined: Wed Dec 08, 2004 7:07 pm

Return to User Discussion

Who is online

Users browsing this forum: Google [Bot], Yahoo [Bot] and 6 guests