⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 release_notes.htm

📁 里面有详细计算程序设计手册和原码分析 fortran90-and-computational-science
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		  <dt><code>-xO</code></dt>
		  <dd>Specifies that the compiler is to generate SSE3, SSE2 and SSE instructions
		    and to optimize for the Intel&reg; Pentium&reg; 4 processor and Intel&reg; Xeon&reg; processor
		    with SSE3. Generated code might operate on processors not made
			    by Intel that support SSE3, SSE2 and SSE instruction sets. This
		    value does not enable some optimizations enabled in the S, T, and P processor
		    values. (IA-32 and Intel&reg; 64 only, default: off) </dd>
		  <dt><code>-xS</code></dt>
		  <dd>Specifies that the compiler is to generate SSE4 Vectorizing Compiler
		    and Media Accelerators instructions for future Intel processors that
		    support the instructions. The compiler can also generate SSSE3, SSE3, SSE2,
		    and SSE instructions and it can optimize for future Intel processors. (IA-32
		    and Intel&reg; 64 only, default: off) </dd>
    </dl>
		<!-- #BeginLibraryItem "/Library/Deprecated-options.lbi" --><h4>Deprecated and Removed Command Line Options</h4>
		<p>For information on command line options that are either deprecated (still
		  functional but to be removed in a future version) or removed (no longer
		  supported), please refer to the section <em>Compiler Options</em> &gt; <em>Deprecated
		  and Removed Compiler Options</em> in the on-disk documentation. </p>
		<!-- #EndLibraryItem --><h4>Meaning of <code>-fast</code> Changed <code></code></h4>
		<p>The <code>-fast</code> option is a shorter way of specifying a set of options
		  that generally improve run-time performance. As documented, the set
		  of options may change over time. In version 10.0, <code>-fast</code> sets <code>-xT</code>,
		  whereas in earlier versions it set <code>-xP</code>. If this change is not
		  appropriate for you, you must specify the individual options you want
		  instead of using <code>-fast</code>. Please see the Compiler Options section
		  of the on-disk documentation for further information.</p>
		<h4>Meaning of <code>-stand</code> Changed</h4>
		<p>In version 10.0, the meaning of the <code>-stand</code> option, when specified
		  without a following keyword, is changed to mean <code>-stand f03</code>,
		  or checking for conformance to Fortran 2003. You can select checking
		  against Fortran 90 or Fortran 95 by specifying <code>-stand f90</code> or <code>-stand
		  f95</code>. <code>-std</code> is an alternate spelling of <code>-stand</code>.
		  Note that the <em>Intel&reg; Fortran Language Reference</em> still highlights Fortran
		  2003 features as extensions to Fortran 95. </p>
		
		  
		  <!-- #BeginLibraryItem "/Library/Alternate Options.lbi" -->
		<h4>Alternate Command Line Options </h4>
		<p>Many command line options have an older spelling where underscores (&ldquo;_&rdquo;)
		  instead of hyphens (&ldquo;-&ldquo;) connect the words in the option name.
		  The older spelling is still a valid alternate option name. </p>
    <!-- #EndLibraryItem -->		
		<h4><a name="f2003_behaviors"></a>Fortran 2003 Behaviors</h4>
		<p>Fortran 2003 defines behaviors for language features that were either extensions
		  to previous standards or left unspecified in earlier standards. While
		  version 10.0 of the Intel Fortran Compiler does not yet support all
		  of Fortran 2003, the compiler now selects the Fortran 2003 behavior
		  in some cases where earlier compiler versions chose a different behavior.
		  In some other cases, the compiler defaults have not yet changed. These
		  are described below.</p>
		<h5>Binary, octal and hexadecimal constants  </h5>
		<p>In Fortran 95,  binary, octal and hexadecimal constants (&quot;BOZ constants&quot;)
		  were allowed in DATA statements only and were restricted to initializing
		  scalar integer variables. As an extension to Fortran 95, the Intel
		  Fortran Compiler allowed BOZ constants in any context, with the type
		  interpretation determined by the context. Fortran 2003 expands the
		  use of BOZ constants permitting them to initialize any numeric type
		  and in arguments to the INT, REAL, DBLE and CMPLX intrinsics.</p>
		<p>The Fortran 2003 semantics for use of BOZ constants match the previous extended
		  implementation of Intel Fortran except for the case of a BOZ constant
		  as an argument to INT, REAL, DBLE and CMPLX. Fortran 2003 specifies
		  that in these contexts a BOZ constant is interpreted as a binary value
		  which is interpreted directly as the data type returned by the intrinsic,
		  whereas the previous Intel Fortran interpretation was to treat the
		  BOZ constant as a signed integer value which was then converted.</p>
		<p>For example:</p>
		<p><code>print *, real(Z'40490FDB')</code></p>
		<p>with the old behavior (<code>-assume old_boz</code>) prints    1.0785300E+09
		  and with the new behavior (<code>-assume noold_boz</code>) prints 3.141593.</p>
		<p>In version 10.0, the default behavior for Intel Fortran is that of Fortran
		  2003, to transfer the binary value without conversion. If your application
		  needs the old behavior, compile with the option <code>-assume old_boz</code>.</p>
		<h5>Default I/O unit *</h5>
		<p>In the Intel Fortran Compiler, I/O unit * and the implied units used by
		  the <code>ACCEPT</code>, <code>PRINT</code> and <code>TYPE</code> statements,
		  are by default associated with unit numbers distinct from those that could
		  be specified in an <code>OPEN</code> statement, such as unit 5 or 6. Fortran
		  2003 requires that the programmer be able to OPEN these default units, which
	    is incompatible with the current Intel Fortran behavior.</p>
		<p>In version 10.0, the <code>-assume [no]old_unit_star</code> compile command
		  option has been added to control this behavior. The default, <code>-assume
		  old_unit_star</code>, retains the current and past behavior with unit * being
		  distinct from units 5 and 6. If you want to use the Fortran 2003 behavior,
		  or if you will be using the Fortran 2003 intrinsic module <code>ISO_FORTRAN_ENV</code> and
		  its defined constants <code>INPUT_UNIT</code> and <code>OUTPUT_UNIT</code>,
		  specify <code>-assume noold_unit_star</code> to have unit * (and <code>ACCEPT</code>, <code>PRINT</code> and <code>TYPE</code>)
		  use units 5 (input) and 6 (output). </p>
		<p>The default for this behavior may change in a future release. </p>
		<h5>RECL= unit for unformatted files</h5>
		<p>In version 10.0, as in versions 8.x and 9.x of Intel Fortran, when opening
		  a file for unformatted I/O, the value specified for the <code>RECL=</code> keyword
		  in <code>OPEN</code> is in four-byte units, the size of a default integer. Previous
		  Fortran standards have said that the <code>RECL=</code> unit was &quot;implementation-dependent&quot;,
		  but Fortran 2003 &quot;recommends&quot; that it be single bytes. To specify that
		  the <code>RECL=</code> unit for unformatted I/O be bytes, use the existing compiler
		  option <code>-assume byterecl</code>. You must also use this option if your application
		  uses the <code>FILE_STORAGE_SIZE</code> named constant from the intrinsic module
		  <code>ISO_FORTRAN_ENV</code>.</p>
		<h4>New Fortran 2003 Features</h4>
		<p>The following features from the Fortran 2003 standard have been added since
		  the initial release of version 9.1. Some of these features first appeared
		  in updates to version 9.1. For additional details, please see the <em>Intel&reg;		  Fortran
		  Language Reference</em>. </p>
		<ul>
          <li>ASYNCHRONOUS attribute and statement </li>
		  <li>BIND(C) attribute and statement</li>
		  <li>PROTECTED attribute and statement</li>
		  <li>VALUE attribute and statement</li>
		  <li>INTENT for pointer objects</li>
		  <li>FLUSH statement</li>
		  <li>WAIT statement </li>
		  <li>ASYNCHRONOUS keyword for OPEN and data transfer statements</li>
		  <li>ID keyword for INQUIRE and data transfer statements</li>
		  <li>PENDING keyword for INQUIRE</li>
		  <li>Rename of user-defined operators</li>
		  <li>IMPORT statement</li>
		  <li>INTRINSIC and NON_INTRINSIC keyword for USE statement </li>
		  <li>ISO_C_BINDING intrinsic module</li>
		  <li>ISO_FORTRAN_ENV intrinsic module (must compile with <code>-assume byterecl</code> and
		    <code>-assume noold_unit_star</code> for correct values) </li>
		  <li>COMMAND_ARGUMENT_COUNT intrinsic procedure</li>
		  <li>GET_COMMAND intrinsic procedure </li>
		  <li>GET_COMMAND_ARGUMENT intrinsic procedure </li>
		  <li>GET_ENVIRONMENT_VARIABLE intrinsic procedure </li>
		  <li>IS_IOSTAT_END intrinsic procedure </li>
		  <li>IS_IOSTAT_EOR intrinsic procedure </li>
		  <li>MOVE_ALLOC intrinsic procedure </li>
		  <li>NEW_LINE intrinsic procedure </li>
		  <li>SELECTED_CHAR_KIND intrinsic procedure </li>
    </ul>
		<h4>Additional Language Features</h4>
		<p>For details on the following new language features, please see the <em>Intel&reg;		  Fortran
		    Language Reference</em> </p>
		<ul>
          <li>ASSUME_ALIGNED Directive</li>
		  <li>LOOP_COUNT Directive </li>
		  <li>MEMORYTOUCH Directive</li>
		  <li>OPTIMIZE Directive </li>
		  <li>MULT_HIGH_SIGNED intrinsic procedure </li>
    </ul>
		<h4>New Environment Variables to Specify Default Record Lengths</h4>
		<p>Two new environment variables are available to change the run-time behavior
		  of applications: <code>FORT_FMT_RECL</code> and <code>FORT_UFMT_RECL</code>.</p>
		<p><code>FORT_FMT_RECL</code> is used to specify a default <code>RECL</code> (Record
		  Length) value for all Fortran units opened for formatted I/O. If defined
		  with an unsigned decimal integer value, the environment variable value is
		  used as if that value had been specified for <code>RECL=</code> for <code>OPEN</code> when
		  the <code>RECORDTYPE</code> is not <code>'FIXED'</code>. The most common
		  use of this is to change the line length for list-directed output, which
		  has a default of 80 columns.</p>
		<p><code>FORT_UFMT_RECL</code> is used to specify a default <code>RECL</code> (Record
		  Length) value for all Fortran units opened for unformatted I/O. If
		  defined with an unsigned decimal integer value, the environment variable
		  value is used as if that value had been specified for <code>RECL=</code> for <code>OPEN</code> when
		  the <code>RECORDTYPE</code> is not <code>'FIXED'</code>. The most common
		  use of this is to change the maximum segment length for files opened
		  with <code>RECORDTYPE='SEGMENTED'</code>,
		  which has a default of 2040 bytes.
        <h4><code>KMP_AFFINITY</code> Environment Variable for OpenMP* Applications </h4>
        <p>The <code>KMP_AFFINITY</code> environment variable can be used in
          an OpenMP* application to specify how execution threads should be bound
          to processors on the system. This setting's effect is to bind each
          thread, in order of creation, in a round-robin fashion to a processor
          core in the system for the duration of the program. The value of <code>KMP_AFFINITY</code> should
          be of the form:        
        <p><code>compact,&lt;level&gt; </code>
        <p>where <code>&lt;level&gt;</code> is a non-negative integer. For example:        
        <p><code>compact,1 </code>
        <p>The argument <code>&lt;level&gt;</code> specifies the gap between
          successive thread's bound cores in the machine topology map, which
          is represented as a binary tree. A level of zero indicates that threads
          will be bound to successive threading contexts for processors which
          have Intel&reg; Hyper-Threading Technology enabled, or successive processors
          if not. The levels increase by one level from threading contexts, to
          cores, to packages (processors) in sequence. This setting is supported
          for processors supplied by Intel Corporation only on systems where
          the required operating system support for thread binding is present.		
        <h4>Improved Parallelizer and Vectorizer </h4>
        <p>This version features a complete redesign of the optimizer that integrates
          parallelization (IA-32, Intel&reg; 64 and IA-64) and vectorization
          (IA-32 and Intel&reg; 64) at <code>O2</code> and <code>O3</code> optimization
          levels with memory and loop optimizations.
        <p>Performance can be substantially improved by:        
        <ul>
          <li> Generation of more efficient multi-threaded code</li>
          <li>Generation of more efficient SIMD code</li>
          <li>Enhanced loop transformations </li>
        </ul>
        <h4>New&nbsp;and Enhanced Optimization Reports for Advanced Loop Transformations</h4>
        <p>Loop Transformation (HLO) Optimization reports&nbsp;tell you why the
          compiler was unable to apply loop interchange transformations on a&nbsp;set
          of loops and&nbsp;suggests loop interchange if the reported bottlenecks
          can be removed by source changes.  &nbsp; These reports have been enhanced
          to provide more detailed information and to be easier to understand. </p>
        <h4>Static Verifier</h4>
        <p>Static Verifier is a new compiler feature which performs static analysis
          of a program across multiple source files. It can detect different
          kinds of defects and doubtful or inconsistent uses of language features
          in user code and report them according to their severity level. Static
          Verifier understands C/C++ and Fortran code and can also perform analysis
          of OpenMP directives.<!-- #BeginLibraryItem "/Library/F2003 Summary 10.0.lbi" --><h4>Fortran 2003 Feature Summary</h4>
		<P>The Intel  Fortran Compiler supports many features that are new to

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -