<?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 Newbie? Is there a way to deteremine HTT support and enabled/di in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835768#M1599</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Windows XP SP3 and following versions support GetLogicalProcessorInformation API call. The example in &lt;A href="http://msdn.microsoft.com/en-us/library/ms683194(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms683194(VS.85).aspx&lt;/A&gt;computes logical and physical core counts using the GetLogicalProcessorInformation function. One way of determining if HT is onon current Intel CPUs is to comparethese two numbers(i.e.if "processorCoreCount&lt;LOGICALPROCESSORCOUNT&gt;&lt;/LOGICALPROCESSORCOUNT&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Roman</description>
    <pubDate>Wed, 12 May 2010 15:04:09 GMT</pubDate>
    <dc:creator>Roman_D_Intel</dc:creator>
    <dc:date>2010-05-12T15:04:09Z</dc:date>
    <item>
      <title>Newbie? Is there a way to deteremine HTT support and enabled/disabled from a windows API?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835767#M1598</link>
      <description>I know how to check CPUID Leaf 1 edx bit 28 for the presence of the HTT, but I want a way with out using the CPUID instruction.&lt;BR /&gt;&lt;BR /&gt;That will give me HTT available.&lt;BR /&gt;&lt;BR /&gt;The bios supplies the setting of HTT.&lt;BR /&gt;&lt;BR /&gt;Is there a way of checking that setting usinga Windows API?&lt;BR /&gt;&lt;BR /&gt;I am perfectly willing to accept registry queries.</description>
      <pubDate>Wed, 21 Apr 2010 17:14:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835767#M1598</guid>
      <dc:creator>Dave_Thompson</dc:creator>
      <dc:date>2010-04-21T17:14:36Z</dc:date>
    </item>
    <item>
      <title>Newbie? Is there a way to deteremine HTT support and enabled/di</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835768#M1599</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Windows XP SP3 and following versions support GetLogicalProcessorInformation API call. The example in &lt;A href="http://msdn.microsoft.com/en-us/library/ms683194(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms683194(VS.85).aspx&lt;/A&gt;computes logical and physical core counts using the GetLogicalProcessorInformation function. One way of determining if HT is onon current Intel CPUs is to comparethese two numbers(i.e.if "processorCoreCount&lt;LOGICALPROCESSORCOUNT&gt;&lt;/LOGICALPROCESSORCOUNT&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Roman</description>
      <pubDate>Wed, 12 May 2010 15:04:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835768#M1599</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2010-05-12T15:04:09Z</dc:date>
    </item>
    <item>
      <title>Newbie? Is there a way to deteremine HTT support and enabled/di</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835769#M1600</link>
      <description>Hi Roman,&lt;BR /&gt;&lt;BR /&gt;Thanks for your reply. I have been working pretty hard at this and have discovered the answer, after a lot of digging. You are correct in your statements, but you have to take it one step further.&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;int chips = 0;&lt;/P&gt;&lt;P&gt;int cores = 0;&lt;/P&gt;&lt;P&gt;int buses = 0;&lt;/P&gt;&lt;P&gt;int threads = 0;&lt;/P&gt;&lt;P&gt;int total = 0;&lt;/P&gt;&lt;P&gt;int cache[4] = { 0 };&lt;/P&gt;&lt;P&gt;bool threading = false;&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;/* requires WinXp SP3 or Win2003 SP1 */&lt;/P&gt;&lt;P&gt;PSYSTEM_LOGICAL_PROCESSOR_INFORMATION pInfo = NULL;&lt;/P&gt;&lt;P&gt;int size = 0;&lt;/P&gt;&lt;P&gt;GetLogicalProcessorInformation( pInfo, &amp;amp;size );&lt;/P&gt;&lt;P&gt;pInfo = alloca( size ); /* on the stack */&lt;/P&gt;&lt;P&gt;if ( ! pInfo ) exit( 3 );&lt;/P&gt;&lt;P&gt;memset( pInfo, 0, size );&lt;/P&gt;&lt;P&gt;if ( ! GetLogicalProcessorInformation( pInfo, &amp;amp;size ) ) exit( 4 );&lt;/P&gt;&lt;P&gt;while ( size )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;switch ( pInfo-&amp;gt;Relationship )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;case RelationNumaNode:&lt;/P&gt;&lt;P&gt;buses++;&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;case RelationProcessorCore:&lt;/P&gt;&lt;P&gt;cores++;&lt;/P&gt;&lt;P&gt;threads = CountBits( (unsigned int)pInfo-&amp;gt;ProcessorMask );&lt;/P&gt;&lt;P&gt;total += threads;&lt;/P&gt;&lt;P&gt;if ( pInfo-&amp;gt;ProcessorCore.Flags == 1 )&lt;/P&gt;&lt;P&gt;threading = true;&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;case RelationProcessorPackage:&lt;/P&gt;&lt;P&gt;chips++;&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;case RelationCache:&lt;/P&gt;&lt;P&gt;cache[ pInfo-&amp;gt;Cache.Level ] = pInfo-&amp;gt;Cache.Size;&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;default:&lt;/P&gt;&lt;P&gt;exit( 5 );&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;size -= sizeof *pInfo;&lt;/P&gt;&lt;P&gt;pInfo++;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&lt;BR /&gt;It has to do with the ProcessorCore.Flags being set to one.&lt;BR /&gt;Unfortunately this is also true in the case of a VMware Guest which leads to a whole set of additional issues.&lt;BR /&gt;&lt;BR /&gt;I have also indirectly seen this from a customer using this approach,&lt;BR /&gt;total = 2 chips = 1 cores = 1 threads = 2 threading = true&lt;BR /&gt;The chip was a "Intel Core2 CPU 6400 @ 2.13GHz".&lt;BR /&gt;I am at a complete loss at explaining this.This is the only instance that I have seen or heard of. I have asked the customer to check for a BIOS upgrade. The only other explanation I have, would be some sort of virtualization being present. I am 98% sure it's not VMware.&lt;/P&gt;</description>
      <pubDate>Wed, 12 May 2010 15:26:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835769#M1600</guid>
      <dc:creator>Dave_Thompson</dc:creator>
      <dc:date>2010-05-12T15:26:41Z</dc:date>
    </item>
    <item>
      <title>Newbie? Is there a way to deteremine HTT support and enabled/di</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835770#M1601</link>
      <description>Dave, I should have stated that this method works on Windows Vista+ and not on Windows XP SP3+.&lt;A href="http://msdn.microsoft.com/en-us/library/ms686694(v=VS.85).aspx"&gt;The documentation ofSYSTEM_LOGICAL_PROCESSOR_INFORMATION data structrure&lt;/A&gt;&lt;SPAN style="font-family: verdana, sans-serif;"&gt;mentions this misbehaviour on Windows XP.&lt;/SPAN&gt;&lt;DIV&gt;&lt;SPAN style="font-family: verdana, sans-serif;"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;SPAN style="font-family: verdana, sans-serif;"&gt;Windows Server 2003 and Windows XP Professional x64 Edition: [...] Therefore, to determine whether the processor supports multiple cores or hyperthreading on systems prior to Windows Vista, use the CPUID instruction.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 14 May 2010 11:09:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Newbie-Is-there-a-way-to-deteremine-HTT-support-and-enabled/m-p/835770#M1601</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2010-05-14T11:09:41Z</dc:date>
    </item>
  </channel>
</rss>

