Quantcast
Channel: Fortran
Viewing all 3108 articles
Browse latest View live

Xcode not detect fortran compiler

$
0
0

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?


IMSL numeric libraries with Intel Fortran for Linux

$
0
0

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

$
0
0

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

 

  • Développeurs
  • Professeurs
  • Étudiants
  • C/C++
  • Fortran
  • Interface de transmission de messages
  • OpenMP*
  • Informatique en cluster
  • Modernisation du code
  • Intel® Many Integrated Core Architecture
  • Informatique parallèle
  • Parallélisation
  • Vectorisation
  • URL
  • Update 4 for for Fortran Linux Version 2015 ?

    $
    0
    0

    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

    $
    0
    0

    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

    $
    0
    0

    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

    $
    0
    0

    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

    $
    0
    0

    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.

    Fichier attachéTaille
    Téléchargermain.f90746 octets

    Detect Leaks points problem in the the middle of call stack - how to set up suppression file?

    $
    0
    0

    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?

    $
    0
    0

    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

    $
    0
    0

    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

    $
    0
    0

    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!

    $
    0
    0

    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?

    $
    0
    0

    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

    $
    0
    0

    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'"

    $
    0
    0

    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

    $
    0
    0

    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?

    $
    0
    0

    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

    $
    0
    0

    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

    $
    0
    0

    I have Parallel Studio XE 2013 with Visual Studio 2013. .

    1. I start a new IVF Project (static Lbrary)
    2. In VS2013, I add a new  win32 console application to the IVF Project
    3. 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

    Viewing all 3108 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>