Quantcast
Channel: Intel® Fortran Compiler
Viewing all 3270 articles
Browse latest View live

Fortran with C

$
0
0

Hi everybody,

I use intel visual fortran composer xe 2013 with VS2012.

I have 3 questions:

1-I have a problem debugging a simple fortran code that calls a C function. When i compile the fortran code on VS2012 i get the following message: Error    2     error LNK2019: unresolved external symbol _print_C referenced in function _MAIN__    Source1.obj.  I attached the fortran and c files.

2-When i compile any fortran code on VS2012 i have no problem at all, but if i use a command prompt and type ifort example.f90 i receive the following message 'ifort' is not recognized as an internal or external command. I know i should do something to link ifort into compiling with a command prompt window but i don't know what it is. I read the documentation and i couldn't find what i need.

3-I bought the fortran composer xe like 2 years ago, now i was checking and there's something called parallel xe 2015, so is this the new version of composer xe or something different ?

Thanks in advance,

Li

 

 

AttachmentSize
Downloadhello.c445 bytes
DownloadSource1.f903.07 KB

Internal compiler error with erroneous block

$
0
0

Hello,

after reducing my source file to the barest minimum, the following small program produces an internal error with the latest ifort version on Windows 8.1:

program test
    block   
    block
    end block
end program
C:\TEMP>ifort test.f90
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.4.221 Build 20150407
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.

fortcom: Fatal: There has been an internal compiler error (C0000005).
compilation aborted for test.f90 (code 1)

As you might imagine, in our real source the erroneous block is not so easy to spot :-)

Johny

For Visual Studio 2015 w_fcompxe_2015.4.221 does not install Fortran Integration into IDE

$
0
0

After installing w_fcompxe_2015.4.221.exe (Intel Parallel Studio XE 2015 Update 4) the Fortran-specific  parts of the Visual Studio interface are missing in Visual Studio 2015. The Fortran integration is installed okay for Visual Studio 2013. What can I try to get the VS2015 integration working?

Several times I have uninstalled/reinstalled w_fcompxe_2015.4.221.exe making sure that the option for including the VS2015 integration is selected. During the installation process I notice that the VS2015 progress bar briefly shows up and then goes away quickly – as if something is happening to prevent the VS2015 specific files from installing.

I have followed the troubleshooting steps prescribed here:

https://software.intel.com/en-us/articles/troubleshooting-fortran-integration-issues-with-visual-studio

In step 2 of the troubleshooting (are the integration files present?) the path C:\Program Files (x86)\Microsoft Visual Studio 14.0 has no folder named ‘Intel Fortran.’

In step 3, the command-line instructions do not work because the folder C:\Program Files (x86)\Microsoft Visual Studio 14.0\Intel Fortran does not exist.

The details of my Visual Studio 2015 installation from Help>About Microsoft Visual Studio (notice no mention of Intel® Parallel Studio XE 2015 Composer Edition):

Microsoft Visual Studio Enterprise 2015

Version 14.0.23107.0 D14REL

Microsoft .NET Framework

Version 4.6.00081

 

Installed Version: Enterprise

 

Architecture and Modeling Tools   00322-80000-00000-AA147

Microsoft Architecture and Modeling Tools

   

UML® and Unified Modeling Language™ are trademarks or registered trademarks of the Object Management Group, Inc. in the United States and other countries.

 

Visual Basic 2015   00322-80000-00000-AA147

Microsoft Visual Basic 2015

 

Visual C# 2015   00322-80000-00000-AA147

Microsoft Visual C# 2015

 

Visual C++ 2015   00322-80000-00000-AA147

Microsoft Visual C++ 2015

 

Application Insights Tools for Visual Studio Package   1.0

Application Insights Tools for Visual Studio

 

ASP.NET and Web Tools   14.0.20626.0

ASP.NET and Web Tools

 

ASP.NET Web Frameworks and Tools 2013   5.2.30624.0

For additional information, visit http://www.asp.net/

 

Common Azure Tools   1.5

Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

 

