Table of Contents

CPUInfo

cpuinfo consists in an API/library used by programs to get information about the underlying CPU. Such information include CPU vendor, model name, cache hierarchy, and supported features (e.g. CMP, SMT, SIMD). cpuinfo is also a standalone program to demonstrate the use of this API.

The cpuinfo library is distributed under the terms of the GNU Lesser General Public License (LGPL).

Last update: 2007/07/15 -- Version 1.0-Pre R2 (perl bindings, more features detected).

Supported platforms

cpuinfo has been built and tested on the following platforms:

CPU OS Compilers
i386 Linux GCC >= 3.3.4, G++ >= 2.96
i386 NetBSD >= 2.0 GCC >= 3.3.3
i386 FreeBSD >= 5.3 GCC >= 3.3.3
i386 MacOS X >= 10.4.9 GCC >= 4.0.1
x86_64 Linux GCC >= 3.3.4
ia64 Linux GCC 4.1
ia64 HP-UX >= 11i v2 HP C/aC++ A.06.14, GCC >= 3.4.3
ia64 FreeBSD >= 6.1 GCC >= 3.4.4
ppc Linux GCC >= 3.4.3
ppc MacOS X >= 10.2.8 GCC >= 3.1
mips IRIX >= 6.5 MIPSpro >= 7.3.1.3 (C++), MIPSpro >= 7.4 (C), GCC >= 3.3

Downloads

Documentation

The API is only documented in the cpuinfo.h file at this time. It currently contains features I am interested in but it may evolve in the future.

If cpuinfo behaves incorrectly, please send the output of

cpuinfo --debug

and any useful information to fix your problem (e.g. expected model name, correct cache information, etc.). Note that the much preferred way is to provide patches as well as this is a secondary/toy project. ;-)