What's New with Intel® Fortran Composer XE 2011 Technical Presentation Questions and Answers

Here are the questions and answers from the What's New with Intel® Fortran Composer XE 2011 webinar held December 14, 2010.

Click to download video

View Presentation

Upcoming Presentations

Question and Answers:

Q: If I install Intel® Fortran Composer XE, will my old version still be there?

A: If by old version you mean 11.1, etc., then yes. The Visual Studio integration for Intel® Visual Fortran Composer XE 2011 gives you access to versions 11.0 and 11.1 through Tools > Options > Intel Visual Fortran > Compilers. Note that there are separate entries for 32-bit and 64-bit development.

On Linux* and Mac OS X*, the new installation will default to /opt/intel. Under this directory you will see your older 11.x compilers under the Compiler/11.1/xxx/ directories. The new Intel® Composer XE will have physical directory /opt/intel/composerxe-2011.12.1.122 (or similar): deciphering "12.1.122" is major version 12, Update 1, minor version 122. Along with this directory, you will see the new generic directory link "composerxe/" which links this generic path to the last version of the compiler installed on the system. These generic paths allow one to 'source /opt/intel/composerxe/bin/compilervars.sh intel64' and be assured that this path will exist and will link to the latest version compiler installed on the system. This provides a version-independent, default path to compilervars.sh for those who don't want to rewrite their makefiles or shell startup files for each new version installed on the system.



Q: I have been using Fortran for scientific applications since the 1980s, but am not a professional programmer. What is the most efficient way to learn how to properly use new features?
Q: Do you provide some level of guidance to write a parallel processing program?
Q: Is there a refresher course available to bring me up to speed from earlier versions of Fortran to the latest version?

A: Intel does not offer training on the Fortran language. There are several good books on the language which are more tutorial in nature. A list of books we have seen can be found in the compiler documentation under Introduction > Related Information



Q: Would it be possible to change the default N of images (Coarray Fortran) to 1, instead of the number of available threads?

A: Yes. This can be specified as an option (-coarray-num-images=1 on linux or /Qcoarray-num-images:1 for Windows) when compiling the main program or, before the program is run, by setting the environment variable FOR_COARRAY_NUM_IMAGES to be the number of images you want. This can be more or fewer than the number of available threads.



Q: Will there be extensions to Intel Fortran to permit programming GPUs using Fortran?

A: Intel will be extending its Fortran and C++ compilers to encompass Intel's future "Many Integrated Core" products. We do not have plans at this time to support GPUs from other vendors.



Q: What is the relationship between OpenMP and Coarrays?
Q: How did you implement coarrays? Does it use OpenMP?

A: We use Intel® MPI Library as the underlying support for coarrays, both for shared memory and distributed memory configurations. Intel MPI Library is a highly optimized implementation of MPI that supports a wide variety of interconnect types.

At present, we do not support the use of other parallel methods such as OpenMP or direct MPI calls in an application that uses coarrays. We recognize that customers may want to use multiple technologies and will be testing this in the future. You are welcome to try it yourself, but we don't promise it will work.



Q: Is it possible to have Intel Visual Fortran in Windows without Microsoft Visual Studio*?

A: Intel Visual Fortran relies on tools and libraries that come from Microsoft* Visual Studio*. If a system does not have a supported version of Visual Studio installed (2005, 2008 or 2010), we will install an environment based on Visual Studio 2008 Shell which supports Fortran development. You do not need to use the Visual Studio graphical development environment – you can still use the command line to build applications – but the only debugging environment supported is Visual Studio's.



Q: Is this compatible with the Intel® Cluster Studio XE?

A: Intel Cluster Studio XE 2011 includes Intel [Visual] Fortran Composer XE with full capabilities, including support for distributed memory coarrays.



Q: Can we expect improvements to the debugging experience when moving to VS2010 and Intel Visual Fortran Composer XE?

A: The debugging experience is improved continually, and we have resolved some known issues in Intel Visual Fortran Composer XE. A move to Visual Studio 2010, on its own, has no specific benefits here.



Q: Does Intel® Parallel Studio support Intel Visual Fortran?

A: Intel Parallel Studio is a C++ product, and its analysis tools do not support Fortran. Intel Parallel Studio XE includes both Intel C++ and Intel Fortran, as well as analysis tools that support both languages.