GenerateUnitTest   1.0

Generates unit test code for methods in classes under test.

 

Microsoft Azure Mobile Services Tools   1.4

Microsoft Azure Mobile Services Tools

 

Microsoft Code Digger   0.9

Microsoft Code Digger

 

Microsoft.Pex.VisualStudio   1.0

Pex

 

NuGet Package Manager   3.0.0

NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

 

PreEmptive Analytics Visualizer   1.2

Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

 

SQL Server Data Tools   14.0.50616.0

Microsoft SQL Server Data Tools

   

using ALLOCATABLE arrays in threadsafe code

$
0
0

Hi Lorri, or others,

I am back again with a question about whether precautions need to be taken for use of ALLOCATE in threadsafe applications.

I have a main routine, which calls a subroutine SUB001 ;

SUB001 has a two dimensional allocatable array PPROP(:,:) which I allocate based on

arguments from the argument list in sub001 ;

Then sub001 calls a subroutine sub002, which has the allocated array PPROP on the argument list of sub002.

After sub002 has finished , the allocated array PPROP is deallocated in SUB001.

 

SO my question is does the use of this allocate create any threadsafe issues ???

(by the way these routines, main, sub001, and sub002 are NOT recursive subroutines.

They Do Not ever call themselves again inside their own definition. By this I mean they are not like a classical subroutine to evaluate a factorial or play nim).

So what the code looks line in more detail is

 

SUBROUTINE SUB001(iarg1,iarg2,xarg3,xarg4)

ALLOCATABLE PPROP(:,:)

jarg1 = iarg1+1

jarg2 = iarg2+1

ALLOCATE PPROP(jarg1,jarg2)

CALL SUB002(jarg1,jarg2,PPROP)

use the results from SUB002

DEALLOCATE (PPROP)

RETURN

END

 

Thanks for your advice.

Bill

Intel Fortran 15 compiler error -- pointer becomes unassociated when compiling with --check boudnds and -O2

$
0
0

Hello,

My group has found what we think is a bug in the Intel Fortran Compiler version 15.0.0.  I have prepared a test case that compiles and runs properly when using older versions of Intel Fortran (such as version 11 or version 13).  The same test case dies with an error when compiling with Intel version 15.

Long story short: we think that there is a bug in the optimizer which causes a pointer to become disassociated where it should not be.  This error happens when compiling with --check bounds -O2, and -openmp.

I am attaching a tar file with a short Fortran program and Makefile that you can use to reproduce the error.  A detailed README file is also available in the tar file.

Steps to Reproduce:
1.  tar xvf intel_bug_v2.tar
2.  cd intel_bug
3.  Make sure ifort 15 is loaded (e.g. module load ifort/15.0.0 or similar command)
4.  make > test_with_ifort15.log  2>&1

Actual results:
The test case dies with this error:
 ###########################################################
 ### THE FOLLOWING OUTPUT TESTS IF THE LON2 VARIABLE IS
 ### STILL ASSOCIATED WITHIN THE PARALLEL LOOP FOR EACH
 ### ITERATION OF I, J, and M:
 ### I, J, M, Is_Associated?            1           1          -1 F
forrtl: severe (408): fort: (2): Subscript #1 of the array LON2 has value 1 which is greater than the upper bound of -1

Image              PC                Routine            Line        Source             
libifcoremt.so.5   00002B58CD54D8D3  Unknown               Unknown  Unknown
main.x             000000000040237A  main_IP_xmap_r4r4         306  main.F90
libiomp5.so        00002B58CEA2C8A3  Unknown               Unknown  Unknown

Expected results:
The code should get all the way down to this output:

 ### EXITING XMAP_R4R4 SUCCESSFULLY!
 ###########################################
 ### TEST CASE FINISHED WITHOUT ERRORS!  ###
###########################################

You can verify this with the following additional steps
5. make clean
6. Make sure Intel Fortran Compiler 13 is loaded (e.g. module load intel/13.0.0.079 or similar command)
7.  make > test_with_ifort13.log 2>&1

