Hacker News

13 hours ago by Dr-Noob

Dr-Noob here. Created an account just to comment on this post. I appreciate all of your comments.

For the ones who think that cpufetch uses lscpu (especially the one who wrote the title of this post), please see https://www.reddit.com/r/linux/comments/milnza/cpufetch_simp...

About the peak performance, nezirus, the purpose is to have a quick look of how powerful a CPU is supposed to be. Peak performance does not measure the real performance of a CPU but it is a rough estimate of it. The peak performance is one of the distinguishing marks of cpufetch and is one of my favorite fields of cpufetch. Concerning the fight between Gold 6238 and EPYC 7702P, is not the other way around. If you are able to use the full power of the CPU, Gold is much more powerful. However, in a real program, this is not always true. For more information about the peak performance, see https://github.com/Dr-Noob/peakperf. There you will understand how peak performance is calculated and how it works.

Thank you very much for your "text screenshots", I really like to see my program on all this variety of hardware!

12 hours ago by undefined

[deleted]

5 hours ago by luke2m

Sorry for the confusing title; unfortunately I can't change it anymore.

14 hours ago by nezirus

What's the purpose for calculating "peak performance" (yes, I've seen the disclaimer in the source code that it is inaccurate)

Looking into example screenshots, Xeon Gold 6328 is 10TFLOP/s, while Epyc 7702p is 2 TFLOP/s Performance comparsion can only be the other way around :-)

21 hours ago by tumblewit

I just realised after years of learning about how cores work that the big.LITTLE design is actually two CPUs not two sets of cores. With a third X1 core CPU we would then have 3 CPUs in a phone ... wow ...

20 hours ago by justinjlynn

It's processors all the way down.

There are probably tens to perhaps even hundreds of independent processors in a modern phone/computer system design. They're elements of essentially every chip in the device - especially if they provide complex/integrated functionality or communicate digitally with other chips.

18 hours ago by bartvk

If someone would say "processor", I'd expect them to mean the CPU, meaning the Central Processor Unit. The rest, I'd call them ICs.

11 hours ago by loeg

Your typical harddrive has a full ARM core in it. Sure, it's an IC, but it's also reasonable to call it a processor (co-processor?).

18 hours ago by tumblewit

So they are essentially a combination of chips rather than a combination of logical units. I always assumed these ‘chips’ are made of logical units like computer cpus 20 years ago with different logical units but that is not true. This is probably why the M1 is better than the microsoft’s ARM implementation because probably Apple is not going the processor route and instead more tightly integrating these logical units reducing latency. This is definitely more work but the it’s probably worth it when you control every bit of the pipeline which is not possible when the pipeline is made of several vendors with their SDKs like on snapdragon based windows laptop.

18 hours ago by Brian_K_White

Thank you for "processors all the way down"

10 hours ago by chasil

The Qualcomm Snapdragon 888 has three distinct types of cores.

"Snapdragon 888 ... has three CPU core sizes: a single large ARM X1 core for big single-threaded workloads, three medium Cortex A78 cores for multicore work, and four Cortex A55 cores for background work."

https://arstechnica.com/gadgets/2021/04/new-reports-say-the-...

a day ago by sigjuice

Raspberry Pi 4 Model B

$ ./cpufetch -s retro

                    ################                          
               #########################                      
            ###############################                   
          ################@@@@################                
         ################@@@@@@################               
        #################@@@@@@################               SoC:                 Broadcom BCM2711
       #################@@@@@@@@#################             Technology:          28nm
       #################@@@@@@@@#################             Microarchitecture:   Cortex-A72
      #################@@@@##@@@@################             Max Frequency:       1.500 GHz
       ################@@@@##@@@@################             Cores:               4 cores
       ###############@@@@####@@@@###############             Features:            NEON,CRC32
        @@@@@@@@@@####@@@@####@@@@####@@@@@@@@@@              Peak Performance:    24.00 GFLOP/s
         ######@@@@@@@@@@######@@@@@@@@@@######               
           ##################################                 
             ##############################                   
                ########################                      
                    ###############                           
                                                              



VM on M1 Mac

$ ./cpufetch -s legacy | sed 's,^, ,'

       ############     ##########   ####  ######  ########    SoC:                 Unknown
    ###############     #########    #######################   Technology:          Unknown
   ####        ####     ####         #####   #######   #####   Microarchitecture:   Cortex-A72
  ####         ####     ####         ####     #####     ####   Max Frequency:       Unknown
  ####         ####     ####         ####     ####      ####   Cores:               4 cores
   ####       #####     ####         ####     ####      ####   Features:            NEON,SHA1,SHA2,AES,CRC32
    ###############     ####         ####     ####      ####   Peak Performance:    Unknown
     ########  ####     ####         ####     ####      ####

14 hours ago by Tijdreiziger

WSL1:

