<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Vectorization report in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768015#M21145</link>
    <description>This particular line corresponds to:&lt;BR /&gt;&lt;BR /&gt; [fortran]DO i = 1, SIZE(compile_options,1)
    WRITE(fid,strfmt) '&amp;lt;', TRIM(compile_options(i,1)), '&amp;gt;', &amp;amp;
         TRIM(compile_options(i,2)), ''
END DO[/fortran] &lt;BR /&gt;&lt;BR /&gt;where&lt;BR /&gt;&lt;BR /&gt; [fortran]CHARACTER(LEN=67), DIMENSION(4,2) :: compile_options
[/fortran] &lt;BR /&gt;Now, I'm not worried about optimizing this loop. But I have 1174 lines of output from the vec-report that talks about var$ and 4100 lines that refer to (unknown). &lt;BR /&gt;&lt;BR /&gt;It looks like, just from spot checking several, that the var$ messages are all about loops that have READ, WRITE, PRINT, or function calls in them. &lt;BR /&gt;&lt;BR /&gt;The unknown references are more confusing. For instance, &lt;BR /&gt;&lt;BR /&gt;viscous.F90(680): (col. 25) remark: vector dependence: assumed FLOW dependence between (unknown) line 680 and sx line 674.&lt;BR /&gt;&lt;BR /&gt;where line 674 is:&lt;BR /&gt;&lt;BR /&gt;[bash]diffVel = -RDIFT / iblk%Sc_t * rmwt(ns) &amp;amp;
           / iblk%average%MW(I,J,K) &amp;amp;
           * ( DMDX(NS,I)*SX(I,J,K) +   &amp;amp;
           DMDY(NS,I)*SY(I,J,K) +   &amp;amp;
           DMDZ(NS,I)*SZ(I,J,K) )[/bash] &lt;BR /&gt;&lt;BR /&gt;and 680 is:&lt;BR /&gt;[fortran]iblk%FLUX(iblk%INCHE+NS,I,J,K) = iblk%FLUX(iblk%INCHE+NS,I,J,K) + diffVel[/fortran] &lt;BR /&gt;&lt;BR /&gt;Those are the only two lines in the DO loop over NS (1 to NSPECI, which is a runtime constant). What is it trying to say here and why does it think SX would be a problem when the only thing in common between the two lines is diffVel? Why does it say (unknown) instead of one of the two variables on line 680? &lt;BR /&gt;&lt;BR /&gt;Tim</description>
    <pubDate>Sun, 15 Apr 2012 16:55:31 GMT</pubDate>
    <dc:creator>Tim_Gallagher</dc:creator>
    <dc:date>2012-04-15T16:55:31Z</dc:date>
    <item>
      <title>Vectorization report</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768013#M21143</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I ran the compiler with the options:&lt;BR /&gt;&lt;BR /&gt;-O2 -xhost -vec-report5&lt;BR /&gt;&lt;BR /&gt;and I get some information, but it's not entirely useful. For example:&lt;BR /&gt;&lt;BR /&gt;CompileOptions.f90(27): (col. 33) remark: vector dependence: assumed OUTPUT dependence between (unknown) line 27 and (unknown) line 27.&lt;BR /&gt;&lt;BR /&gt;CompileOptions.f90(27): (col. 33) remark: vector dependence: assumed FLOW dependence between var$95 line 27 and var$95 line 27.&lt;BR /&gt;&lt;BR /&gt;I have literally thousands of lines like that where they all refer to the same line number but have either (unknown) or var$ something. Did I miss a step somewhere?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;Tim</description>
      <pubDate>Sat, 14 Apr 2012 21:40:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768013#M21143</guid>
      <dc:creator>Tim_Gallagher</dc:creator>
      <dc:date>2012-04-14T21:40:17Z</dc:date>
    </item>
    <item>
      <title>Vectorization report</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768014#M21144</link>
      <description>Perhaps if you would show an example you might get a more useful explanation. -vec-report2 would likely give you enough comments to get started. Usually, this means the compiler believes you have a part of an array left of = which may overlap part of the same array on the right side of =. The var$ hidden variables would be created by the compiler; it's hard to imagine what source code would give rise to this.</description>
      <pubDate>Sun, 15 Apr 2012 16:40:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768014#M21144</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-04-15T16:40:21Z</dc:date>
    </item>
    <item>
      <title>Vectorization report</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768015#M21145</link>
      <description>This particular line corresponds to:&lt;BR /&gt;&lt;BR /&gt; [fortran]DO i = 1, SIZE(compile_options,1)
    WRITE(fid,strfmt) '&amp;lt;', TRIM(compile_options(i,1)), '&amp;gt;', &amp;amp;
         TRIM(compile_options(i,2)), ''
END DO[/fortran] &lt;BR /&gt;&lt;BR /&gt;where&lt;BR /&gt;&lt;BR /&gt; [fortran]CHARACTER(LEN=67), DIMENSION(4,2) :: compile_options
[/fortran] &lt;BR /&gt;Now, I'm not worried about optimizing this loop. But I have 1174 lines of output from the vec-report that talks about var$ and 4100 lines that refer to (unknown). &lt;BR /&gt;&lt;BR /&gt;It looks like, just from spot checking several, that the var$ messages are all about loops that have READ, WRITE, PRINT, or function calls in them. &lt;BR /&gt;&lt;BR /&gt;The unknown references are more confusing. For instance, &lt;BR /&gt;&lt;BR /&gt;viscous.F90(680): (col. 25) remark: vector dependence: assumed FLOW dependence between (unknown) line 680 and sx line 674.&lt;BR /&gt;&lt;BR /&gt;where line 674 is:&lt;BR /&gt;&lt;BR /&gt;[bash]diffVel = -RDIFT / iblk%Sc_t * rmwt(ns) &amp;amp;
           / iblk%average%MW(I,J,K) &amp;amp;
           * ( DMDX(NS,I)*SX(I,J,K) +   &amp;amp;
           DMDY(NS,I)*SY(I,J,K) +   &amp;amp;
           DMDZ(NS,I)*SZ(I,J,K) )[/bash] &lt;BR /&gt;&lt;BR /&gt;and 680 is:&lt;BR /&gt;[fortran]iblk%FLUX(iblk%INCHE+NS,I,J,K) = iblk%FLUX(iblk%INCHE+NS,I,J,K) + diffVel[/fortran] &lt;BR /&gt;&lt;BR /&gt;Those are the only two lines in the DO loop over NS (1 to NSPECI, which is a runtime constant). What is it trying to say here and why does it think SX would be a problem when the only thing in common between the two lines is diffVel? Why does it say (unknown) instead of one of the two variables on line 680? &lt;BR /&gt;&lt;BR /&gt;Tim</description>
      <pubDate>Sun, 15 Apr 2012 16:55:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Vectorization-report/m-p/768015#M21145</guid>
      <dc:creator>Tim_Gallagher</dc:creator>
      <dc:date>2012-04-15T16:55:31Z</dc:date>
    </item>
  </channel>
</rss>

