API Detects IA-32 and x64 Platform CPU Characteristics

Submit New Article

Last Modified On :   January 21, 2010 11:09 AM PST
Rate
 


by Eric Palmer
Sr. Application Engineer, Software Enabling Division


Why Should I Care About This Code Sample?

This API with example Windows* utility is useful for detecting IA-32 CPU characteristics including Hyper-Threading Technology, instruction set extensions like Streaming SIMD Extensions 2 (SSE2), and the processor's cache configuration. New multi-core technology support includes the ability to enumerate and map processor packages, cores, and logical processors to processor affinity masks - useful for tuning threaded applications for multi-core technology or Hyper-Threading Technology.

The WinCPUID API can be used seamlessly between your application’s build configurations for IA-32 and x64 platforms. For more information on the cross-platform use of the CPUID instruction, see How to Use All of CPUID for x64 Platforms under Microsoft® Visual Studio™ .Net 2005.

Also includes new C++ abstraction class "CWinCPUID" for easier use in C++ applications.

Installation produces a shortcut on the Start>Programs menu to access the source code, sample application, and the help file including the WinCPUID API documentation.

Target Audience

General interest, general application developer

Sample Category

Complete Project

Implementation Language

C, C++

Target Hardware & Software Platforms

Hardware Systems: IA-32 platforms
Operating Systems: Microsoft Windows* XP, Windows* x64, Windows* Server 2003
Compilers: Microsoft Visual Studio* .Net 2008** or Microsoft Visual Studio* .Net 2005**


Updated downloads
Source code and utility update (Dec 18, 2009): WinCPUID_Source_20091218.zip
x64 binary update (Dec 18, 2009): WinCPUID_x64_20091218.zip

**OLD** Download the source code for IA-32 and x64 platforms [ZIP 3.6MB]. Updated October 2006
**OLD** Download the source code for x64 binaries (executables, DLLs, libs, and headers) [ZIP 4.8MB]. Updated October 2006