blender is a SPEC CPU(R) benchmark described here and written in C and C++. The workload runs on all logical cores.

Topdown profile shows moderate retirement rate with backend stalls. Also a somewhat higher branch mis-prediction ratio.

AMD metrics show a large number of conditional branches, a lot of floating point. L2 access in contrast is lower.

elapsed              1003.543
on_cpu               0.976          # 15.62 / 16 cores
utime                15577.792
stime                93.492
nvcsw                25699          # 14.13%
nivcsw               156210         # 85.87%
inblock              0              # 0.00/sec
onblock              657472         # 655.15/sec
cpu-clock            15672524593811 # 15672.525 seconds
task-clock           15672677832025 # 15672.678 seconds
page faults          31056598       # 1981.576/sec
context switches     181238         # 11.564/sec
cpu migrations       217            # 0.014/sec
major page faults    3799           # 0.242/sec
minor page faults    31052799       # 1981.333/sec
alignment faults     0              # 0.000/sec
emulation faults     0              # 0.000/sec
branches             9162902970976  # 134.627 branches per 1000 inst
branch misses        191136129020   # 2.09% branch miss
conditional          8195526125542  # 120.414 conditional branches per 1000 inst
indirect             85457359205    # 1.256 indirect branches per 1000 inst
cpu-cycles           62796772217200 # 3.88 GHz
instructions         68050948821278 # 1.08 IPC
slots                125582309615328 #
retiring             22462534406699 # 17.9% (24.9%)
-- ucode             4511747160     #     0.0%
-- fastpath          22458022659539 #    17.9%
frontend             5992219329471  #  4.8% ( 6.6%)
-- latency           4651956387924  #     3.7%
-- bandwidth         1340262941547  #     1.1%
backend              56277781669765 # 44.8% (62.3%)
-- cpu               17120809186613 #    13.6%
-- memory            39156972483152 #    31.2%
speculation          5623383914045  #  4.5% ( 6.2%)
-- branch mispredict 5590516227249  #     4.5%
-- pipeline restart  32867686796    #     0.0%
smt-contention       35226327822583 # 28.1% ( 0.0%)
cpu-cycles           62413646220576 # 3.88 GHz
instructions         68057299082957 # 1.09 IPC
instructions         22689634557097 # 31.225 l2 access per 1000 inst
l2 hit from l1       625483301949   # 15.56% l2 miss
l2 miss from l1      61732557357    #
l2 hit from l2 pf    34508483022    #
l3 hit from l2 pf    15862924695    #
l3 miss from l2 pf   32620726863    #
instructions         22676887930929 # 397.608 float per 1000 inst
float 512            236            # 0.000 AVX-512 per 1000 inst
float 256            194075558      # 0.009 AVX-256 per 1000 inst
float 128            9016321382594  # 397.600 AVX-128 per 1000 inst
float MMX            0              # 0.000 MMX per 1000 inst
float scalar         0              # 0.000 scalar per 1000 inst
instructions         68048780839108 #
opcache              11281642777070 # 165.788 opcache per 1000 inst
opcache miss         110863695024   #  1.0% opcache miss rate
l1 dTLB miss         795057958815   # 11.684 L1 dTLB per 1000 inst
l2 dTLB miss         20403293260    # 0.300 L2 dTLB per 1000 inst
instructions         68048507612293 #
icache               177196855525   # 2.604 icache per 1000 inst
icache miss          50061354268    # 28.3% icache miss rate
l1 iTLB miss         4181404456     # 0.061 L1 iTLB per 1000 inst
l2 iTLB miss         0              # 0.000 L2 iTLB per 1000 inst
tlb flush            10990627       # 0.000 TLB flush per 1000 inst

Process overview shows blender_r_base. as the primary process.