The test case works with Intel Fortran Compiler versions 11 and 13, but not version 15.

Additional info:
See the README file in the intel_bug_v2.tar distribution

Can you recommend a solution for us?  Or is there a later version of the Intel Fortran Compiler which does not have this problem?

Thank you for your assistance,

Bob Yantosca
yantosca@seas.harvard.edu

AttachmentSize
Downloadintel_bug_v2.tar80 KB

default initialization of interoperable character components of derived types

$
0
0

I noticed recently that intel fortran, about version 15.0.X, has started warning about the length of interoperable character components:

warning #8753: A CHARACTER component of an interoperable derived type must have length 1.   [LIBRARY]
  character(kind=c_char,len=32) :: library = "some name"

The Standard does require that interoperable character variables have len=1, or in other words, a declaration like this: (I wish this worked.)

  (1)  character(kind=c_char, len=1) :: library(32) = "some name" ! Cannot actually initialize a character array like this.

Up to now, I've been skirting the question, because scalar character variables with len>1 "just work", at least for the compilers I'm mostly interested in using.  So the perennial question that I haven't been able to answer is:

How do I assign a sensible default to a character array declared as in (1) above?

To be clear, the statement at (1) will compile, and will dutifully set library to 32 repetitions of the character 's'.  Not sensible.  Or I *could* do it like this:

  (2)  character(kind=c_char, len=1) :: library(32) = [ 's','o','m','e','','n','a','m','e' ]!(In reality, trailing blanks are necessary.)

Also not sensible.  I have tried defining a pure function that converts a scalar string to an array, but the compiler seems to disagree about the legality of such a specification expression.  Am I forgetting something obvious here?  Default values are really kind of important.  Thank you for any comments or guidance on this matter.

open file using newunit directive, threadsafe fortran

$
0
0

HI Lorri, others,

I have just one more question before I dive in and try to play

with rewriting parts of my application for threadsafe, and it

relates to reading the input data.  

Each thread independently processes in the same way , without any sharing

of results between the threads, data from the single data file submitted to the thread.

The file is identified by a full path, such as c:\mydatafiles\exmpl001.dat as the first argument from the c== calling interface

The results of the processing at the end of each thread are passed back out to the interface

to be reported there, and the thread is closed. In many instances the results are just written back to the interface

in memory. In some applications the results are written out to a physical data file, but first I will be trying how things work

just with the memory dump, to reduce the file handling needed with the writing. 

 

Each file has the same binary file format, but different data.  Since some of the files could have a lot more data than others

the processing time and usage of features in the subroutines will be different between the threads.

 

Would this general approach be expected to work ----:???

The only file reading is done in the main routine using

open(newunit=NWI8,file=DSNX,form='binary') 

up front as the first task as soon as the data path and file name are parsed

such as DSNX = C:\mydata\exmpl001.dat,  then do all the file reading in the main routine into arrays,

close the unit NWI8, and then pass the arrays via argument lists to the subroutines downstream.

When I am doing this, I would expect that a valid & different value of NWI8 would be generated for each thread,

so the correct data file would be read in each thread without racing. Should I expect that this would work????

OR,

Should I expect that I have to take more precautions to manage the overall process, such as

I have to have the c++ calling interface that wants to do multithreading to my main program rewritten provide a different

valid unit number to me --  currently the c++ calling interface is only passing the path of the datafile,

and I have no information for how many total threads (meaning individual datafiles that might be wanting to run concurrently).  

Today all I have from the c++ interface is stdcall  myprogram(datafilepath, ......other processing arguments)

whereas I might have to have the calling interface rewritten such as stdcall myprogram(unit number,datafilepath,max number of

threads, .......other processing arguments) 

 

Finally,  am I correct in assuming that it is better to do all the file reading in the main routine, even though it would be

better & more elegant if I could use a variation of the file reading, which currently is its own subroutine???

 

thanks for your advice and patience with my questions...

Bill

 

 

 

 

 

Code Coverage for static library

$
0
0

