I am using Intel(R) Fortran Compiler XE on a Linux cluster. I would like to know how to efficiently
pass slices of an array to subroutines.
Here are relevant portions of the code:
in the main program
REAL,ALLOCATABLE,DIMENSION(:,:,:) :: DTC
ALLOCATE(DTC(0:MTLOC,KBM1,NCP)); DTC = 0.0
CALL CARBON(DTC(0:MTLOC,1:KBM1,9), DTC(0:MTLOC,1:KBM1,10), DTC(0:MTLOC,1:KBM1,11),DTC(0:MTLOC,1:KBM1,12),FLUXS(0:MTLOC,1:KBM1,5))
in the subroutine
I've met some problem while using intel fortran 11.0 on mac os 10.8.7, with xcode 5.0.
It looks like the following:
prompt$ ifort aa.f90
ld: library not found for -lSystemStubs
what's the problem?
aa.f90 is here:
print *, "hello, world"
It seems to me that the implicit loop in Fortran elemental functions is never vectorized unless declared as a vector function, like so:
!dec$ attributes vector :: foo
elemental function foo(x)
But this doesn't work for subroutines (and it puts inconvenient restrictions on functions). I'd be interested to know if there's any way to vectorize an elemental subroutine (other than inlining it).
Dear support team,
please find below a sample program which raises an ICE with the latest version of ifort (downloaded today). I reproduce all the necessary details. I can not attach the program ("you are not authorized to open this page"), so I copy it below.
tmp> ifort -V
Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.0.080 Build 20130728
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
30 DAY EVALUATION LICENSE
My company purchased a license for Intel Fortran for Linux V11.1 back in 2009. For various reasons this was never installed on any machines [employees left etc.]
I am trying to install today to complete a project and when I go to your activation screen it does not give an unlock code but reports "License Expired". I understand the support could be expired but surely I should be able to install this version perpetually?
Advise on how to activate would be appreciated.
I have written a program whcih relies a lot on array assignments and operation among other things, so a lot of the DO loops are parallelizable; actually I have written some of them as DO CONCURRENT for that matter. However I am facing a situation where, the program compiled with auto-parallelization runs considerably slower than the one compiled without.
I'm successfully using XCode 4.6.3 with the latest fortran compiler for OS X / Composer XE 2013 (--version: ifort (IFORT) 14.0.0 ). However, I'm having difficulties linking against the MKL solver library that I need to use the Pardiso sparse matrix solver. Is Pardiso still part of the latests MKL libraries?
Currently, I'm still linking against my older Composer XE 11.1 MKL installation with the link-line:
MKLROOT = /opt/intel/composerxe/mkl
My ifort-compiled code (which has run successfully many times before now) reported this message during execution:
I've been using !dir$ omp simd safelen since ifort made it available. The 14.0 compiler documentation says the directive should be available with the standard spelling !$omp simd safelen() (when either -openmp or -openmp-simd is set).
Another possible issue is that !dir$ omp simd safelen doesn't suppress the use of an implicit temporary array and memcpy, as the icc counterpart #pragma omp simd safelen() (or CEAN notation) do. The memcpy can double execution time and fill buffer usage compared with icc.