Prints a fancy summary of the CPU with some advanced information
This tool works on both 64 only and under Linux because of its implementation details. AMD support is not guaranteed so information may not be correct
Just clone the repo and use make
to compile it
git clone https://github.com/Dr-Noob/cpufetch
cd cpufetch
make
./cpufetch
This is the output of cpufetch
in a i7-4790K
Output is detailed as follows:
Field | Description | Possible Values |
---|---|---|
Name | Name of the CPU | Any valid CPU name |
Frequency | Max frequency of the CPU(in GHz) | X.XX(GHz or MHz) |
N.Cores | Number of cores the CPU has. If CPU supports Hyperthreading or similar, this will show cores and threads separately |
X(cores)X(threads) |
AVX | Type of AVX supported by the CPU or None. AVX instructions allows the CPU to vectorize the code with a witdh of 256 bits in single precision(or 512bits if AVX512 is supported) | AVX,AVX2,AVX512,None |
SSE | Same as AVX, but SSE family are 128bits witdh | SSE, SSE2, SSE3, SSSE3, SSE4a, SSE4_1, SSE4_2,None |
FMA | Does this CPU support FMA(Fused Multiply Add)?This instruction allows the CPU to multiply and add a value on the same clock cycle | FMA3,FMA4,None |
AES | Does this CPU support AES? This instruction is allows the CPU to make AES cypher efficiently | Yes or No |
SHA | Does this CPU support SHA? This instruction is allows the CPU to make SHA hashing efficiently | Yes or No |
L1 Size | Size(in bytes) of the L1 cache, separated in data and instructions | XXB(Data)XXB(instructions) |
L2 Size | Size(in bytes) of the L2 cache(both are unified) | XXXKB or None |
L3 Size | Same as L3 | XXXXKB or None |
Peak FLOPS | Max FLOPS(Floating Point Operation Per Second) this CPU could theoretical achieve. This is calculated by: N.Cores*Freq*2(Because 2 functional units)*2(If has FMA)*VectorWidth |
XXX.XX (G/T)FLOPs |
cpufetch
also prints a simple ascii art of the manufacturer logo.
cpufetch
makes use of two techniques to fetch data:
- cpuid: CPU name, number of threads per core and instructions features are fetched via cpuid. See this and Intel Processor Identification and the CPUID Instruction for more information.
- udev: Cache and frequency are fetched via udev, by looking at specific files from
/sys/devices/system/cpu
Feel free to open a issue on the repo to report a issue or propose any improvement in the tool