<?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 About timer.pas ... in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/About-timer-pas/m-p/769183#M104</link>
    <description>&lt;DIV&gt;&lt;BR /&gt;Hello,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Inside parallelhashlist.zip i have put a new timer.pas that compiles 
correctly &lt;/DIV&gt;
&lt;DIV&gt;under both Win32 and Win64, i have changed &amp;nbsp;the Tick method inside &lt;/DIV&gt;
&lt;DIV&gt;timer.pas and added the 64 bits parts&amp;nbsp;so &amp;nbsp;that it&amp;nbsp;works correctly under 
&lt;/DIV&gt;
&lt;DIV&gt;Win64:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Here is the new Tick method:&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;----&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;function TLkBaseTimer.Tick: int64; register;&lt;BR /&gt;//asm&lt;BR /&gt;&amp;nbsp;// rdtsc;&lt;BR /&gt;//db 
0fh, 31h &lt;BR /&gt;//end;&lt;BR /&gt;asm&lt;BR /&gt;&amp;nbsp; rdtsc&lt;BR /&gt;{$IFDEF CPU64}&lt;BR /&gt;&amp;nbsp; shl&amp;nbsp;&amp;nbsp; rdx, 32&lt;BR /&gt;&amp;nbsp; 
or&amp;nbsp;&amp;nbsp;&amp;nbsp; rax, rdx&lt;BR /&gt;{$ENDIF CPU64}&lt;BR /&gt;end; { GetCPUTimeStamp }&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;--&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;How to use the timer to time in microseconds ? &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Like this:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Call Timestart() first like this:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;HPT.Timestart;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;and after that you can write the Time in microseconds like this&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;writeln('Time in microseconds: ',hpt.TimePeriod);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Please look inside test1.pas inside parallelhashlist.zip i have given you 
&lt;/DIV&gt;
&lt;DIV&gt;an example on how to use timer.pas to time the throuput of your 
multithreaded &lt;/DIV&gt;
&lt;DIV&gt;program...&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;You can download parallelhashlist from:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Sincerely,&lt;/DIV&gt;
&lt;DIV&gt;Amine Moulay Ramdane,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;</description>
    <pubDate>Fri, 10 Aug 2012 17:22:20 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2012-08-10T17:22:20Z</dc:date>
    <item>
      <title>About timer.pas ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/About-timer-pas/m-p/769183#M104</link>
      <description>&lt;DIV&gt;&lt;BR /&gt;Hello,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Inside parallelhashlist.zip i have put a new timer.pas that compiles 
correctly &lt;/DIV&gt;
&lt;DIV&gt;under both Win32 and Win64, i have changed &amp;nbsp;the Tick method inside &lt;/DIV&gt;
&lt;DIV&gt;timer.pas and added the 64 bits parts&amp;nbsp;so &amp;nbsp;that it&amp;nbsp;works correctly under 
&lt;/DIV&gt;
&lt;DIV&gt;Win64:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Here is the new Tick method:&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;----&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;function TLkBaseTimer.Tick: int64; register;&lt;BR /&gt;//asm&lt;BR /&gt;&amp;nbsp;// rdtsc;&lt;BR /&gt;//db 
0fh, 31h &lt;BR /&gt;//end;&lt;BR /&gt;asm&lt;BR /&gt;&amp;nbsp; rdtsc&lt;BR /&gt;{$IFDEF CPU64}&lt;BR /&gt;&amp;nbsp; shl&amp;nbsp;&amp;nbsp; rdx, 32&lt;BR /&gt;&amp;nbsp; 
or&amp;nbsp;&amp;nbsp;&amp;nbsp; rax, rdx&lt;BR /&gt;{$ENDIF CPU64}&lt;BR /&gt;end; { GetCPUTimeStamp }&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;--&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;How to use the timer to time in microseconds ? &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Like this:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Call Timestart() first like this:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;HPT.Timestart;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;and after that you can write the Time in microseconds like this&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;writeln('Time in microseconds: ',hpt.TimePeriod);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Please look inside test1.pas inside parallelhashlist.zip i have given you 
&lt;/DIV&gt;
&lt;DIV&gt;an example on how to use timer.pas to time the throuput of your 
multithreaded &lt;/DIV&gt;
&lt;DIV&gt;program...&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;You can download parallelhashlist from:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://pages.videotron.com/aminer/"&gt;http://pages.videotron.com/aminer/&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Sincerely,&lt;/DIV&gt;
&lt;DIV&gt;Amine Moulay Ramdane,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 10 Aug 2012 17:22:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/About-timer-pas/m-p/769183#M104</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2012-08-10T17:22:20Z</dc:date>
    </item>
  </channel>
</rss>

