Microsoft Windows* 8.x

Degraded Run Time

In going from one version of my Fortran program to another, I've somehow increased the run time from 24:10 (24 minutes) to 35:34.  Looking over the code changes, there's a few more algebraic expressions, changed FORMAT statements, some extra assignments, a few DATA statements - nothing that we haven't done before.  This only happens in release mode:


Precision Error.


I have been using MATLAB for quite some years now but am totally new to Fortran. I am getting some precision errors which I never encountered in MATLAB. The code has the Plank's Constant, h = 6.626068e-34, which has to be cubed. There are multiple files in the whole project where this operation is used. Ideally, the cubed answer must be a very small number. But I am getting an answer of 0.0000000000E+000, because of which all my further calculations result in NaN.

logical and behaviour


The output from the following program is:

test1 invoked

test2 invoked

program IfAnd
    if (test1().and.test2()) then
        ! do nothing
    write(*,"(A)") "hit return..."
    function test1()
    logical test1
        test1 = .false.
        write(*,"(A)") "test1 invoked"
    end function test1

    function test2()
    logical test2
        test2 = .false.
        write(*,"(A)") "test2 invoked"
    end function test2
end program IfAnd

connecting from Fortran to MySQL via C API

Hi all,

in our MPI C(++)/Fortran mixed code project (Linux x64 and Windows x64) MySQL is partly used in the C-part to transfer data between master and slave process. Now it is necessary also to connect some Fortran-slave parts to MySQL.

One solution could be to use only C to connect to MySQL and push the data to Fortran over the interface. This solution is not nice because it will blow up the interface in a way which makes it prone to errors and debugging won't be easy.

Stack overflow error

I have a matrix copy routine in a module as follows:

      subroutine f_rmatrixCopy_1(fArr,tArr)
         real(8), allocatable :: fArr(:), tArr(:)
         tArr = fArr
      end subroutine f_rmatrixCopy_1

When I call with

      call f_rmatrixCopy_1(BVS,SAVBVS)

I get on the assignment line:

     forrtl: severe(170): Program Exception - stack overflow

Both BVS and SAVBVS are allocated and are the same size (259081)

However when I replace the assignment with:

PDB database options and file location


now with Fortran Compiler Version 2013.0.089 the option /pdbfile seems to be ignored at all. Documentation says it is equivalent to /Fd, but only /Fd works as desired.

Regarding pdb files you may look at related topics:

My questions about this topic:

Do Concurrent


The documenation for the DO CONCURRENT statement reports that it: "Specifies that there are no data dependencies between the iterations of a DO loop."

If /Qparallel is specified (or the appropriate optimization parameter is set in VS) does this mean that the loop is always parallelized? Does the statement surpress the compiler's examination for dependencies?  There must be some other criteria, since the DO CONCURRENT I've put in place of a conventional DO is not being parallelized. There are no dependensices, explicit or implicit.

Suscribirse a Microsoft Windows* 8.x