Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Using PCM API. No authority to

Kim__Kyungjoo
Beginner
457 Views

I tried to insert PCM API into my code to measure memory saturation and I encountered the following problem. As I am not administrator of the public machien, I do not have root authority nor access to /dev/cpu/*/msr. Is there anyway that I can redirect the workspace path or device path ?

Also I am wondering if system admin can open the directory for users.

Thank you

Kyungjoo

Core PMU (perfmon) version: 3 
Number of core PMU generic (programmable) counters: 4 
Width of generic (programmable) counters: 48 bits 
Number of core PMU fixed counters: 3 
Width of fixed counters: 48 bits 
Can not access CPUs Model Specific Registers (MSRs). 
Try to execute 'modprobe msr' as root user and then 
you also must have read and write permissions for /dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown' command can help. 

0 Kudos
4 Replies
Patrick_F_Intel1
Employee
457 Views

Hello Kyungjoo,

You need to be able to read and write the MSR device. The root user can set the permissions on the device such that anyone can read/write to the device but they may decide they don't want to do this.

Or root could create a group of users with read/write access to the /dev/cpu/*/msr files and add you to that group.

Good luck, Pat

0 Kudos
Patrick_F_Intel1
Employee
457 Views

Hello Kyungjoo,

You need to be able to read and write the MSR device. The root user can set the permissions on the device such that anyone can read/write to the device but they may decide they don't want to do this.

Or root could create a group of users with read/write access to the /dev/cpu/*/msr files and add you to that group.

Good luck, Pat

0 Kudos
Kim__Kyungjoo
Beginner
457 Views

Thank you for the answer. As you expected, the administrator does not allow me to access the directory. Is there any other ways to check whether my application scalability is limited by saturated memory bandwidth ? My application is sparse problems and use BLAS calls. In other words, you can presume that all operations are GEMM, TRSM, LU with partial pivoting. I can measure the number of function calls of those. Probably then I can approximate the memory traffic for those computation if there exist a model for those operations. Any comment for this approach ? 

Thank you.

Kyungjoo

0 Kudos
Patrick_F_Intel1
Employee
457 Views

Have you asked the administrator if he would run PCM while you run your application? I kind of doubt they would be willing to do this.

Frequently a site may have a development box (similar to the production box) on which folks can run things like PCM and your application.

Does the system have linux 'perf' installed and enabled? 'perf' is a built-in profiling capability. I guessing that this too is not accessible.

Pat

0 Kudos
Reply