<?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 Get CPU information? in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818947#M1209</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;What I really understood that I need to lookagainatIntel's docs regarding Hyper-threading...&lt;BR /&gt;&lt;BR /&gt;What doyou mean by saying:&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;...HW threads, it doesn't tell you which of these result from Hyperthreading...&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;BR /&gt;</description>
    <pubDate>Fri, 28 Oct 2011 03:07:09 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2011-10-28T03:07:09Z</dc:date>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818941#M1203</link>
      <description>Is there in IPP some functions that can say for example, how many cores has CPU, or how is he loaded. I want to build some "adaptive" programs that will automaticly incrises number of working threads if CPU can handle it.&lt;DIV&gt;So can you help me with it?&lt;/DIV&gt;&lt;DIV&gt;Thank you, Ron&lt;/DIV&gt;</description>
      <pubDate>Wed, 05 Oct 2011 08:57:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818941#M1203</guid>
      <dc:creator>tcorp1</dc:creator>
      <dc:date>2011-10-05T08:57:18Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818942#M1204</link>
      <description>Basically, what we are using is based on the sample code "Coding for Multiple Cores on Xbox 360 and Microsoft Windows" from the DirectX SDK. This is a DirectX sample from 2006 which is still present in the June 2010 DirectX SDK which reports the number of cores and hyperthreading information. It uses the GetLogicalProcessorInformation() if it is available (starting from certain WindowsXP versions) and falls back to using the CPUID instruction otherwise.</description>
      <pubDate>Thu, 20 Oct 2011 14:58:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818942#M1204</guid>
      <dc:creator>Martin_Brenner</dc:creator>
      <dc:date>2011-10-20T14:58:22Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818943#M1205</link>
      <description>I think there is some sort of functions for that it also depends on the capacity of the &lt;A title="Innovtive USB Microscope Camera" href="http://usbmicroscopecamera.blogspot.com"&gt;memory drive of the cpu &lt;/A&gt;can handle.</description>
      <pubDate>Thu, 27 Oct 2011 01:25:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818943#M1205</guid>
      <dc:creator>kimyko</dc:creator>
      <dc:date>2011-10-27T01:25:35Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818944#M1206</link>
      <description>In an older version of IPP there is an include file "&lt;STRONG&gt;ippcore.h&lt;/STRONG&gt;" and it hasseveral '&lt;STRONG&gt;ippCore*****&lt;/STRONG&gt;' likefunctions, but I don't know if you will be able to get a number of CPU cores.&lt;BR /&gt;&lt;BR /&gt;On Windows platforms &lt;STRONG&gt;Win32 API&lt;/STRONG&gt; provideslots ofinformation regarding CPU, etc.&lt;BR /&gt;&lt;BR /&gt;Also, you can get complete CPU details with &lt;STRONG&gt;CPUID&lt;/STRONG&gt; instruction in assembler or in C/C++ codes with inline assembler. Here isan example ofwhat information you can get with CPUID instruction:&lt;BR /&gt;&lt;BR /&gt;Basic CPUID Information 0&lt;BR /&gt;CPUInfo[0] = 0x0000000A&lt;BR /&gt;CPUInfo[1] = 0x756E6547&lt;BR /&gt;CPUInfo[2] = 0x6C65746E&lt;BR /&gt;CPUInfo[3] = 0x49656E69&lt;BR /&gt;Basic CPUID Information 1&lt;BR /&gt;CPUInfo[0] = 0x000106C2&lt;BR /&gt;CPUInfo[1] = 0x00020800&lt;BR /&gt;CPUInfo[2] = 0x0040C39D&lt;BR /&gt;CPUInfo[3] = 0xBFE9FBFF&lt;BR /&gt;Basic CPUID Information 2&lt;BR /&gt;CPUInfo[0] = 0x4FBA5901&lt;BR /&gt;CPUInfo[1] = 0x0E3080C0&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 3&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 4&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 5&lt;BR /&gt;CPUInfo[0] = 0x00000040&lt;BR /&gt;CPUInfo[1] = 0x00000040&lt;BR /&gt;CPUInfo[2] = 0x00000003&lt;BR /&gt;CPUInfo[3] = 0x00020220&lt;BR /&gt;Basic CPUID Information 6&lt;BR /&gt;CPUInfo[0] = 0x00000001&lt;BR /&gt;CPUInfo[1] = 0x00000002&lt;BR /&gt;CPUInfo[2] = 0x00000001&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 7&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 8&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 9&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Basic CPUID Information 10&lt;BR /&gt;CPUInfo[0] = 0x07280203&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00002501&lt;BR /&gt;Extended Function CPUID Information 80000000&lt;BR /&gt;CPUInfo[0] = 0x80000008&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Extended Function CPUID Information 80000001&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000001&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Extended Function CPUID Information 80000002&lt;BR /&gt;CPUInfo[0] = 0x20202020&lt;BR /&gt;CPUInfo[1] = 0x20202020&lt;BR /&gt;CPUInfo[2] = 0x746E4920&lt;BR /&gt;CPUInfo[3] = 0x52286C65&lt;BR /&gt;Extended Function CPUID Information 80000003&lt;BR /&gt;CPUInfo[0] = 0x74412029&lt;BR /&gt;CPUInfo[1] = 0x54286D6F&lt;BR /&gt;CPUInfo[2] = 0x4320294D&lt;BR /&gt;CPUInfo[3] = 0x4E205550&lt;BR /&gt;Extended Function CPUID Information 80000004&lt;BR /&gt;CPUInfo[0] = 0x20303732&lt;BR /&gt;CPUInfo[1] = 0x20402020&lt;BR /&gt;CPUInfo[2] = 0x30362E31&lt;BR /&gt;CPUInfo[3] = 0x007A4847&lt;BR /&gt;Extended Function CPUID Information 80000005&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Extended Function CPUID Information 80000006&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x02008040&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Extended Function CPUID Information 80000007&lt;BR /&gt;CPUInfo[0] = 0x00000000&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;Extended Function CPUID Information 80000008&lt;BR /&gt;CPUInfo[0] = 0x00002020&lt;BR /&gt;CPUInfo[1] = 0x00000000&lt;BR /&gt;CPUInfo[2] = 0x00000000&lt;BR /&gt;CPUInfo[3] = 0x00000000&lt;BR /&gt;CPU Brand String: Intel Atom CPU N270 @ 1.60GHz&lt;BR /&gt;CPU Vendor : GenuineIntel&lt;BR /&gt;Stepping ID = 2&lt;BR /&gt;Model = 12&lt;BR /&gt;Family = 6&lt;BR /&gt;Extended Model = 1&lt;BR /&gt;CLFLUSH Cache Line Size = 64&lt;BR /&gt;The following features are supported:&lt;BR /&gt;SSE3 New Instructions&lt;BR /&gt;MONITOR/MWAIT&lt;BR /&gt;CPL Qualified Debug Store&lt;BR /&gt;Thermal Monitor 2&lt;BR /&gt;FPU - Floating Point Unit On Chip&lt;BR /&gt;VME - Virtual 8086 Mode Enhancement&lt;BR /&gt;DE - Debugging Extensions&lt;BR /&gt;PSE - Page Size Extensions&lt;BR /&gt;TSC - Time Stamp Counter&lt;BR /&gt;MSR - Model Specific Registers RDMSR and WRMSR Instructions&lt;BR /&gt;PAE - Physical Address Extensions&lt;BR /&gt;MCE - Machine Check Exception&lt;BR /&gt;CX8 - CMPXCHG8B Instruction&lt;BR /&gt;APIC - APIC On Chip&lt;BR /&gt;SEP - SYSENTER and SYSEXIT&lt;BR /&gt;MTRR - Memory Type Range Registers&lt;BR /&gt;PGE - PTE Global Bit&lt;BR /&gt;MCA - Machine Check Architecture&lt;BR /&gt;CMOV - Conditional Move Instructions&lt;BR /&gt;PAT - Page Attribute Table&lt;BR /&gt;CLFSH- CLFLUSH Instruction&lt;BR /&gt;DS - Debug Store&lt;BR /&gt;ACPI - Thermal Monitor and Software Controlled Clock Facilities&lt;BR /&gt;MMX - Intel MMX Technology&lt;BR /&gt;FXSR - FXSAVE and FXRSTOR Instructions&lt;BR /&gt;SSE - SSE Extensions&lt;BR /&gt;SSE2 - SSE2 Extensions&lt;BR /&gt;SS - Self Snoop&lt;BR /&gt;HTT - Hyper-Threading Technology&lt;BR /&gt;TM - Thermal Monitor&lt;BR /&gt;PBE - Pending Break Enable&lt;BR /&gt;Cache Line Size = 64&lt;BR /&gt;L2 Associativity = 8&lt;BR /&gt;Cache Size = 512K&lt;BR /&gt;</description>
      <pubDate>Thu, 27 Oct 2011 03:29:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818944#M1206</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2011-10-27T03:29:34Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818945#M1207</link>
      <description>Unfortunately, &lt;STRONG&gt;GetLogicalProcessorInformation&lt;/STRONG&gt; Win32 API function is available on Windows XP Professional x64 Edition only.&lt;BR /&gt;&lt;BR /&gt;You could also use&lt;STRONG&gt;GetProcessAffinityMask&lt;/STRONG&gt; Win32 API function because it is very old and was introduced in WindowsNTsome timebefore 1992 - 1993.</description>
      <pubDate>Thu, 27 Oct 2011 13:42:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818945#M1207</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2011-10-27T13:42:38Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818946#M1208</link>
      <description>Yes, thats why the example falls back to using CPUID directly (using some inline assembler code) in case GetLogicalProcessorInformation is not available. And while GetProcessAffinityMask gives you the number of HW threads, it doesn't tell you which of these result from Hyperthreading.</description>
      <pubDate>Thu, 27 Oct 2011 14:10:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818946#M1208</guid>
      <dc:creator>Martin_Brenner</dc:creator>
      <dc:date>2011-10-27T14:10:46Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818947#M1209</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;What I really understood that I need to lookagainatIntel's docs regarding Hyper-threading...&lt;BR /&gt;&lt;BR /&gt;What doyou mean by saying:&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;...HW threads, it doesn't tell you which of these result from Hyperthreading...&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;BR /&gt;</description>
      <pubDate>Fri, 28 Oct 2011 03:07:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818947#M1209</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2011-10-28T03:07:09Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818948#M1210</link>
      <description>For example, for several years of linux kernels, /proc/cpuinfo has designated HyperThreads as siblings. This makes it possible, although inconvenient, to count physical cores as well as logical processors. Utilities which come with MPI, such as Intel MPI cpuinfo, or (open source) hwloc (does it work on Windows?) sort out (for the supported CPU types) a list of which processor numbers are associated with each core.&lt;BR /&gt;For a long time, Windows programmers were expected to write low level code and test it for the particular CPU models of interest. Likewise, Windows has continued to flip-flop about providing uniform facilities to optimize mapping of threads to cores under programming models such as OpenMP, MPI, Cilk+, ....</description>
      <pubDate>Fri, 28 Oct 2011 14:35:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818948#M1210</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-10-28T14:35:38Z</dc:date>
    </item>
    <item>
      <title>Get CPU information?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818949#M1211</link>
      <description>What I meant was that while GetProcessAffinityMask does tell you the 
number of concurrent processors the CPU supports, it doesn't give you 
the information which of these are true separate cores or share a core 
through hyperthreading (logical processors).&lt;BR /&gt;&lt;BR /&gt;For the nitty gritty
 details there is an article from Intel on the subject of getting the 
numbers of cores and logical processors from CPUID:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.intel.com/../articles/multi-core-detect/"&gt;&lt;/A&gt;&lt;A href="http://software.intel.com/en-us/articles/multi-core-detect/" target="_blank"&gt;http://software.intel.com/en-us/articles/multi-core-detect/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;-Martin</description>
      <pubDate>Wed, 02 Nov 2011 12:33:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Get-CPU-information/m-p/818949#M1211</guid>
      <dc:creator>Martin_Brenner</dc:creator>
      <dc:date>2011-11-02T12:33:15Z</dc:date>
    </item>
  </channel>
</rss>

