Intel® Fortran Compiler for Linux* and Mac OS X*

Problem passing arguments of type REAL*16 (long double) between C and Fortran


I try to make use of Fortran to evaluate the square roots
to quad precision by calling an external function sqrtq(long double*)
from C on Itanium2 running Linux. icc is version 8.0, ifort is version 8.0.
The Fortran source for sqrtq is in sqrtq.f:
##########################
real*16 function sqrtq(x)
real*16 x
sqrtq = sqrt(x)
end function sqrtq
##########################
The C-code is compiled: icc -c -g my_source.c
The Fortran-code is compiled: ifort -c -nus sqrtq.f

segmentation violation for allocatable arrays


program test
real(8), dimension(:,:),allocatable :: a,b,c
allocate(a(1024,1024))
allocate(b(1024,1024))
allocate(c(1024,1024))
c = 2.*matmul(a,b)
end program test



This code gives a SEGV at the assignment of c using the Intel
Fortran Compiler for Linux 8.0, but works under g95. It works for
both if the assignment line is replaced by c=matmul(a,b), or if the
array dimensions are any smaller than 1024. Am I
missing something basic here? Thanks in advance.

** Address Error **

HI every body

I have encountered the following error:

** Address Error **
End of diagnostics

I have executed my program with PC-cluster. I have stooped the program and restarted many times.

The strange thing that sometimes I may encounter the above error.

Can anyone informing me what can I do in this problem?

My compiler option is:
PC_COMP= ifc -w -c
PC_LINK= echo 'Linking'; ifc -w -o $(PATHBASE)/parcomb $(OBJ)

Regards

Shalaby

Optimization of scatte/gather loops

I'm trying to optimize some simple scatter & gather loops
for optimum performance, particularly on Pentium IA32 and Itanium IA64.

do i = 1, m
b(i) = a(c(i))
enddo

There are a number of optimization issues here; the main ones I see
are (a) loop dependency (b) cache performance. As long as I as programmer
can ensure that the entries of c(i) are unique then there is no dependency
problem. Certainly adding the directive !DIR$ ivdep appears to allow the
compiler to perform better software pipelining in the Itanium.

-g flag does not imply -O0 as stated

Compile a program (maybe it needs to be large?) with the -g flag, and about 90% of variables are returned as optimized away when you try to view them from within idb. Compile that same program with both -g and -O0 set, and you can view all variables. This is contrary to the release notes stating that -O0 is implied when using -g.

Thought I'd pass that along in case anyone was having these problems. Oh, and it's ifort v8.1.019.

what options I should use to compile the code to behave the same as MIPS "f77 -O3 -n32 -r8 -static"

Hi guys,

I am new to ifort. I am in the process to transfer from SGI UNIX to Red hat Linux. I am trying to compile a numerical model in Linux. I have been running this model on SGI, but the Linux results are quite different that what I have on SGI. The option I used on SGI is "f77 -w -O3 -n32 -r8 -static". Can anyone tell me what the equvilent option be for ifort. I tried "ifort -O3 -pc80 -r8 -static". Please help me.

Thanks

Installation Problems

I have recently installed the Intel Fortran Compiler on a Fedora Cluster as root and the installation went fine without any problems and I can compile and run codes as root. But when any other user tries to use a simple command like "ifort" we get the following error:
Error: A license for FCompL could not be obtained (-1,359,2).
Is your license file in the right location and readable?
The location of your license file should be specified via
the $INTEL_LICENSE_FILE environment variable.
License file(s) used were (in this order):

Record alignment move from 7.1 to 8.1

I have recently moved from the 7.1 compiler to the latest 8.1 release, but I'm having repeated segv crashes in my program from what would appear to be memory access violations caused by data alignment issues. I never had a problem with my program (which is a multi-language environment that interacts highly with shared memory) under 7.1, however I'm having problems with my common blocks when I compile under 8.1. The pertinent flags I'm passing are:
-vms -align norecords -vms -Zp4 -dyncom "list of common blocks"

S’abonner à Intel® Fortran Compiler for Linux* and Mac OS X*