Socket
Book a DemoInstallSign in
Socket

cpu-instructions

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cpu-instructions

Get CPU instructions

Source
npmnpm
Version
0.0.12
Version published
Weekly downloads
11
Maintainers
1
Weekly downloads
 
Created
Source

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

  • Open the Developer Command Prompt for Visual Studio.

  • Navigate to the project directory:

        cd path\to\your\project\directory
    
  • 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).

  • Open a terminal.

  • Navigate to the project directory:

        cd path/to/your/project/directory
    
  • 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.

FAQs

Package last updated on 06 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts