问题标签 [papi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2115 浏览

performance - 如何从内核获取页面错误统计信息

如何在应用程序运行时从内核获取页面错误统计信息?那么其他事件呢,例如 SMP 节点中的 CPU 间迁移计数或上下文切换的数量?

我想为程序的各个小部分计算此类事件。

谢谢。

0 投票
1 回答
1840 浏览

c++ - 全局静态布尔指针使用 pthread 导致分段错误

pthread 编程新手,在处理 C++&C 混合代码时遇到此错误。

我所做的是在c++代码创建的线程中调用c代码。线程中使用了一个静态布尔指针is_center,当线程完成时应该释放。

但是我注意到,每次程序处理到 c 函数时,布尔指针的值都会改变,然后由于 free() 而发生分段错误。并且仅在使用 c 代码时才会出现问题。去掉c代码,多线程c++部分运行良好。

详细代码如下:

而使用parallel的函数如下(我的c代码在每个线程中调用):

最后调用我的c代码的函数:

从gdb,我得到的is_center是:

有什么建议么?提前致谢!

关于代码的一些新信息:对于 c 代码,我使用的是 PAPI 包。我编写了自己的 papi 包装器来初始化和读取系统计数器。代码如下:

0 投票
1 回答
922 浏览

upc - 我们可以使用 PAPI API 调用检测 UPC 代码吗

我想用 PAPI API 检测我的 UPC 程序,以在 UPC 程序执行期间获取有关硬件计数器的信息。

但我不断收到链接错误,例如"undefined reference to PAPI_read" undefined reference to PAPI_library_init

我给出的命令是 upcc -L/full/path/to/libpapi.a -o upcMatrxMultplction upcMatrxMultplction.o

有什么建议么 ?

PAPI 是否支持 UPC 编译器?

0 投票
2 回答
631 浏览

c - 使用 PAPI 的一些问题

你用过PAPI吗?

因为 PAPI 支持内核版本>2.6.32(perf-events),所以我选择它来测试我的代码。

为什么无论我选择什么事件代码,例如 PAPI_TOT_INS、PAPI_BR_INS 等,我都只能得到相同的数字(结果)。

我的想法:

1.My pc(uname -a): Linux xunzhang-virtual-machine 2.6.35-28-generic #49-Ubuntu SMP Tue Mar ... X86_64 GNU/Linux

我如何(命令)查看我的内核对性能事件的支持?我只是使用>2.6.32....的默认结论。

2.我只是在我的MAC中使用我的虚拟机,有这个效果吗??..

说点什么来指导/帮助我。谢谢!!

0 投票
3 回答
1823 浏览

multithreading - 如何计算对远程 NUMA 内存节点的内存访问?

在最近的 linux 分布式共享内存系统上运行的多线程应用程序中,是否有直接的方法来计算每个线程对远程(非本地)NUMA 内存节点的请求数?

我正在考虑使用 PAPI 来计算互连流量。这是要走的路吗?

在我的应用程序中,线程在其整个生命周期内都绑定到特定的内核或处理器。当应用程序开始时,内存是按页分配的,并以循环方式分布在所有可用的 NUMA 内存节点上。

谢谢您的回答。

0 投票
0 回答
162 浏览

c# - 用于分析的 C# 和 C/C++ 集成

我正在尝试对一些应用程序进行一些关于 OO 框架中低级效率的配置文件,即指令计数、缓存未命中、TLB 未命中等。到目前为止,我能够在 Java 中将Papi 分析器工具与 JNI 和 AspectJ 混合在一起进行此类测量,以获得所需的信息。

我想知道是否有人知道 C# 中的类似内容,即混合 C#、面向方面的编程 (AoP) 以及 C 和 C# 之间的某种调用接口。

我一直在谷歌搜索,发现已经有一个名为 AspectSharp 的 C# 的 AoP 相关框架,但是在 Mono 中配置和使用它似乎有点复杂(这是我用于 C# 的)。

所以总而言之,我正在寻求帮助

  • AspectSharp
  • C/C++ <=> C# 接口 (?)

提前致谢

0 投票
1 回答
2966 浏览

performance - 如何定期使用 PAPI 进行性能测量

我想使用 C 语言中的 PAPI api 分析我的应用程序的系统性能。一般结构是
-- 初始化 PAPI
-- 初始化感兴趣的
计数器 -- 启动计数器
-- 运行应用程序的主要逻辑
-- 结束计数器并读取值

我想每隔 1 秒定期读取一次计数器,而不是在应用程序结束时读取最终值。PAPI 输出是否给出程序执行结束时的聚合值,例如程序执行后 L2 缓存未命中的总数。另一个例子是在每个时间实例读取指令数,而不是程序结束时的指令总数。

0 投票
1 回答
66 浏览

content-management-system - 我需要使用 PAPI 将带有链接的页面从 MCSC 2002 复制到 Umbraco 的代码示例

我需要 .NET 中使用 PAPI 将带有链接的页面从 MCSC 2002 复制到使用 Umbraco 对象模型的 Umbraco CMS 的示例。该站点的另一个用户已经完成了它(Andy Rose - https://stackoverflow.com/a/3678533)。但我不知道如何联系他,所以任何其他帮助将不胜感激。

谢谢,伊戈尔。

0 投票
1 回答
459 浏览

c - PAPI(性能应用程序编程)不能正常工作?

我从网站上下载了 4.4 版,将其构建在我自己的目录中,并尝试编写一个小主程序,它一直给我 num_counters 为零。然后我查看了 ctests 并选择了 hwinfo.c,并从中提取了一些代码(和 testlib)并将其放入一个看起来像这样的小 main 中:

我使用以下内容构建了它:

并运行它:

只是为了见证这个输出:

测试用例 hwinfo.c:检查 PAPI_get_hardware_info 的输出。

我对正在发生的事情以及为什么这不起作用有点迷失......这是什么症状,我可以尝试解决什么问题?我的处理器是 Intel Xeon X5760,我的 uname -a 说:

0 投票
1 回答
746 浏览

performance - AMD Opteron 6172 上的 PAPI 性能计数器问题

我一直在尝试使用 AMD Opteron 6172 处理器上的性能计数器分析某些应用程序(用 C 编写),运行 Red Hat Enterprise Linux Workstation 版本 6.2(圣地亚哥)。

我正在使用 PAPI v4.1.3.0,它将 AMD 本机事件 CPU_CLK_UNHALTED 用于 PAPI_TOT_CYC(计算总周期)和 DATA_CACHE_ACCESSES 用于 PAPI_L1_DCA(计算 L1 数据缓存访问)。

我遇到的问题是,在某些情况下,缓存访问次数高于总周期数。据我了解,缓存访问不会停止 CPU,因此它应该适合总周期。此外,当将总周期除以 Opteron 6172 的时钟频率时,我得到了对执行时间的非常准确的估计,这让我认为总周期还可以,问题必须与数据缓存访问的计数有关。

我已经根据 papi 示例启动了所有内容,并且没有收到任何错误。非常感谢任何帮助或解释为什么会发生这种情况的原因,在此先感谢。

http://support.amd.com/us/Processor_TechDocs/31116.pdf

  • CPU_CLK_UNHALTED

CPU 未处于暂停状态的时钟数(由于 STPCLK 或 HLT 指令)。注意:此事件允许系统空闲时间从 IPC(或 CPI)测量中自动排除,前提是操作系统在空闲时暂停 CPU。如果操作系统进入空闲循环而不是停止,则此类计算会受到空闲循环的 IPC 的影响。

  • DATA_CACHE_ACCESSES

为加载和存储引用访问数据缓存的次数。这可能包括某些微码暂存器访问,尽管这些通常很少见。每个增量代表一个八字节的访问,尽管指令可能只访问其中的一部分。本次事件为投机事件。