I just purchased Intel Fortran 2015.3.187 for OSX. I'm using XCODE 6.4. It seems XCODE cannot detect fortran compiler. What should I do? Do I need to obtain lower version of XCODE?
Xcode not detect fortran compiler
IMSL numeric libraries with Intel Fortran for Linux
I am just wondering what might be the reason(s) for IMSL numeric libraries being unavailable as add-ons or a bundled feature with Intel Fortran for Linux?
Is then purchasing it directly from Rogue Wave the only option?
Best regards,
Vladimir
Books - High Performance Parallelism Pearls
The two “Pearls” books contain an outstanding collection of examples of code modernization, complete with discussions by software developers of how code was modified with commentary on what worked as well as what did not! Code for these real world applications is available for download from http://lotsofcores.com whether you have bought the books or not. The figures are freely available as well, a real bonus for instructors who choose to uses these examples when teaching code modernization techniques. The books, edited by James Reinders and Jim Jeffers, had 67 contributors for volume one, and 73 contributors for volume 2.
Experts wrote about their experiences in adding parallelism to their real world applications. Most examples illustrate their results on processors and on the Intel® Xeon Phi™ coprocessor. The key issues of scaling, locality of reference and vectorization are recurring themes as each contributed chapter contains explanations of the thinking behind adding use of parallelism to their applications. The actual code is shown and discussed, with step-by-step thinking, and analysis of their results. While OpenMP* are MPI are the dominant method for parallelism, the books also include usage of TBB, OpenCL and other models. There is a balance of Fortran, C and C++ throughout. With such a diverse collection of real world examples, the opportunities to learn from other experts is quite amazing.
Volume 1 includes the following chapters:
Foreword by Sverre Jarp, CERN.
Chapter 1: Introduction
Chapter 2: From ‘Correct’ to ‘Correct & Efficient’: A Hydro2D Case Study with Godunov’s Scheme
Chapter 3: Better Concurrency and SIMD on HBM
Chapter 4: Optimizing for Reacting Navier-Stokes Equations
Chapter 5: Plesiochronous Phasing Barriers
Chapter 6: Parallel Evaluation of Fault Tree Expressions
Chapter 7: Deep-Learning and Numerical Optimization
Chapter 8: Optimizing Gather/Scatter Patterns
Chapter 9: A Many-Core Implementation of the Direct N-body Problem
Chapter 10: N-body Methods
Chapter 11: Dynamic Load Balancing Using OpenMP 4.0
Chapter 12: Concurrent Kernel Offloading
Chapter 13: Heterogeneous Computing with MPI
Chapter 14: Power Analysis on the Intel® Xeon Phi™ Coprocessor
Chapter 15: Integrating Intel Xeon Phi Coprocessors into a Cluster Environment
Chapter 16: Supporting Cluster File Systems on Intel® Xeon Phi™ Coprocessors
Chapter 17: NWChem: Quantum Chemistry Simulations at Scale
Chapter 18: Efficient Nested Parallelism on Large-Scale Systems
Chapter 19: Performance Optimization of Black-Scholes Pricing
Chapter 20: Data Transfer Using the Intel COI Library
Chapter 21: High-Performance Ray Tracing
Chapter 22: Portable Performance with OpenCL
Chapter 23: Characterization and Optimization Methodology Applied to Stencil Computations
Chapter 24: Profiling-Guided Optimization
Chapter 25: Heterogeneous MPI optimization with ITAC
Chapter 26: Scalable Out-of-Core Solvers on a Cluster
Chapter 27: Sparse Matrix-Vector Multiplication: Parallelization and Vectorization
Chapter 28: Morton Order Improves Performance
Volume 2 includes the following chapters:
Foreword by Dan Stanzione, TACC
Chapter 1: Introduction
Chapter 2: Numerical Weather Prediction Optimization
Chapter 3: WRF Goddard Microphysics Scheme Optimization
Chapter 4: Pairwise DNA Sequence Alignment Optimization
Chapter 5: Accelerated Structural Bioinformatics for Drug Discovery
Chapter 6: Amber PME Molecular Dynamics Optimization
Chapter 7: Low Latency Solutions for Financial Services
Chapter 8: Parallel Numerical Methods in Finance
Chapter 9: Wilson Dslash Kernel From Lattice QCD Optimization
Chapter 10: Cosmic Microwave Background Analysis: Nested Parallelism In Practice
Chapter 11: Visual Search Optimization
Chapter 12: Radio Frequency Ray Tracing
Chapter 13: Exploring Use of the Reserved Core
Chapter 14: High Performance Python Offloading
Chapter 15: Fast Matrix Computations on Asynchronous Streams
Chapter 16: MPI-3 Shared Memory Programming Introduction
Chapter 17: Coarse-Grain OpenMP for Scalable Hybrid Parallelism
Chapter 18: Exploiting Multilevel Parallelism with OpenMP
Chapter 19: OpenCL: There and Back Again
Chapter 20: OpenMP vs. OpenCL: Difference in Performance?
Chapter 21: Prefetch Tuning Optimizations
Chapter 22: SIMD functions via OpenMP
Chapter 23: Vectorization Advice
Chapter 24: Portable Explicit Vectorization Intrinsics
Chapter 25: Power Analysis for Applications and Data Centers
Update 4 for for Fortran Linux Version 2015 ?
Is there going to be an Update 4 for Composer Edition for Fortran Linux Version 2015 released in the near future?
Update 3 came out on 13 Apr 2015. I can see that there is an Update 4 for Composer Edition for Fortran and C++ Windows (released on 13 May). Is there going to be an Update 4 for the Linux compilers also?
Fail to read data file
I am now using the Parallel Studio XE 2015 Composer Edition for Fortran combined with Xcode 6.3 to run a program.
The program was made in order to read data from file first and then go for some further computation.
I had all my f90 files (including the main program and the modules) in the Project folder and it did compile and run.
But when I tried to input the file name and load the file, it seemed that it failed to read the file.
I have my code like this
.......
CHARACTER(LEN = 20) :: fileName
INTEGER :: iNode
REAL(KIND = dp) :: xBox, yBox, zBox
WRITE(*,'(A)', ADVANCE = "NO") "Input file name: "
READ(*,*) fileName
OPEN(1, FILE = TRIM(fileName)//'.in' , STATUS = 'UNKNOWN')
READ(1,*) iNode, xBox, yBox, zBox
........
When I ran the program and input the file name it simply returned forrtl: severe (24): end-of-file during read, unit 1...
I though it might be due to failure to find the file though I had put the data file (output.in) in the same folder as other .f90 files, as well as add it to the project.
I am just wondering how to deal with this issue (I thought it might be a reference/file location issue of Xcode, since this program is running well on other fortran compiler.)
Thanks.
-Abright
Format Width Specifier Behavior
Hi all,
Encountered a little puzzle. Using default project settings for a console application, the following code creates a format specification statement with an internal write and then uses that format specifier in another write statement:
program WidthSpecifierError character(LEN=200) :: cLine integer(KIND=4) :: iLen, iArray(11) iLen = 11 iArray(1:11) = (/1,2,3,4,5,6,7,8,9,10,11/) write(*,*) 'Writing integer larger than width specifier' write(cLine,'("(",I1,"(I2,1X))")') iLen write(*,*) cline write(*,cline) (iArray(i), i=1,iLen) write(*,*) write(*,*) 'Writing integer equal to width specifier' write(cLine,'("(",I2,"(I2,1X))")') iLen write(*,*) cline write(*,cline) (iArray(i), i=1,iLen) end program WidthSpecifierError
The output is thus under default Debug and Release compilation:
Writing integer larger than width specifier (*(I2,1X)) 1 2 3 4 5 6 7 8 9 10 11 Writing integer equal to width specifier (11(I2,1X)) 1 2 3 4 5 6 7 8 9 10 11 Press any key to continue . . .
The output is correct and consistent in both cases, but the format specifier "appears" to be mangled. Code similar to this compiled with PGI generated a runtime error. Is there a compiler flag for Intel that would catch this at runtime?
Ted
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 12.0.5.221 Build 20110719
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
Runtime crash with polymorphic types
The attached code crashes when compiled with ifort 15.0 . The intended output should be (from a gfortran run)
$ ./test
T
1
T
1 2
module m1 implicit none type, abstract :: c_abs end type c_abs type, extends(c_abs) :: t_cnt class(c_abs), allocatable :: f end type t_cnt end module m1 !------------------------ module m2 use m1, only: c_abs, t_cnt implicit none type, extends(c_abs) :: t_a integer, allocatable :: i(:) end type t_a type, extends(c_abs) :: t_b integer :: ndata type(t_cnt), allocatable :: data(:) end type t_b contains pure function get_data(var) result(dat) class(t_b), intent(in) :: var type(t_cnt) :: dat(var%ndata) dat = var%data end function get_data end module m2 !------------------------ program p use m1 use m2 implicit none type(t_b) :: b type(t_cnt), allocatable :: cnt(:) b%ndata = 1 allocate( b%data( b%ndata ) ) allocate( t_a :: b%data(1)%f ) select type( a => b%data(1)%f ) type is(t_a) allocate( a%i(2) ) a%i = (/ 1 , 2 /) end select cnt = get_data( b ) write(*,*) allocated(cnt) write(*,*) size(cnt) write(*,*) allocated( cnt(1)%f ) select type( a => cnt(1)%f ) type is(t_a) write(*,*) a%i end select end program p
Memory leak with derived-type allocatables and realloc_lhs
I have a derived-type with an allocatable array component defined as:
module type_one type, public :: one_t integer, allocatable :: i(:) end type one_t public operator (+) interface operator (+) module procedure add end interface contains elemental function add(u,v) result(res) type(one_t), intent(in) :: u,v type(one_t) :: res res%i = u%i + v%i end function end module type_one
Compiling with -assume realloc_lhs and executing the addition operation as follows results in a memory leak:
program mem_leak_test use type_one implicit none type(one_t), allocatable :: a(:), b(:), c(:) integer :: i allocate(b(4), c(4)) do i = 1,4 allocate(b(i)%i(5)) allocate(c(i)%i(5)) b(i)%i = 1.0 c(i)%i = 2.0 end do a = b + c print*, a(1)%i end program mem_leak_test
This was first observed on OS X using ifort v15.0.3 confirmed on Linux ifort 15.0.2. Valgrind --tool=memcheck produces the following:
==3411== LEAK SUMMARY:
==3411== definitely lost: 60 bytes in 3 blocks
==3411== indirectly lost: 0 bytes in 0 blocks
==3411== possibly lost: 0 bytes in 0 blocks
==3411== still reachable: 1,136 bytes in 16 blocks
==3411== suppressed: 0 bytes in 0 blocks
This seems related to the following topic:
https://software.intel.com/pt-br/forums/topic/269437
Reproducer is attached.
Detect Leaks points problem in the the middle of call stack - how to set up suppression file?
Hi everyone,
I have following problem - I run Intel Inxpector XE2011 Detect Leaks, I get several Memory Leak (Allocation site), when I want to dynamically load DLL file. Intel Inspector points to the function in the module, that only calls WINAPI ::LoadLibrary and is innocent (I call it MyInnocent), but not to one that is in fact leaking (I call it guilty function/module).
As an example, I see it as following:
In Problems window I see:
P23 : Memory leak : MyInnocentSrc.cpp : MyInnocentSrc.exe leak_size :
In Code Location I see:
X26 : Allocation Site : MyInnocentSrc.cpp :line_number : MyInnocentFunction : MyInnocentSrc.exe
But when I get inside it (View Source) I can see in the Call Stack:
==== Beginning of the call stack ====
GuiltyModule.dll!GuiltyFunction - GuiltyModule.dll!line number
(... some other stack frames)
kernal32.dll!LoadLibraryA - kernel32.cpp:350
MyInnocentSrc.exe!MyInnocentFunction - MyInnocentSrc.cpp :line_number
(... some other stack frames)
==== End of the call stack ====
Now, I want to set up suppression file not to see these leaks, because guilty module is legacy and we don't want to invest any more into maintaning it. However, when I set up suppression data to point to guilty module, I can still see the problem, what is most probably connected with the fact, thatIntel Inspector shows all the data in Problem Window and Code Location pointing to MyInnocentSrc, that is NOT a problem. When I set up suppression data to point to MyInnocentSrc, everything is cleared, however I don't want to do that, as I am afraid of possible leaks from this module in the future, that I will miss.
Does anyone know, how to set suppresion file, so it will have data connected with the guilty module, but will clear the memory leak problem in the rapport I have now?
I will add, that MyInnocentSrc is the last module in stack trace, that has symbol files.
All the best,
Andrzej
Is there double complex interface of Iterative Sparse Solvers based on Reverse Communication Interface?
Dear MKL experts,
I have to solve the sparse complex double symmetric equations in huge size. I am looking for iterative sparse solvers. I found that the MKL just provides RCI Interface Routines of double precision. Is there a set of RCI interface Routines of double complex precision? Or any suggestion to get around it?
Thanks.
Ning
Mixed language - Windows vs. Linux
I am developing a Fortran program that calls C functions, that in turn call Fortran (BLAS and LAPACK). On Windows I use IVF and MSVC, and it all works fine. I have just started porting the program to Linux (on our cluster), and the first run crashed with SIGSEGV. I have not had time yet to narrow down the crash location, but it occurs to me that it could be an issue of the compilers that are being used.
The Fortran is compiled with ifort, the C object files are currently compiled with gcc and statically linked, while BLAS and LAPACK are dynamic libraries, probably also built with gcc. Is it a mistake to use gcc with ifort? Presumably Intel C is also available on the cluster.
Thanks
Gib
text output in opengl
in an attempt to recreate the useful but now defunct glutbitmapcharacter routine, I'm attempting to use the fwglUseFontBitmaps routine as described at: https://msdn.microsoft.com/en-us/library/windows/desktop/dd374392(v=vs.85).aspx
Unfortunately the code fails (okay=false, istatus = 0) when the fwglUseFontBitmaps function is called. Any ideas ?
Please ignore the font stuff - this was me starting to code up the NeHe tutorial - but since I cant get the fwglUseFontBitmaps to work I abandoned all hope.
subroutine setup_winfont(fontbase)
!
! routine to setup windows fonts for future output - based on arial font
use IFWINA
use IFOPNGL
!
integer(k_glint) :: fontbase
integer(HANDLE) :: hDC ! Device Context
integer(HANDLE) :: hRC ! OpenGL Context
integer(HANDLE) :: hWnd ! Window
integer(HANDLE) :: hinstance
integer(HANDLE),save :: hFont=0
integer(HANDLE),save :: oldFont=0
integer(HANDLE) :: hmemDC
integer font_height, istatus
logical keys(256)
logical okay
!
hmemDC = CreateCompatibleDC (hDC)
istatus= SelectObject (hmemDC, GetStockObject (SYSTEM_FONT))
write(*,*)'istatus ',istatus
write(*,*)'fontbase is ',fontbase
okay= fwglUseFontBitmaps(hmemDC, 0, 255, 1000)
write(*,*)' okay = ',okay
I do not see the Visual Studio!
Today I downloaded the Visual Studio Fortran for evaluation. After the installation, I got the following options: Intel (Storage Technology), Intel Math Kernel Library, Intel Parallel Studio (Intel Premier Support, Manager Software, Getting Started). But I do not see how to call the Visual Studio to enter Fortran codes. Can someone help me? I I am using "Windows 10" and a notebook Dell with Intel i7, 16 GB RAM. Thanks. I have two e-mails: jcbecce@hotmail.com and jcbecce@gmail.com
Allocatable variables slow the code?
I read the discussion in the topic 'Allocatable array' (issued 2008)
I didn't understand the answer. Allocatable variables slow the code or not?
I understood this problem could be found in debug mode, but the performance should be similar in release mode. Is this?
My Os is Win7 with Intel Fortran 10.
Allocatable is useful, but I don't want to sacrifice computational efficiency.
Since I am starting my project, I should understand this point now.
Regards
How to download an evaluation version
We are intending to use Intel Fortran Compiler XE 12.1. It takes weeks for our office people to process a request, so I would like to download an evaluation version to get started. I have registered and so on. When I press Try And Buy 30 day Evaluation Fortran, all I get is an error message;
Error
The requested product could not be found. Please visit our Support Site.
So what am I doing wrong?
Thermal Desktop/SINDA/FLUINT "ifort:error#10037: could not find 'link'"
Hello,
I'm new to FORTRAN, I'm using Thermal Desktop (built into AutoCAD) and SINDA/FLUINT to run thermal analysis. I got the following error message from SINDA/FLUINT:
Compile or link of astap.for failed- see messages_"xxx.txt" in your input file subdirectory.
That text file states the following:
Current Patch Level = 4
Version = 5.7 Intel Fortran
ifort /Qopenmp /fpe:0 /real_size:64 /integer_size:64 /names:lowercase /iface:cref /I:C:\PROGRA~1\CULLIM~1\SINDAF~1\mod /MD /iface:mixed_str_len_arg /include:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib /assume:byterecl /extend_source:132 /O3 /traceback /INCREMENTAL:NO
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.3.198 Build 20130607
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
ifort: error #10037: could not find 'link'
I already uninstalled and reinstalled my software to make sure that wasn't the issue. Not sure what to do now, I googled ifort: error #10037: could not find 'link' and it brought me to the intel developer zone website.
Thanks for your help,
Doug
variable type in out a subroutine
dear all,
I would like to know how works the allocatable variable type in and out a subroutine
This is my problem.
I have this variable type:
TYPE tParticle SEQUENCE INTEGER :: ip INTEGER :: mc INTEGER :: bcflag INTEGER :: cpu REAL ,ALLOCATABLE :: RP(:) REAL ,ALLOCATABLE :: QQ(:) REAL ,ALLOCATABLE :: UU0(:) REAL :: lij REAL :: lmls REAL :: vol ENDTYPE tParticle
and I allocate it in the following way:
ALLOCATE (PART (nptPbuffer)) DO ip=1,nptPbuffer ALLOCATE(PART(ip)%RP(di)) ALLOCATE(PART(ip)%QQ(nVar)) ALLOCATE(PART(ip)%UU0(countBufferRK)) ENDDO
Here the problem: how can I pass the variable type?
Here an example:
SUBROUTINE SPH(nptTot,PART) TYPE(tParticle),DIMENSION(nptTot) ,INTENT(IN) :: PART
is it correct?
How can I deallocate the variable type? Can I simple do:
DEALLOCATE(PART)
thank to all of you
How to set up source files for Intel Inspector 2011 Result file?
Hi,
i have a problems with Result file of Intel Inspector 2011 Detect Leaks job. The job was ran on one of my testing machines, but I would like to investigate this file locally. The problems comes to the source files - as it was ran on another machine, I don't have an access to these source files at my machine, and when I open results in Intel Inspector XE2011 and try to enter particular memory issue, I can see an erro like this:
Do you now how I can set up the path to target source files?
Keep well,
Andrzej
what project files can be deleted after CVF import
After importing a project from CVF, there are a bunch of "project" files which are listed below. Which of these are no longer needed and safe to delete? Also, why are there both vcxproj and vfproj files?
HsealH.dsp
HsealH.dsw
HsealH.ncb
HsealH.opt
HsealH.plg
HsealH.sdf
HsealH.sln
HsealH.suo
HsealH.vcxproj
HsealH.vcxproj.filters
HsealH.vcxproj.user
HsealH_.u2d
HsealH_.vfproj
HsealH_log.txt
I got the message error LINK: fatal error LNK1181 cannot open input file
I have Parallel Studio XE 2013 with Visual Studio 2013. .
- I start a new IVF Project (static Lbrary)
- In VS2013, I add a new win32 console application to the IVF Project
- I set the fortran function dependent to the main cpp
Please see below
//
#include "stdafx.h"
#include <iostream>
using namespace std;
extern "C"
{
void __cdecl FR1(int *a, int *b);
int __cdecl FF1(int *c);
}
int main()
{
int n = 10;
int nSq;
int nCube;
FR1(&n, &nSq);
cout << "The square is:"<< nSq << endl;
nCube = FF1(&n);
cout << "The cube is:"<< nCube << endl;
getchar();
return 0;
}
// fortran f90
subroutine FR1(N,M) !DEC$ ATTRIBUTES DLLEXPORT :: FR1 M = N*N return end integer function FF1(N) !DEC$ ATTRIBUTES DLLEXPORT :: FF1 FF1 = N*N*N return end
I am trying to call a fortran function f90 from C++, but i got two time the error message LNK2019
error LNK2019: unresolved external symbol referenced "_FR1" in function _main
error LNK2019: unresolved external symbol referenced "_FF1" in function _main
With Dumpbin /symbols I got the error message LINK: fatal error LNK1181 cannot open input file
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC> cd c:\visual studio 2013
\Projekt2\Fortfunc\Debug
c:\visual studio 2013\Projekt2\Fortfunc\Debug>dumpbin/symbols Fortfunc.dll
Microsoft (R) COFF/PE Dumper Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file Fortfunc.dll
LINK : fatal error LNK1181: Eingabedatei "Fortfunc.dll" kann nicht geöffnet werden.
Thanks in Advance