<?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 I can't tell exactly what it in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147777#M7795</link>
    <description>&lt;P&gt;I can't tell exactly what it is you are trying to do, but ordering of visibility of operations in multiprocessor systems is quite tricky, and many cases need some form of explicit serialization.&lt;/P&gt;&lt;P&gt;Chapter 8 of Volume 3 of the Intel Architectures SW Developer's Manual (document 325384-071) discusses these issues, particularly in Section 8.2, with Section 8.2.3 providing many useful examples.&lt;/P&gt;&lt;P&gt;It can be helpful to realize that the concept&amp;nbsp;"at the same time" is not applicable in cache-coherent multiprocessor systems -- all that can be discussed is the &lt;EM&gt;&lt;STRONG&gt;order&lt;/STRONG&gt;&lt;/EM&gt; in which stores become visible to other cores. &amp;nbsp;The examples in Section 8.2.3 may be helpful. &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have found the presentation in "A Primer on Memory Consistency and Cache Coherence" (https://doi.org/10.2200/S00346ED1V01Y201104CAC016) to be very helpful because of the consistency of the language used to describe the various consistency models. There is also a&amp;nbsp;newer version of the book (https://doi.org/10.2200/S00962ED2V01Y201910CAC049), but I have not had a chance to look at it yet....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 27 Mar 2020 15:48:02 GMT</pubDate>
    <dc:creator>McCalpinJohn</dc:creator>
    <dc:date>2020-03-27T15:48:02Z</dc:date>
    <item>
      <title>Conflicts  memory access in case simultaniusly work two cores?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147776#M7794</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;I have a question about inter-core contention for multicore CPUs.&lt;/P&gt;&lt;P&gt;There is code that looks like this, for two CPU cores core1 and core2:&lt;/P&gt;&lt;P&gt;When executed at the same time, and does not reset the bit to be reset.&lt;BR /&gt;Is that possible?&lt;/P&gt;&lt;P&gt;core1:&lt;BR /&gt;mov rbx, 0x00500000&lt;BR /&gt;or [rbx + 0x10], 0x00010000&lt;/P&gt;&lt;P&gt;core2:&lt;BR /&gt;mov rbx, 0x00500000&lt;BR /&gt;mov eax, [rbx + 0x10]&lt;BR /&gt;and eax, 0xfffdffff; ; 0xfffdffff = = ~ 0x00020000&lt;BR /&gt;mov [rbx + 0x10], eax&lt;/P&gt;&lt;P&gt;where 0x00500010 is 0x00200000 should be reset but remains set.&lt;/P&gt;&lt;P&gt;The background to this question is that there is an exclusive control bug in some of our code.&lt;BR /&gt;It behaved as if the bit was not reset.&lt;BR /&gt;The code should have looked like this:.&lt;/P&gt;&lt;P&gt;core1:&lt;BR /&gt;mov rbs, 0x00500000&lt;BR /&gt;lock()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;; Some form of locking, such as a semaphore.&lt;BR /&gt;or [rbx + 0x10], 0x00010000&lt;BR /&gt;unlock()&lt;/P&gt;&lt;P&gt;core2:&lt;BR /&gt;mov rbx, 0x00500000&lt;BR /&gt;lock()&lt;BR /&gt;mov rax, [rbx + 0x10]&lt;BR /&gt;and rax, ~ 0x00020000&lt;BR /&gt;mov [rbx + 0x10], rax&lt;BR /&gt;unlock()&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Addionary, i am using the Xeon E5-2658 v2 (IvyBridge).&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2020 02:59:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147776#M7794</guid>
      <dc:creator>Jun_T_1</dc:creator>
      <dc:date>2020-03-25T02:59:26Z</dc:date>
    </item>
    <item>
      <title>I can't tell exactly what it</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147777#M7795</link>
      <description>&lt;P&gt;I can't tell exactly what it is you are trying to do, but ordering of visibility of operations in multiprocessor systems is quite tricky, and many cases need some form of explicit serialization.&lt;/P&gt;&lt;P&gt;Chapter 8 of Volume 3 of the Intel Architectures SW Developer's Manual (document 325384-071) discusses these issues, particularly in Section 8.2, with Section 8.2.3 providing many useful examples.&lt;/P&gt;&lt;P&gt;It can be helpful to realize that the concept&amp;nbsp;"at the same time" is not applicable in cache-coherent multiprocessor systems -- all that can be discussed is the &lt;EM&gt;&lt;STRONG&gt;order&lt;/STRONG&gt;&lt;/EM&gt; in which stores become visible to other cores. &amp;nbsp;The examples in Section 8.2.3 may be helpful. &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have found the presentation in "A Primer on Memory Consistency and Cache Coherence" (https://doi.org/10.2200/S00346ED1V01Y201104CAC016) to be very helpful because of the consistency of the language used to describe the various consistency models. There is also a&amp;nbsp;newer version of the book (https://doi.org/10.2200/S00962ED2V01Y201910CAC049), but I have not had a chance to look at it yet....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 27 Mar 2020 15:48:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147777#M7795</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2020-03-27T15:48:02Z</dc:date>
    </item>
    <item>
      <title>John,</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147778#M7796</link>
      <description>&lt;P&gt;John,&lt;/P&gt;&lt;P&gt;Thank you for your comment. I will check the SDM Vol.3 Chap.8 again, also I will read suggested URLs.&lt;BR /&gt;And, I will test our code after fix out bug.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Apr 2020 02:35:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Conflicts-memory-access-in-case-simultaniusly-work-two-cores/m-p/1147778#M7796</guid>
      <dc:creator>Jun_T_1</dc:creator>
      <dc:date>2020-04-02T02:35:04Z</dc:date>
    </item>
  </channel>
</rss>

