Coder Social home page Coder Social logo

cpuinfo's Introduction

CPU Info

This source code provides a simple C++ program to retrieve and display information about the CPU, including the vendor, brand, number of cores, number of logical processors (threads), and supported instruction sets (e.g., SSE, AVX, AVX512).

Files

CPUID.h

This header file contains the CPUID class, which abstracts the CPUID instruction. The class provides methods to retrieve the values of the EAX, EBX, ECX, and EDX registers after calling the CPUID instruction with a given function ID.

cpuinfo.cpp

This source file implements the CPUInfo class, which uses the CPUID class to gather various CPU-related information. The main function prints this information in JSON format.

Building

Windows

To build the project on Windows, you can use Microsoft Visual Studio or the Visual Studio Developer Command Prompt.

Using Visual Studio Developer Command Prompt

  1. Open the Developer Command Prompt for Visual Studio.

  2. Navigate to the project directory:

        cd path\to\your\project\directory
  3. Compile the source code using the following command:

        cl cpuinfo.cpp /EHsc

    This will create the executable cpuinfo.exe in the current directory.

Linux

To build the project on Linux, you need g++ (the GNU C++ compiler).

  1. Open a terminal.

  2. Navigate to the project directory:

        cd path/to/your/project/directory
  3. Compile the code:

        g++ cpuinfo.cpp -o cpuinfo

    This will create the executable cpuinfo in the current directory.

Running the Program

Windows

After building the project, you can run the executable from the command prompt:

    cpuinfo.exe

Linux

After building the project, you can run the executable from the terminal:

    ./cpuinfo

Example Output

The program prints the CPU information in JSON format. Example output:

{
  "vendor": "GenuineIntel",
  "brand": "12th Gen Intel(R) Core(TM) i5-12400F",
  "cores": 6,
  "threads": 12,
  "is_hyperthreading": true,
  "instructions": {
    "SSE": true,
    "SSE2": true,
    "SSE3": true,
    "SSE41": true,
    "SSE42": true,
    "AVX": true,
    "AVX2": true,
    "AVX512": true
  }
}

Notes

  • Ensure that your environment is properly set up for compiling C++ code. On Windows, this typically involves installing Visual Studio with the C++ build tools. On Linux, you need to have g++ installed.
  • The JSON output format is designed to be easy to parse and read.
  • In the bin directory, there are pre-built outputs. For Windows, the code is signed with our certificate. You can download and use it directly or build from source.

cpuinfo's People

Contributors

louis-jan avatar branchvincent avatar

Stargazers

NamH avatar

Watchers

 avatar

Forkers

branchvincent

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.