Hi, I wondered if anyone had used the Intel codecov tool for analysis of a static library.

I am building a static library comprising mainly algorithmic content which I want to analyse and also have a driver program which is used to test the library. The driver is linked against a static .lib. If I follow the examples in the documentation and compile everything with /Qcov-gen I get a dyn file in the exe directory and when I use the tools on that it gives me coverage analysis for the exe not for the library. However it is the library I am most interested in.

Currently working on Windows in Visual Studio but also doing Linux and MacOSX builds as well if someone has a solution for that.


Optimizer bug

$
0
0

The following test program gives incorrect results when options such as /Ot, /O2, /fast are used on Windows 8.1 with the 32 and 64-bit IFort compiler version 15.0.4.221. Earlier versions of the compiler, such as 11.1.070, give correct results whether or not optimization is requested.

program chk
    implicit none
    integer :: nmtdata=240,nmtfreq=60,i,j,k
    integer :: imtfreqnum(240),indexmtfreq(60)
!
    data imtfreqnum/                                                   &
      1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5,      &
      6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,      &
     11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,      &
     16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,      &
     21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,      &
     26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,      &
     31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,      &
     36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,      &
     41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,      &
     46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,      &
     51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,      &
     56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60/
!
    data indexmtfreq/                                                  &
      1, 2, 3, 5, 6, 7, 9,10,11,13,14,15,17,18,19,21,22,24,25,26,      &
     27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,      &
     47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66/
!
    do i=1,nMTdata
        k=iMTFreqNum(i)
        do j=1,nMTFreq
            if(k==j)then
                iMTFreqNum(i)=indexMTfreq(j)
            endif
        enddo
    enddo
    write(*,'(A,/,(20i5))')'iMTFreqNum  ',iMTFreqNum(1:nMTData)
    end

The correct output is an increasing sequence of integers in the range 1 to 66, and is obtained using /Od. With optimization, the output consists entirely of 0-s.

This example code was synthesized on the basis of the problematic code given in this recent thread in this forum: https://software.intel.com/en-us/forums/topic/584169 .

I note that the inner DO loop could be replaced by iMTFreqNum(i)=indexMTfreq(k), but if we did so we would not see the optimizer bug at all.

error in install Intel Parallel Studio XE 2015 Update 1 Cluster Edition for Fortran and C++

Merge without temporary arrays

$
0
0

Hello,

The MERGE function seems to use temporary arrays for both, tsource and fsource, arguments when the program is compiled in the Debug mode. Hence, the following simple code throws an exception:

real :: pos(3) = [.1, .2, .3]
real :: neg(2) = [.8, .9]
integer :: ptrs(5) = [1, 2, -1, -2, 3]   ! Index in (pos) if positive, minus index in (neg) if negative
real :: vals(5)

vals = merge(pos(ptrs), neg(-ptrs), ptrs > 0)

forrtl: severe (408): fort: (3): Subscript #1 of the array NEG has value -1 which is less than the lower bound of 1

This modification also doesn't work:

forall (i = 1:5) vals(i) = merge(pos(ptrs(i)), neg(-ptrs(i)), ptrs(i) > 0)

In the Release mode both work fine.

Why does MERGE need to compute both arguments in the Debug mode and is there an elegant way to rewrite this code without going into dumb for-if-else-then constructions?

Thank you.

cannot open file libucrt.lib

$
0
0

Hi,

I used to have on my old computer the Intel Visual Fortran Composer XE 2011, integrated with Microsft Visual Studio 2010, and with IMSL 6.

Now I have upgraded to the Intel Parallel Studio XE Composer Edition for Fortran Windows* with Rogue Wave* IMSL* 7.0.

What is happening is that now, some of my Fortran programs are not compilling. It gives me the following error:

fatal error LNK1104: cannot open file libucrt.lib

Do you know why this happens? can you help?

Thanks

Related Information

$
0
0

Reference and Tutorial Information