$ ./cpufetch -s legacy

                               ################
                       #######                #######
                  ####                              ####
              ###                                     ####    Name:              Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
         ###                                             ###  Hypervisor:        Microsoft Hyper-V
         ###                                             ###  Microarchitecture: Haswell
      #                    ###                ###        ###  Technology:        22nm
    ##   ###   #########   ######   ######    ###        ###  Max Frequency:     2.501 GHz
   ##    ###   ###    ###  ###    ####  ####  ###        ###  Cores:             8 cores (HT disabled)
  ##     ###   ###    ###  ###    ###    ###  ###       ###   AVX:               AVX,AVX2
 ##      ###   ###    ###  ###    ##########  ###     ####    FMA:               FMA3
 ##      ###   ###    ###  ###    ###         ###   #####     L1i Size:          32KB
 ##       ##   ###    ###   #####  #########   ##  ###        L1d Size:          32KB
 ###                                                          L2 Size:           256KB
  ###                                                         L3 Size:           6MB
  ####                                        ####            Peak Performance:  640.26 GFLOP/s
    #####                               ##########
      ##########               ################
          ###############################
For those interested, neofetch output on the same system:

$ neofetch --ascii

             .-/+oossssoo+/-.               tijdreiziger@machine
         `:+ssssssssssssssssss+:`           ------------
       -+ssssssssssssssssssyyssss+-         OS: Ubuntu 18.04.5 LTS on Windows 10 x86_64
     .ossssssssssssssssssdMMMNysssso.       Kernel: 4.4.0-18362-Microsoft
    /ssssssssssshdmmNNmmyNMMMMhssssss/      Uptime: 35 mins
   +ssssssssshmydMMMMMMMNddddyssssssss+     Shell: bash 4.4.20
  /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Terminal: /dev/tty2
 .ssssssssdMMMNhsssssssssshNMMMdssssssss.   CPU: Intel i7-4710MQ (8) @ 2.5GHz
 +sssshhhyNMMNyssssssssssssyNMMMysssssss+   Memory: 6750MiB / 8073MiB
 ossyNMMMNyMMhsssssssssssssshmmmhssssssso   Disk (/): 201G / 221G (93%)
 ossyNMMMNyMMhsssssssssssssshmmmhssssssso 
 +sssshhhyNMMNyssssssssssssyNMMMysssssss+
 .ssssssssdMMMNhsssssssssshNMMMdssssssss.
  /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
   +sssssssssdmydMMMMMMMMddddyssssssss+
    /ssssssssssshdmNNNNmyNMMMMhssssss/
     .ossssssssssssssssssdMMMNysssso.
       -+sssssssssssssssssyyyssss+-
         `:+ssssssssssssssssss+:`
             .-/+oossssoo+/-.

4 hours ago by luke2m

My Thinkpad T410

luke@arch ~> cpufetch -s retro

                               ################               
                       #######                #######         
                  ####                              ####      
              ###                                     ####    Name:              Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
         ###                                             ###  Microarchitecture: Westmere
         ###                                             ###  Technology:        32nm
      #                    ###                ###        ###  Max Frequency:     2.400 GHz
    ##   ###   #########   ######   ######    ###        ###  Cores:             2 cores (4 threads)
   ##    ###   ###    ###  ###    ####  ####  ###        ###  AVX:               No
  ##     ###   ###    ###  ###    ###    ###  ###       ###   FMA:               No
 ##      ###   ###    ###  ###    ##########  ###     ####    L1i Size:          32KB (64KB Total)
 ##      ###   ###    ###  ###    ###         ###   #####     L1d Size:          32KB (64KB Total)
 ##       ##   ###    ###   #####  #########   ##  ###        L2 Size:           256KB (512KB Total)
 ###                                                          L3 Size:           3MB
  ###                                                         Peak Performance:  19.20 GFLOP/s
  ####                                        ####            
    #####                               ##########            
      ##########               ################               
          ###############################

20 hours ago by andagainagain

I haven't done an lscpu check in a long time... at some point apparently it started telling me whether I am vulnerable to a whole bunch of cpu issues. That's amazing.

10 hours ago by chasil

I'm on Oracle Linux.

Newer kernels report this in /proc/cpuinfo, and also /sys/devices/system/cpu/vulnerabilities.

When I run the UEK 5.4 kernel, I can see the following:

    $ grep 'model name' /proc/cpuinfo | uniq
    model name : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
    $ grep bugs /proc/cpuinfo | uniq
    bugs  : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
    $ dmesg | grep DMI:
    [    0.000000] DMI: HP ProLiant DL380p Gen8, BIOS P70 05/24/2019
When I run the RedHat-Compatible 3.10 Kernel, it doesn't report the bugs.

This is Oracle/RedHat 7.9 Maipo, and lscpu doesn't report the bugs under either kernel.

18 hours ago by signa11

  lstopo (1) on linux machines is quite instructive. if you have not used it before.

14 hours ago by gnufx

Yes, in general, hwloc (from which lstopo comes) is the thing to use for anything to do with CPU/memory topology, e.g. pinning to logical cores rather than physical ones whose numbering can even change with BIOS updates.

12 hours ago by BeefWellington

Strangely on my system `lstopo` shows only 7 CPU cores (0-6), instead of 8.

16 hours ago by nxpnsv

I just built and run it to see the pretty logo in my terminal. It looks just as the pictures on github, and somehow it was still worth it. Good one dr-noob

Daily digest email

Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.