cpu-instructions
v0.0.13
Published
Get CPU instructions
Downloads
1,379
Readme
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.