英特尔® Parallel Studio XE

Exporting commons

I am working on a program inversion 2108 of parallel fortran.  The program has a main executable communicating with a dll.  I used the information in the article "coding requirements for sharing data in DLL's".

I have a common named Reserves, and a subroutine call GetReserveFund.  The following statement was added to the main program:

       !Dec$ATTRIBUTE DLLEXPORT :: GETRESERVEFUND,  /Reserves/

I then added this code the main program:

       !Dec$ATTRIBUTE DLLIMPORT :: GETRESERVEFUND, /Reserves/

Order of declaration statements with and without implicit typing

I think I saw discussions on this topic already on c.l.f. I am having the following subroutine (and the recursive attribute doesn't play a role)

recursive function constr_quark_loopline(ho,sho) result(cl)
    integer, dimension(sho), intent(in) :: ho
    integer, dimension(sho)             :: hor
    integer, intent(in)                 :: sho
    [...]
end function constr_quark_loopline 

Intel gives an error message error #6415: This name cannot be assigned this data type because it conflicts with prior uses of the name.   [SHO]

Automate Parallel XE 2018 installation for Windows

Hello,

I'm looking for information on how to install Parallel XE 2018 installation for Windows clients.

So far, i was able to create the offline installation folder using this thread:https://software.intel.com/en-us/forums/intel-c-compiler/topic/594797

I was able to create the "Silent.cfg" file but for some reason when I'm performing the installation, i can see that components that i wasn't selecting are included.

OpenMP + lambda capture = icc internal error

C++ compiler 18.0.2 is crashing when using OpenMP and C++11 lambda capture.

Here is a minimial crashing example:

template < typename Function >
void call_1( const Function& f )
{
  f();
}

template < typename Function >
void call_2( const Function& f )
{
  f();
}

int main(int argc, char **argv)
{
    double count = 0;
    call_1([&count](){
        #pragma omp parallel
        call_2([&count](){});
      });
}

And here is the output:

error in open in 2018 upd 2

I'm getting an error during execution on an open statement. There are two files and the first does exist while the second does not. 
The code segment follows:
C:\Users\Brooks\Desktop\Stats\Stats.txt
C:\Users\Brooks\Desktop\Stats\PRN.dat

forrtl: severe (29): file not found, unit 3, file \\.\PRN
Image              PC        Routine            Line        Source
libifcoremdd.dll   519D2617  Unknown               Unknown  Unknown
libifcoremdd.dll   519F9190  Unknown               Unknown  Unknown
MyStats.exe        0032F1BF  _MAIN__                    51  MyStats.f90

Fortran Link Error to C Standard Library Methods

I'm having a linker issue when building a Fortran DLL. I'm using the following:

  • Visual Studio 2015 with Update 3
  • Parallel Studio 2016 with Update 3

The Fortran project has dependencies to C/C++ projects. All of the linker errors appear to be related to methods derived from the C Standard Library, similar to this:

error LNK2001: unresolved external symbol __imp___assert

What should I check to verify that the project is properly configured to link to the C Standard Libary?

Mixed kind integer overflow

For ifort 18.0.2 I get the following messages in attempting to compile one of my codes:

ifort -c sbox_hashes.f90

sbox_hashes.f90(321): error #6384: The INTEGER(KIND=4) value is out-of-range.

              ] - 2_int64**32, kind=int64 ), int(                 & 

-------------------------^

sbox_hashes.f90(450): error #6384: The INTEGER(KIND=4) value is out-of-range.

              ], kind=int64 ) >= 2_int64**31 ), kind=int32 )

----------------------------------------^

订阅 英特尔® Parallel Studio XE