2

I am compiling a code that uses Cray LibSci numerical library for BLAS and LAPACK on a Cray XC30 system using the Intel compiler with the "-ipo" flag and including "-openmp" to compile OpenMP-enabled code.

I see the following error for any code I try to compile:

** segmentation violation signal raised **
Access violation or stack overflow. Please contact Support.

ifort: error #10106: Fatal error in /opt/intel/composer_xe_2013_sp1.4.211/bin/intel64/fortcom, terminated by segmentation violation
ifort: error #10014: problem during multi-file optimization compilation (code 1)

This can be illustrated with a very simple example:

user@eslogin008:~> cat blas1F.f
      program blas1F

      implicit none

      real*4 x(4), y(4)

      external sswap

      data x/2, 3, 4, 5/
      data y/5, 4, 9, 2/

      call sswap(4,   x, 1,   y, 1)

      write (*,*) 'After Swap..'

      end

Compiling:

user@eslogin008:~> ftn -ipo -openmp blas1F.f
** segmentation violation signal raised **
Access violation or stack overflow. Please contact Support.

ifort: error #10106: Fatal error in /opt/intel/composer_xe_2013_sp1.4.211/bin/intel64/fortcom, terminated by segmentation violation
ifort: error #10014: problem during multi-file optimization compilation (code 1)

Excluding either one of the "-ipo" or "-openmp" flags results in the code compiling and running fine.

AndyT
  • 491
  • 2
  • 10

1 Answers1

0

It is the threaded (OpenMP) version of the Cray LibSci library that is causing the problem here. One workaround is to link the non-threaded version of the library by adding "-lsci_intel":

user@eslogin008:~> ftn -ipo -openmp -lsci_intel blas1F.f
ipo: remark #11001: performing single-file optimizations
ipo: remark #11006: generating object file /tmp/ipo_ifortcBBetG.o
AndyT
  • 491
  • 2
  • 10
  • Looks like a compiler bug to me. Notify Cray about it. – Hristo Iliev Jul 27 '15 at 15:11
  • @HristoIliev I think Andy notified both the compiler and library vendors. Andy, thanks for investigating the problem. – Vladimir F Героям слава Jul 27 '15 at 16:34
  • Cray are working on understanding what is going wrong here and are trying to determine if this is a bug with their library, with the Intel compiler, or both. – AndyT Jul 28 '15 at 08:01
  • It's the Intel compiler, and the -ipo phase in particular that is having issues. It tries reading the libraries (to see if there is any Intel intermediate code) and is running into a problem. Is this reproducible with a current Intel compiler version (15.0.4 is current)? If so, please report to Intel, or Cray if they provide your support (Cray will then work with us.) – Steve Lionel Jul 28 '15 at 17:38