<?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 Resources about Intel® Transactional Synchronization Extensions (Intel TSX) in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984295#M5804</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;you might find this collection of technical material&amp;nbsp;about Intel TSX instructions useful: &lt;A href="http://www.intel.com/software/tsx"&gt;http://www.intel.com/software/tsx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/blogs/2013/06/07/web-resources-about-intelr-transactional-synchronization-extensions"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Roman&lt;/P&gt;</description>
    <pubDate>Fri, 07 Jun 2013 13:56:58 GMT</pubDate>
    <dc:creator>Roman_D_Intel</dc:creator>
    <dc:date>2013-06-07T13:56:58Z</dc:date>
    <item>
      <title>Resources about Intel® Transactional Synchronization Extensions (Intel TSX)</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984295#M5804</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;you might find this collection of technical material&amp;nbsp;about Intel TSX instructions useful: &lt;A href="http://www.intel.com/software/tsx"&gt;http://www.intel.com/software/tsx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/blogs/2013/06/07/web-resources-about-intelr-transactional-synchronization-extensions"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Roman&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2013 13:56:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984295#M5804</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2013-06-07T13:56:58Z</dc:date>
    </item>
    <item>
      <title>Thank you, Roman! Do you know</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984296#M5805</link>
      <description>&lt;P&gt;Thank you, Roman! Do you know if TSX will be integrated with OpenMP?&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2013 18:14:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984296#M5805</guid>
      <dc:creator>Andrey_Vladimirov</dc:creator>
      <dc:date>2013-06-07T18:14:55Z</dc:date>
    </item>
    <item>
      <title>Andrey,</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984297#M5806</link>
      <description>&lt;P&gt;Andrey,&lt;/P&gt;
&lt;P&gt;you are welcome. I would ask OpenMP guys.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Roman&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2013 19:08:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984297#M5806</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2013-06-07T19:08:56Z</dc:date>
    </item>
    <item>
      <title>As "an OpenMP guy", I'll</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984298#M5807</link>
      <description>&lt;P&gt;As "an OpenMP guy", I'll chime in.&lt;/P&gt;
&lt;P&gt;We are intending&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;to have support in the next compiler release for a way to request that omp_lock_t should use an adaptive TSX lock built on RTM.&lt;/P&gt;
&lt;P&gt;We don't think it's a good idea to change the default implementation of omp_lock_t to make it speculative, because that can potentially slow code down significantly.&lt;/P&gt;
&lt;P&gt;p.s. If you're interested in TSX you should read chapter 12 of the new tuning guide at &amp;nbsp;&lt;A href="https://www-ssl.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf"&gt;https://www-ssl.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jun 2013 11:18:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984298#M5807</guid>
      <dc:creator>James_C_Intel2</dc:creator>
      <dc:date>2013-06-10T11:18:45Z</dc:date>
    </item>
    <item>
      <title>James,</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984299#M5808</link>
      <description>&lt;P&gt;James,&lt;/P&gt;
&lt;P&gt;I agree. The compiler may not know in advance if the lock is protecting an I/O operation or protecting a small critical section (using omp_lock_t). In the case of the I/O operation you likely would not want to use TSX/RTM. On the otherhand, in the case of a small critical section (using omp_lock_t) you would like to take advantage of TSX/RTM. Perhaps an alternalte omp runtime library call would suffice (you could write your own wrapper now).&lt;/P&gt;
&lt;P&gt;The other place to recommend use of TSX or RTM is in !$OMP ATOMIC.&lt;/P&gt;
&lt;P&gt;The !$OMP CRITICAL may be harder to please all with one policy. When the critical section is long lasting you may want the other threads to suspend. When it is short duration, then you might prefer to use TSX/RTM. Note, for short duration critical sections the user could use:&lt;/P&gt;
&lt;P&gt;!$&amp;nbsp;&amp;nbsp; CALL LOOPING_XBEGIN()&lt;BR /&gt;... code here ...&lt;BR /&gt;!$&amp;nbsp;&amp;nbsp; CALL _XEND&lt;/P&gt;
&lt;P&gt;Where LOOPING_XBEGIN() is a shell subroutine that loops when _XBEGIN aborts.&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jun 2013 12:03:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Resources-about-Intel-Transactional-Synchronization-Extensions/m-p/984299#M5808</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-06-10T12:03:35Z</dc:date>
    </item>
  </channel>
</rss>