The following commercially published documents provide reference or tutorial information about Fortran:

  • Introduction to Programming with Fortran with coverage of Fortran 90, 95, 2003 and 77, by I.D. Chivers and J. Sleightholme; published by Springer, ISBN 9781846280535

  • The Fortran 2003 Handbook: The Complete Syntax, Features and Procedures, by Adams, J.C., Brainerd, W.S., Hendrickson, R.A., Maine, R.E., Martin, J.T., Smith, B.T., published by Springer Verlag, ISBN: 9781846283789

  • Fortran 95/2003 For Scientists and Engineers, by Chapman S.J., published by McGraw- Hill. ISBN ISBN 0073191574

  • Modern Fortran Explained, by Metcalf M., Reid J. and Cohen M., 2011, published by Oxford University Press. ISBN 0-19-960142-4

Intel does not endorse these books or recommend them over other books on the same subjects.

Additional Product Information

For additional technical product information including white papers, forums, and documentation, visit https://software.intel.com/en-us/intel-sdp-home/

Additional Language Information

  • For information about the OpenMP* standards, see the OpenMP website at http://www.openmp.org/

  • For information about the Fortran standards, visit the Fortran standards technical committee website at http://j3-fortran.org/.

Getting Help and Support

$
0
0

Windows*

Documentation is available from within the version of Microsoft Visual Studio* installed on your system. From the Help menu, choose Intel Compilers and Libraries to view the installed user and reference documentation.

Context-Sensitive Help

You can get information on certain features by using context-sensitive help.

  • Press F1 to get an overview of the active pane or window.

  • Press F1, or click the ? button in the upper-right corner of the dialog box to get help on the active dialog box.

  • Select the keyword and press F1 to get help on a language keyword within your program.

Linux* and OS X*

On both Linux* and OS X*, the documentation has limited integration in the Eclipse/CDT and Xcode. In both cases, the integrated documentation only provides details about where to find the product documentation on your local system.

Intel Software Documentation

You can find product documentation for many released products at http://software.intel.com/en-us/intel-software-technical-documentation/

Product Website and Support

To find technical support information, to register your product, or to contact Intel, please visit: https://software.intel.com/en-us/support/

At this site, you will find comprehensive product information, including:

  • Links to each product, where you will find technical information such as white papers, support, articles, and user forums

  • Links to news and events

Release Notes

For detailed information on system requirements, late changes to the products, supported architectures, operating systems, and Integrated Development Environments (IDE) see the Release Notes for this product.

Forums

You can find helpful information in the Intel Software user forums. You can also submit questions to the forums. To see the list of the available forums, go to https://software.intel.com/en-us/forum/ .

Feature Requirements

$
0
0

Some features may require that other products also be installed.

To use these tools and features, you need licensed versions of the tools and you must have an appropriate supported version of the relevant product edition. For more information, check your product release notes.

The following table shows components (tools) and some of the products with which they are included.

Component

Included with these Products

Intel® Inspector

Intel® Parallel Studio Professional Edition, Intel® Parallel Studio Cluster Edition

Intel® Trace Analyzer and Collector

Intel® Parallel Studio Cluster Edition

The following table lists dependent features and their corresponding required products.

For certain compiler options, compilation may fail if the option is specified but the required product is not installed. In this case, remove the option from the command line and recompile.

For more information about requirements for a particular product, see http://www.intel.com/software/products/.

Feature Requirements

Feature

Requirement

Thread Checking

Intel® Inspector

Trace Analyzing and Collecting

Intel® Trace Analyzer and Collector

Compiler options related to this feature may require a set-up script. For further information, see the documentation supplied with the required product.

IMSL* material

Intel® Parallel Studio Composer Edition

You need to purchase and install the IMSL version of the product.

Other Tools

Feature

Requirement

Privatization of static data for the MPC unified parallel runtime

Appropriate elements of the MultiProcessor Computing (MPC) framework.

You need to install the MPC unified parallel runtime. For more information, see http://mpc.sourceforge.net/ .

You should also refer to the Release Notes for this product for detailed information about system requirements, late changes to the products, supported architectures, operating systems, and Integrated Development Environments.


