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

Problem with ScaLapack PCLAPRNT (RH Linux, ifort 11.1, openmpi 1.2.4, mkl 10.2.x.x)

nucci
Beginner
266 Views
I have run into a problem with a fortran code when calling scalapack routine PCLAPRNT. As soon as this subroutine is called the code will die on a seg fault. If I use a hand built scalapack and blacs (using source from netlib.org) library with the same code then it will run correctly. It only seg faults when I link the MKL scalapack.

My machine is Linux running RH5 and I trie several flavors of MKL 10.2 including 10.2.6.038. I also use MKL for the blacs and blas. The compiler is ifort 11.1 and the mpi library I am using is a hand-compiler ifort based openmpi v1.2.4.

A code that demonstrates this can be downloaded from http://www.netlib.org/scalapack/examples/sample_pcheevx_call.f

here is a copy of my makefile:

EXE = sample_pcheevx.intel.mkl
F90 = mpif90

MKL_HOME = /usr/global/intel/mkl/10.2.6.038/lib/em64t

SCALAPACKLIB = -lmkl_scalapack_lp64
LIBBLACS = -lmkl_blacs_openmpi_lp64
BLASLIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

F90FLAGS = -O3
LDFLAGS = -L$(MKL_HOME) $(SCALAPACKLIB) $(LIBBLACS) $(BLASLIB) -Wl,-R$(MKL_HOME)

$EXE:sample_pcheevx.f
$(F90) sample_pcheevx.f -o $(EXE) $(F90FLAGS) $(LDFLAGS)

clean:
/bin/rm *.o $(EXE)


any advice appreciaed.

thanks,

--Jeff
0 Kudos
1 Reply
mecej4
Honored Contributor III
266 Views
I could not reproduce your error, but that is understandable because you are using a number of custom-built components.

The example uses a couple of big arrays which are allocated on the stack. That could cause problems. You may try reducing LWORK and LRWORK to, say, 10000; you could make sure that you have raised the stack limit adequately; you could use the -heap-arrays compiler option; you could declare some/all of RWORK, WORK, A, Z with the SAVE attribute.

If none of these suggestions work, you may need to replace your custom-built libraries one at a time by a standard version and try running.
0 Kudos
Reply