Q: I have found polymorphic entities are not very useful w/o sourced allocation. Any idea when it might come out.?

A: We can't say at this time when this feature will be added, but we are working on it.



Q: Is there any possibility of getting the documentation in pdf files?
A: Not at this time.



Q: Is Intel Visual Fortran compatible with Visual Studio 2005*?
A: Yes.



Q: Who besides Intel is involved in developing the Fortran standards?

A: You can view the membership of the US Fortran Standards committee at http://www.j3-fortran.org/. Vendors who are members of this committee are Cray, IBM, Intel and Oracle (Sun). A representative from NAG is a committee member, but not formally representing NAG. A member of the gfortran development team regularly attends meetings as well.



Q: Are there any plans to support Intellisense features in Fortran Composer XE?

A: We have had requests for some Intellisense features. It would help us if you would let us know, either in the user forum or an Intel® Premier Support issue, which specific features you are interested in.



Q: Are there any specific performance reasons for upgrading from 11.1 to the new version (Performance improvements - speed up execution that is)?
Q: Has performance been improved with v12 (assuming the same options are used)?

A: Yes, the version 12 compiler (Intel Fortran Composer XE) has numerous optimization improvements, even using the same options. Of course, your specific results may vary. As an example, loops with expressions with mixed data types (single and double precision, for example) are candidates for vectorization in version 12.



Q: How long is the Fortran standard going to be extended? Will there be an end to further standards? What is the long term strategy?

A: The Fortran standards committee is currently working on interpretations to the newly-approved Fortran 2008 standard. A revision, currently referred to as Fortran 2013, is being planned, but it is unclear what the scope of that will be. A majority of the committee wants it to be a minor update along the lines of Fortran 95.



Q: What are the plans for the editor enhancements? This has been asked a lot of times on the forum.
Q: Any plans for enhancements in Visual Studio (e.g., type viewer, module viewer), important for large projects
Q: Will there be regions so that we can hide program units that are not being developed?

A: We are working on enhancements to the Visual Studio environment, but can't comment on specifics.



Q: Does the new Intel Fortran Compiler support ubuntu 10.04?
A: Yes.



Q: Are there any plans for supporting the simple idb -gui debugging tool on OSX. Xcode is nice, but it requires a bit of investment in time to use.

A: We don't currently have plans for extending the idb debugger with a GUI interface at this time. There is a workaround to use the graphfical DDD front-end with Intel® Debugger. This workaround is documented in this forum post: /en-us/forums/showthread.php.



Q: When will the IMSL libraries be included
A: Expect to see these available in late January or perhaps early February.



Q: When will defined type IO be added. I currently use namelists of temporary defined types.
A: We can't comment on a timeframe for this, but it will be there eventually.



Q: What about coarrays for Mac OS X*?
A: We have no plans for that at this time.



Q: Are there plans to revive Array Visualizer?
A: This is still being considered.



Q: How many multithreading methodologies does Intel Fortran Composer XE have? and What are they?
A: In the product itself, the compiler supports:
• Automatic parallelization (/Qparallel or –parallel), along with Guided Auto Parallelization to help tune the application for parallelism.
• OpenMP
• Coarrays
• DO CONCURRENT regions along with –parallel compiler option
Using external libraries, you can also use MPI or the operating system's threading calls.



Q: Any support for the old source browser option?
A: Work is being done in this area, but we can't comment further at this time.



Q: What is the difference between /fp:precise switch and the new improved switch?

A: As explained in the presentation, the /fp (-fp-model) switch is very different from the new option to select among alternate math libraries. The new options allow you to choose a variant of the math library that is faster but less precise, or one that delivers the same results on all processor types. The fp-model can affect how expressions are evaluated, and can disable/enable certain optimizations. The new libraries merely replace the default libimf library which contains intrinsics such as exp, sin, cos, etc. So these new libraries should be considered for use along with the –fp-model settings. For example, for very strict numeric results that you'd like to replicate on multiple cpu architectures: -fp-model exact –fimf-arch-consistency=true could be used together to insure the best possible results and consistency across many cpu generations. See the –fimf-* options. This could be a topic we revisit in a separate dedicated webinar next year.

For more complete information about compiler optimizations, see our Optimization Notice.