Introducing the Intel® Fortran Compiler

$
0
0

Using the Intel® Fortran Compiler, you can compile and generate applications that can run on the Intel® 64 and IA-32 architectures.

Intel® 64 architecture applications can run on the following:

  • Windows* operating systems for Intel® 64 architecture-based systems.
  • Linux* operating systems for Intel® 64 architecture-based systems.
  • OS X* operating systems for Intel® 64 architecture-based systems. (Executables built with the Intel compiler can be combined into universal binaries using the Apple LIPO utility.)

IA-32 architecture applications can run on the following:

  • Supported Windows* operating systems
  • Supported Linux* operating systems
  • Supported OS X* systems

Intel® Many Integrated Core Architecture (Intel® MIC Architecture) focused applications can build on supported Windows* and Linux* operating systems. However, these applications can run only on Intel® 64 architecture-based systems, targeting Intel® MIC Architecture.

Some information that applies to Intel® 64 architecture may also apply to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Unless specified otherwise, assume the information in this document applies to all supported architectures and all operating systems.

You can use the compiler on the command line or in a supported Integrated Development Environment (IDE):

  • Microsoft Visual Studio* (Windows* only)
  • Eclipse/CDT (Linux* only)
  • Xcode (OS X* only)

See the Release Notes for complete information on supported architectures, operating systems, and Integrated Development Environments for this release.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

Intel® Fortran Compiler 16.0 User and Reference Guide

$
0
0

The following are some important features of the compiler:

Getting Started with the Compiler

Getting Started explains how to invoke the compiler on the command line or from within an IDE.

OpenMP* Support

The compiler supports many OpenMP* features, including most features in the OpenMP* Version 4.0 API specification.

Intel® Many Integrated Core Architecture

The Intel compiler supports elements that enable programming for and building binaries to run on the Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Compiler Options

Compiler Options provides information about options you can use to affect optimization, code generation, and more.

Language Reference

The Language Reference provides information on language syntax and semantics, on adherence to various Fortran standards, and on extensions to those standards.

Fortran Language Extensions

Fortran Language Extensions provides information about how to use additional implementation features, such as creating a Component Object Model server and generating listing and map files, among others.

Mixed Language Programming

Mixed Language Programming provides information about Fortran and C interoperable procedures and data types, as well as various specifics of mixed-language programming.

List of Run-Time Error Messages

List of Run-Time Error Messages describes the errors processed by the Intel® Fortran run-time library (RTL).

Getting Started with the Intel® Fortran Compiler 16.0

$
0
0

The Intel® Fortran Compiler compiles Fortran source files for Intel® 64 and IA-32 architectures.

Start using the compiler from the command line or within Microsoft Visual Studio*.

Prerequisites

You must have a version of Microsoft Visual Studio* installed to use the compiler.

The compiler integrates into the following versions of Microsoft Visual Studio*:

  • Visual Studio* 2015

  • Visual Studio* 2013

  • Visual Studio* 2012

  • Visual Studio* 2010

You typically do not need to set the environment variables on Windows* OS, as the compiler command-line window sets these variables for you automatically. But if you need to set the environment variables, run the environment script as described in the edition-specific Getting Started documentation.

Using the Command Line

Follow these steps to invoke the compiler from the command line:

  1. Open a command prompt.

    • Windows 8.x and Windows 10

      Under the Intel Parallel Studio XE 2016 product group, select a compiler command prompt.

    • Other versions of Windows*

      Open the Start menu and under Intel Parallel Studio XE 2016> Compiler and Performance Libraries> Command prompt with Intel Compiler, select a build environment.

  2. Invoke the compiler as follows:

    ifort [options... ] inputfile(s) [/link link_options]

    Use the command ifort /help to display all available compiler options.

Using Microsoft Visual Studio*

Building a Binary

To use the Intel® compiler:

  1. Launch Microsoft Visual Studio*.

  2. Select File> New> Project.

  3. In the New Project window, select a project type under Intel(R) Visual Fortran Compiler.

  4. Select a template and click OK.

  5. Select Build> Build Solution.

