<?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 Reliable multicore-safe hires timing in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Reliable-multicore-safe-hires-timing/m-p/865005#M2653</link>
    <description>&lt;P&gt;Please let me state upfront that I'm well familiar with RDTSC, QueryPerformanceCounter and all sorts of Win32 timing sources.&lt;/P&gt;
&lt;P&gt;I'm desperately looking for a hi-res time source that fulfills the following:&lt;/P&gt;
&lt;P&gt;1st) work reliably generally (QPC doesn't. I know it's touted as the greatest thing since sliced bread but it is a fact that it&lt;U&gt;does&lt;/U&gt; jump around like crazy on certain machines depending on load)&lt;/P&gt;
&lt;P&gt;2nd) work reliably on multicore/multiproc machines (RDTSC doesn't since the clock count may differ for different CPUs and they aren't always synced)&lt;/P&gt;
&lt;P&gt;3rd) provide&lt;U&gt;at least&lt;/U&gt;a resolution of 0.1ms, preferrably better. Equivalent clock cycles are fine too, it doesn't have to be exactly wall-clock time.&lt;/P&gt;
&lt;P&gt;4th) work on 32bit and 64bit (x64 not IA64)Intel (&amp;gt;=P4) and AMD (AthlonXP/Opteron)processors. It doesn't have to be the exact OpCode/API call but it has to be available somehow on all these platforms for W2k3 Server and WinXP.&lt;/P&gt;
&lt;P&gt;5th) works more or less out of the box on a Win32/Win64 server without further software to install&lt;/P&gt;
&lt;P&gt;6th) does not require instrumentation or such stuff (we're talking about monitoring a live production system here)&lt;/P&gt;
&lt;P&gt;I'm well aware that there's not much reason for Intel to provide problem solutions that work well on AMD hardware, but then again there's this stupid thing called reality.&lt;/P&gt;
&lt;P&gt;Reality is also the one thing that kills using QPC or RDTSC. Both I can prove to misbehave on one ore more relevant multicore platforms.&lt;/P&gt;
&lt;P&gt;Bonus points for a not requiring a kernel transition, but I'd be really happy to have at least &lt;U&gt;one&lt;/U&gt; way to measure cross-core timing for procedures that run in less than 1ms.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Carsten Orthbandt&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 01 May 2007 17:25:03 GMT</pubDate>
    <dc:creator>corthbandt</dc:creator>
    <dc:date>2007-05-01T17:25:03Z</dc:date>
    <item>
      <title>Reliable multicore-safe hires timing</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Reliable-multicore-safe-hires-timing/m-p/865005#M2653</link>
      <description>&lt;P&gt;Please let me state upfront that I'm well familiar with RDTSC, QueryPerformanceCounter and all sorts of Win32 timing sources.&lt;/P&gt;
&lt;P&gt;I'm desperately looking for a hi-res time source that fulfills the following:&lt;/P&gt;
&lt;P&gt;1st) work reliably generally (QPC doesn't. I know it's touted as the greatest thing since sliced bread but it is a fact that it&lt;U&gt;does&lt;/U&gt; jump around like crazy on certain machines depending on load)&lt;/P&gt;
&lt;P&gt;2nd) work reliably on multicore/multiproc machines (RDTSC doesn't since the clock count may differ for different CPUs and they aren't always synced)&lt;/P&gt;
&lt;P&gt;3rd) provide&lt;U&gt;at least&lt;/U&gt;a resolution of 0.1ms, preferrably better. Equivalent clock cycles are fine too, it doesn't have to be exactly wall-clock time.&lt;/P&gt;
&lt;P&gt;4th) work on 32bit and 64bit (x64 not IA64)Intel (&amp;gt;=P4) and AMD (AthlonXP/Opteron)processors. It doesn't have to be the exact OpCode/API call but it has to be available somehow on all these platforms for W2k3 Server and WinXP.&lt;/P&gt;
&lt;P&gt;5th) works more or less out of the box on a Win32/Win64 server without further software to install&lt;/P&gt;
&lt;P&gt;6th) does not require instrumentation or such stuff (we're talking about monitoring a live production system here)&lt;/P&gt;
&lt;P&gt;I'm well aware that there's not much reason for Intel to provide problem solutions that work well on AMD hardware, but then again there's this stupid thing called reality.&lt;/P&gt;
&lt;P&gt;Reality is also the one thing that kills using QPC or RDTSC. Both I can prove to misbehave on one ore more relevant multicore platforms.&lt;/P&gt;
&lt;P&gt;Bonus points for a not requiring a kernel transition, but I'd be really happy to have at least &lt;U&gt;one&lt;/U&gt; way to measure cross-core timing for procedures that run in less than 1ms.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Carsten Orthbandt&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 May 2007 17:25:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Reliable-multicore-safe-hires-timing/m-p/865005#M2653</guid>
      <dc:creator>corthbandt</dc:creator>
      <dc:date>2007-05-01T17:25:03Z</dc:date>
    </item>
  </channel>
</rss>

