Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading PAPI_继承_所有和RAPL事件可以一起工作吗?_Multithreading_Performancecounter_Energy_Papi - Fatal编程技术网

Multithreading PAPI_继承_所有和RAPL事件可以一起工作吗?

Multithreading PAPI_继承_所有和RAPL事件可以一起工作吗?,multithreading,performancecounter,energy,papi,Multithreading,Performancecounter,Energy,Papi,我使用PAPI在skylake处理器上收集性能和能量信息。目标应用程序是多线程的,我希望在所有正在运行的线程之间聚合统计信息。如果我只跟踪非RAPL事件,这很好,但是如果我尝试跟踪RAPL和CPU计数器,CPU计数器不会聚合(即,它们只对应于一个线程) 一切似乎都正常。我检查了PAPI呼叫的所有错误代码,一切都PAPI\u OK 我对组件0(CPU)的事件集应用PAPI\u INHERIT\u ALL。对RAPL组件执行相同操作失败,因此我不这样做 下面的输出是针对我的测试程序的两次运行。唯一的

我使用PAPI在skylake处理器上收集性能和能量信息。目标应用程序是多线程的,我希望在所有正在运行的线程之间聚合统计信息。如果我只跟踪非RAPL事件,这很好,但是如果我尝试跟踪RAPL和CPU计数器,CPU计数器不会聚合(即,它们只对应于一个线程)

一切似乎都正常。我检查了PAPI呼叫的所有错误代码,一切都
PAPI\u OK

我对组件0(CPU)的事件集应用
PAPI\u INHERIT\u ALL
。对RAPL组件执行相同操作失败,因此我不这样做

下面的输出是针对我的测试程序的两次运行。唯一的区别是第二次运行包括
rapl:::PACKAGE\u ENERGY:PACKAGE0
。如果没有rapl事件,循环和指令计数会随着线程计数而缩放。如果没有rapl事件,循环和指令计数就不会随着线程计数而缩放。但是,能量计数器显示,包能量一直在缩放

我在papi-5.7.0下运行

uname-a

Linux 80b3989af663 4.4.0-134-generic #160-Ubuntu SMP Wed Aug 15 14:58:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
没有一件惊心动魄的事

WallTime | threads | PAPI_TOT_CYC | PAPI_TOT_INS 
-------------------------------------------------
2.0      | 1.0     | 2.997G       | 12.945G      
2.0      | 2.0     | 5.995G       | 25.888G      
2.0      | 3.0     | 8.992G       | 38.835G      
2.0      | 4.0     | 11.989G      | 51.778G
以惊人的速度

 WallTime | threads | PAPI_TOT_CYC | PAPI_TOT_INS | rapl:::PACKAGE_ENERGY:PACKAGE0 
-----------------------------------------------------------------------------------
 1.999    | 1.0     | 2.997G       | 12.944G      | 10.643G                        
 2.0      | 2.0     | 2.997G       | 12.945G      | 12.896G                        
 2.0      | 3.0     | 2.997G       | 12.92G       | 16.109G                        
 2.0      | 4.0     | 2.997G       | 12.946G      | 19.471G