The results of the compilation display in the Output window.

Setting Compiler Options

  1. Select Project> Properties. The Property Page for your solution appears.

  2. Locate Fortran in the list and expand the heading.

  3. Step through the available properties to select your configuration.

Documentation and Resources

DocumentDescription

Samples

Samples are available when you install the compiler. Learn specific compiler optimizations, features, tools, and programming concepts.

User and Reference Guide for Intel® Fortran Compiler 16.0

The Intel® Compiler documentation contains information on:

  • How to get started using the command line or Microsoft* Visual Studio*

  • Support for technologies and architectures, including OpenMP*, Fortran language extensions, coarrays, Intel® Many Integrated Core Architecture (Intel® MIC Architecture), and fpp preprocessing

  • Compiler reference material, including options, program structures, class and math libraries, and much more

Intel® Software Documentation Library

Documentation for the Intel® Fortran Compiler on the Intel® Developer Zone.

Other help

You can access general help for compiler options by entering ifort /help at the command line.

If you have a supported version of Microsoft Visual Studio installed, you can access the compiler documentation from the Help menu.

Getting Started with the Intel® Fortran Compiler 16.0

$
0
0

The Intel® Fortran Compiler compiles Fortran source files for Intel® 64 architecture.

Start using the compiler from the command line or within Xcode*.

Prerequisites

Before you can use this tool, you must first set the environment variables by running the environment script as described in the edition-specific Getting Started documentation.

Using the Command Line

To invoke the compiler from the command line, use a command similar to the following:

ifort my_source_file.f90

Following successful compilation, the compiler creates an executable file in the current directory.

Start from Xcode*

You must first create or choose an existing Xcode* project. These instructions assume you are using an existing project.

  1. Select the target you want to change and click Build Rules.

  2. Add a new rule by clicking a + button or using Editor> Add Build Rule.

  3. Under Process, select Fortran source files.

  4. Under Using, select Intel® Fortran Compiler 16.0.

  5. Select the target to be built in the project editor under Targets.

  6. Select Product> Build.

Documentation and Resources

DocumentDescription

Samples

Samples are available when you install the compiler. Learn specific compiler optimizations, features, tools, and programming concepts.

User and Reference Guide for Intel® Fortran Compiler 16.0

The Intel® Compiler documentation contains information on:

  • How to get started using the command line or Xcode*

  • Support for technologies including Fortran language extensions, coarrays, and fpp preprocessing

  • Compiler reference material, including options, program structures, class and math libraries, and much more

Intel® Software Documentation Library

Documentation for the Intel® Fortran Compiler on the Intel® Developer Zone.

Other help

You can access general help for compiler options by entering ifort -help at the command line.

Getting Started with the Intel® Fortran Compiler 16.0

$
0
0

The Intel® Fortran Compiler compiles Fortran source files for Intel® 64 and IA-32 architectures.

Prerequisites

Before you can use this tool, you must first set the environment variables by running the environment script as described in the edition-specific Getting Started documentation.

Using the Command Line

To invoke the compiler from the command line, use a command similar to the following:

ifort my_source_file.f90

Following successful compilation, the compiler creates an executable file in the current directory.

Documentation and Resources

DocumentDescription

Samples

Samples are available when you install the compiler. Learn specific compiler optimizations, features, tools, and programming concepts.

User and Reference Guide for Intel® Fortran Compiler 16.0

The Intel® Compiler documentation contains information on:

  • How to get started using the command line or

  • Support for technologies and architectures, including OpenMP*, Fortran language extensions, coarrays, Intel® Many Integrated Core Architecture (Intel® MIC Architecture), and fpp preprocessing

  • Compiler reference material, including options, program structures, class and math libraries, and much more

Intel® Software Documentation Library

Documentation for the Intel® Fortran Compiler on the Intel® Developer Zone.

Other help

You can access general help for compiler options by entering ifort -help at the command line.

Viewing all 3270 articles
Browse latest View live


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