<?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 Given the publicly available in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017176#M6595</link>
    <description>&lt;P&gt;Given the publicly available information on Haswell's L1 Data Cache implementation, it certainly seems plausible that aligned 16-Byte and 32-Byte stores will be executed atomically.&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Intel's comments in Section 8.1.1 of Volume 3 of the Intel Architectures Software Developer's Manual (document 325384-052, September 2014) should not be read as a statement that no other operations can &lt;EM&gt;&lt;STRONG&gt;be&lt;/STRONG&gt;&lt;/EM&gt; atomic on a particular platform -- instead it should be read as a statement that no other operations are &lt;EM&gt;&lt;STRONG&gt;guaranteed&lt;/STRONG&gt;&lt;/EM&gt; to be atomic across all platforms.&lt;/P&gt;</description>
    <pubDate>Tue, 09 Dec 2014 18:50:31 GMT</pubDate>
    <dc:creator>McCalpinJohn</dc:creator>
    <dc:date>2014-12-09T18:50:31Z</dc:date>
    <item>
      <title>Could Intel confirm if Haswell can write 16/32 byte atomically?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017175#M6594</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The manual says that memory writes up to 8 bytes are atomic if aligned.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;I ran some multi-threaded tests on a Haswell that seem to indicate that 16/32-byte writes are also atomic when using SSE/AVX intrinsics properly.&lt;/P&gt;

&lt;P&gt;So, assuming the memory locations are 16/32 byte aligned, and you are using a single SSE/AVX store instruction, in what cases would the write not be atomic?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2014 18:08:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017175#M6594</guid>
      <dc:creator>Fabio_F_1</dc:creator>
      <dc:date>2014-12-09T18:08:06Z</dc:date>
    </item>
    <item>
      <title>Given the publicly available</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017176#M6595</link>
      <description>&lt;P&gt;Given the publicly available information on Haswell's L1 Data Cache implementation, it certainly seems plausible that aligned 16-Byte and 32-Byte stores will be executed atomically.&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Intel's comments in Section 8.1.1 of Volume 3 of the Intel Architectures Software Developer's Manual (document 325384-052, September 2014) should not be read as a statement that no other operations can &lt;EM&gt;&lt;STRONG&gt;be&lt;/STRONG&gt;&lt;/EM&gt; atomic on a particular platform -- instead it should be read as a statement that no other operations are &lt;EM&gt;&lt;STRONG&gt;guaranteed&lt;/STRONG&gt;&lt;/EM&gt; to be atomic across all platforms.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2014 18:50:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017176#M6595</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2014-12-09T18:50:31Z</dc:date>
    </item>
    <item>
      <title>Quote:John D. McCalpin wrote:</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017177#M6596</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;John D. McCalpin wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Given the publicly available information on Haswell's L1 Data Cache implementation, it certainly seems plausible that aligned 16-Byte and 32-Byte stores will be executed atomically.&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Intel's comments in Section 8.1.1 of Volume 3 of the Intel Architectures Software Developer's Manual (document 325384-052, September 2014) should not be read as a statement that no other operations can &lt;EM&gt;&lt;STRONG&gt;be&lt;/STRONG&gt;&lt;/EM&gt; atomic on a particular platform -- instead it should be read as a statement that no other operations are &lt;EM&gt;&lt;STRONG&gt;guaranteed&lt;/STRONG&gt;&lt;/EM&gt; to be atomic across all platforms.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Thanks John. Any suggestions on how to get an official answer for a platform (e.g. Haswell i7-4770 &amp;nbsp;for 32-byte writes and Nehalem Xeon X5680 for 16-byte writes)?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Dec 2014 12:00:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017177#M6596</guid>
      <dc:creator>Fabio_F_1</dc:creator>
      <dc:date>2014-12-12T12:00:20Z</dc:date>
    </item>
    <item>
      <title>I would assume that Intel</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017178#M6597</link>
      <description>&lt;P&gt;I would assume that Intel would decline to make any guarantees of atomicity in these cases.&amp;nbsp;&amp;nbsp; Providing a guarantee would not provide any direct benefits to Intel, but might result in costs to Intel.&lt;/P&gt;

&lt;P&gt;One potential cost is the risk that users will build code depending on this behavior, which may break in future processors.&amp;nbsp; This would require additional support and/or damage Intel's reputation in the market and/or push Intel to incur the expense of supporting the feature in future processors.&lt;/P&gt;

&lt;P&gt;Another potential cost is that any official statement might (in combination with other public statements) reveal microarchitectural details that may embolden patent trolls.&amp;nbsp; Patent infringement cases are expensive even if you win.&lt;/P&gt;

&lt;P&gt;For this particular issue I don't think Intel would be taking a large risk in making a definitive statement, but this is just one issue of a great many technical issues with similar risks and (lack of) rewards.&amp;nbsp;&amp;nbsp; Intel appears to be well disciplined in avoiding these potential costs.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Dec 2014 22:43:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Could-Intel-confirm-if-Haswell-can-write-16-32-byte-atomically/m-p/1017178#M6597</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2014-12-12T22:43:44Z</dc:date>
    </item>
  </channel>
</rss>