691 processes
	 48 blender_r_base.      15538.72    89.32
	 71 specperl                17.90     1.95
	 48 imagevalidate_5          1.20     0.10
	  2 clang                    0.02     0.00
	 10 ps                       0.01     0.01
	  2 clang++                  0.01     0.01
	  1 lsb_release              0.01     0.00
	225 sh                       0.00     0.00
	 54 specrxp                  0.00     0.00
	 48 bash                     0.00     0.00
	 41 specinvoke               0.00     0.00
	 22 cat                      0.00     0.00
	 21 grep                     0.00     0.00
	 12 uniq                     0.00     0.00
	 11 sort                     0.00     0.00
	 10 expand                   0.00     0.00
	  7 specmake                 0.00     0.00
	  6 pwd                      0.00     0.00
	  5 basename                 0.00     0.00
	  5 systemctl                0.00     0.00
	  4 rm                       0.00     0.00
	  4 specpp                   0.00     0.00
	  4 uname                    0.00     0.00
	  3 dirname                  0.00     0.00
	  3 dmidecode                0.00     0.00
	  3 lscpu                    0.00     0.00
	  2 df                       0.00     0.00
	  2 dpkg                     0.00     0.00
	  2 runcpu                   0.00     0.00
	  2 specsha512sum            0.00     0.00
	  2 specxz                   0.00     0.00
	  2 who                      0.00     0.00
	  1 cpupower                 0.00     0.00
	  1 head                     0.00     0.00
	  1 logname                  0.00     0.00
	  1 ls                       0.00     0.00
	  1 numactl                  0.00     0.00
	  1 sysctl                   0.00     0.00
	  1 w                        0.00     0.00
	  1 wc                       0.00     0.00
	  1 which                    0.00     0.00
0 processes running
53 maximum processes

specinvoke fires up the blender processes in parallel

    430775) specinvoke       cpu=5 start=333.05 finish=660.87
      430777) sh               cpu=0 start=333.05 finish=656.15
        430785) bash             cpu=0 start=333.06 finish=656.15
          430809) blender_r_base.  cpu=0 start=333.06 finish=656.10
      430778) sh               cpu=5 start=333.05 finish=659.52
        430786) bash             cpu=1 start=333.06 finish=659.52
          430810) blender_r_base.  cpu=1 start=333.06 finish=659.47
      430779) sh               cpu=0 start=333.05 finish=659.91
        430787) bash             cpu=2 start=333.06 finish=659.91
          430811) blender_r_base.  cpu=2 start=333.06 finish=659.87
      430780) sh               cpu=5 start=333.05 finish=659.62
        430788) bash             cpu=3 start=333.06 finish=659.62
          430813) blender_r_base.  cpu=3 start=333.06 finish=659.57
      430781) sh               cpu=10 start=333.05 finish=660.86
        430796) bash             cpu=4 start=333.06 finish=660.86
          430816) blender_r_base.  cpu=4 start=333.06 finish=660.81
      430782) sh               cpu=5 start=333.05 finish=658.54
        430794) bash             cpu=5 start=333.06 finish=658.54
          430815) blender_r_base.  cpu=5 start=333.06 finish=658.50
      430783) sh               cpu=13 start=333.05 finish=659.24
        430791) bash             cpu=6 start=333.06 finish=659.24
          430812) blender_r_base.  cpu=6 start=333.06 finish=659.19
      430784) sh               cpu=6 start=333.06 finish=659.63
        430797) bash             cpu=7 start=333.06 finish=659.63
          430818) blender_r_base.  cpu=7 start=333.06 finish=659.57
      430789) sh               cpu=8 start=333.06 finish=655.29
        430799) bash             cpu=8 start=333.06 finish=655.29
          430814) blender_r_base.  cpu=8 start=333.06 finish=655.23
      430790) sh               cpu=7 start=333.06 finish=660.06
        430800) bash             cpu=9 start=333.06 finish=660.06
          430817) blender_r_base.  cpu=9 start=333.06 finish=660.02
      430792) sh               cpu=3 start=333.06 finish=659.83
        430802) bash             cpu=10 start=333.06 finish=659.83
          430819) blender_r_base.  cpu=10 start=333.06 finish=659.77
      430793) sh               cpu=13 start=333.06 finish=660.11
        430804) bash             cpu=11 start=333.06 finish=660.11
          430820) blender_r_base.  cpu=11 start=333.06 finish=660.08
      430795) sh               cpu=11 start=333.06 finish=660.87
        430805) bash             cpu=12 start=333.06 finish=660.87
          430821) blender_r_base.  cpu=12 start=333.06 finish=660.82
      430798) sh               cpu=8 start=333.06 finish=657.84
        430806) bash             cpu=13 start=333.06 finish=657.84
          430822) blender_r_base.  cpu=13 start=333.06 finish=657.78
      430801) sh               cpu=14 start=333.06 finish=658.27
        430807) bash             cpu=14 start=333.06 finish=658.27
          430823) blender_r_base.  cpu=14 start=333.06 finish=658.21
      430803) sh               cpu=14 start=333.06 finish=659.98
        430808) bash             cpu=15 start=333.06 finish=659.98
          430824) blender_r_base.  cpu=15 start=333.06 finish=659.94