andreas-abel / nanoBench

A tool for running small microbenchmarks on recent Intel and AMD x86 CPUs.
http://www.uops.info
GNU Affero General Public License v3.0
435 stars 55 forks source link

CPU 0 cannot read MSR 0x00000396 #17

Closed Gerrie-Cui closed 3 years ago

Gerrie-Cui commented 3 years ago

When I run nanoBench/tools/CacheAnalyzer/cacheInfp.py, an error of rdmsr: CPU 0 cannot read MSR 0x00000396 Error: appears, how can I solve it? Thanks

andreas-abel commented 3 years ago

The error probably means that you are running the tool on a CPU that is not supported. The Cache Analyzer should support all Intel Core CPUs except Skylake-X and Cascade Lake-X.

To solve the error, you would need to find out how to determine the number of C-Boxes on your CPU.

Gerrie-Cui commented 3 years ago

Thank you for your reply. The cpu information of the server I use is:

Architecture: x86_64
 CPU operating mode: 32-bit, 64-bit
 Byte Order: Little Endian
 CPU(s): 48
 On-line CPU(s) list: 0-47
 Number of threads per core: 2
 Number of audits per seat: 12
 Socket(s): 2
 NUMA nodes: 2
 Vendor ID: GenuineIntel
 CPU series: 6
 Model: 79
 Model name: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
 Step: 1
 CPU MHz: 2500.119
 CPU max MHz: 2900.0000
 CPU min MHz: 1200.0000
 BogoMIPS: 4401.87
 Virtualization: VT-x
 L1d cache: 32K
 L1i cache: 32K
 L2 cache: 256K
 L3 cache: 30720K
 NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42 ,44,46
 NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43 ,45,47

The version is:Linux version 4.15.0-122-generic (buildd@lcy01-amd64-010) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #124~16.04.1-Ubuntu SMP.

andreas-abel commented 3 years ago

If you would like to add support for this Xeon CPU, you will need to find the uncore performance monitoring manual for this CPU and check whether it has something equivalent to the MSR_UNC_CBO_CONFIG MSR on Intel Core CPUs.

Yujie-Cui commented 2 years ago

Why are kylake-X and Cascade Lake-X. not supported? Did they implement any new features?

andreas-abel commented 2 years ago

Because the uncore performance counters on these CPUs are different, and there is, for example, no MSR_UNC_CBO_CONFIG MSR. If you would like to add support for these CPUs, you will need to find the uncore performance monitoring manual for these CPU and check whether they have something equivalent to the MSR_UNC_CBO_CONFIG MSR on Intel Core CPUs.