英语法语西班牙语

Ad


OnWorks 网站图标

likwid-perfctr - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 likwid-perfctr

这是 likwid-perfctr 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


likwid-perfctr - 在 x86 cpu 上配置和读出硬件性能计数器

概要


利克维德-佩尔夫卡特 [-vhHVmaeiMoO] [-c/-C [-g or
[-t [-S [-s [-o
]

商品描述


利克维德-佩尔夫卡特 是一个轻量级的命令行应用程序,用于配置和读取
支持的 x86 处理器上的硬件性能监控数据。 它可以测量为
包装器而无需更改测量的应用程序或在其中使用标记 API 函数
代码,这将打开和关闭计数器。 有一些有用的预配置组
事件集和派生指标。 此外,可以使用自定义测量任意事件
事件集。 标记 API 可以测量多个命名区域。 结果累积在
多次调用。 支持以下 x86 处理器:

· 英特尔 核心 2: 所有变体。 计数器: PMC[0-1], 固定[0-2]

· 英特尔 尼哈勒姆: 柜台: PMC[0-3], 固定[0-2], 华大[0-7]

· 英特尔 尼哈莱姆 EX: 柜台: PMC[0-3], 固定[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], 白框[0-5], UBOX0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· 英特尔 威斯特米尔:
柜台: PMC[0-3], 固定[0-2], 华大[0-7]

· 英特尔 韦斯特米尔 EX: 柜台: PMC[0-3], 固定[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], 白框[0-5], UBOX0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· 英特尔 桥: 完整的 RAPL 支持。 计数器: PMC[0-3], 固定[0-2], 电源[0-3]

· 英特尔 EP: 部分支持非核心,完全支持 RAPL。 计数器:
PMC[0-3], 固定[0-2], 电源[0-3]。 MBOX[0-3]C[0-3]

· 英特尔 常春藤 桥: 完整的 RAPL 支持。 计数器: PMC[0-3], 固定[0-2], 电源[0-3]

· 英特尔 常春藤 EP: 部分支持非核心,完全支持 RAPL。 计数器:
PMC[0-3], 固定[0-2], 电源[0-3], CBOX[0-9]C[0-3], MBOX[0-3]C[0-3], MBOX[0-3]修复

· 英特尔 哈斯维尔: 完整的 RAPL 支持。 计数器: PMC[0-3], 固定[0-2], 电源[0-3]

· 英特尔 Haswell的 EP: 没有非核心支持,完全支持 RAPL。 计数器: PMC[0-3],
固定[0-2], 电源[0-3]

· 英特尔 原子 西尔弗蒙特: 完整的 RAPL 支持。 计数器: PMC[0-1], 固定[0-2], 电源[0-1]

· 英特尔 奔腾 M: Banias 和 Dothan 变种。 计数器: PMC[0-1]

· 英特尔 P6: 在 P3 上测试。

· AMD公司 K8: 所有变体。 计数器: PMC[0-3]

· AMD公司 K10: 基于巴塞罗那、上海、伊斯坦布尔、MagnyCours 的处理器。 计数器:
PMC[0-3]

配置


-v 将版本信息打印到标准输出,然后退出。

-h 将帮助消息打印到标准输出,然后退出。

-H 打印组帮助消息(与 -g 开关一起使用)。

-V 执行期间的详细输出以进行调试。

-m 以标记 API 模式运行

-a 打印当前处理器的可用性能组。

-e 打印当前处理器的可用计数器和性能事件。

-o
将所有输出存储到文件而不是标准输出。 对于文件名如下
支持占位符:%j 表示 PBS_JOBID,%r 表示 MPI RANK(仅 Intel MPI at
时刻),%h 主机名和 %p 用于进程 pid。 占位符必须是
由下划线分隔,例如 -o test_%h_%p。 您必须指定一个后缀
文档名称。 对于 txt,输出将按原样打印到文件中。 其他后缀触发
对输出进行过滤。 可用的过滤器是 csv(逗号分隔值)和 xml
在那一刻。

-O 不要为结果打印表格,而是使用易于解析的 CSV 文件。

-i 打印有关处理器和英特尔性能监控的 cpuid 信息
功能,然后退出。

-c
指定处理器的数字列表。 该列表可能包含多个项目,
用逗号和范围分隔。 例如 0,3,9-11。

-C
指定处理器的数字列表。 该列表可能包含多个项目,
用逗号和范围分隔。 例如 0,3,9-11。 此变体也将固定
线程到内核。 也可以使用逻辑编号。

-g <performance 群> or <performance 活动 字符串>
指定要衡量的绩效组。 这可以是标签输出之一
-a 标志。 也可以通过逗号分隔的列表指定自定义事件集
事件。 每个事件的格式为 eventId:register,寄存器为 XNUMX
架构支持的性能计数器寄存器。

-t <frequency of 测量值>
时间解析测量的时间线模式,可能的后缀“s”和“ms”
100 毫秒。 输出格式如下:

<Result 线程0> <Result 线程1> ...

-S
持续时间以秒为单位的听诊器模式。 可用于测量应用程序
从外部。


计划 利克维德-佩尔夫卡特 对处理器而不是单个应用程序的措施是必要的
以确保进程和线程固定到专用资源。 你可以要么别针
自己的应用程序或使用内置的引脚功能。

1.作为性能组的包装器:

利克维德-佩尔夫卡特 -C 0-2 -g TLB ./缓存台 -n 2 -l 1048576 -i 100 -t 资讯

父进程固定到处理器 0,线程 0 固定到处理器 1,线程 1 固定到
处理器 2.

2. 作为在 AMD 上设置自定义事件的包装器:

利克维德-佩尔夫卡特 -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3 ./我的应用程序

指定该事件 INSTRUCTIONS_RETIRED_SSE 在柜台上测量 PMC0
事件 CPU_CLOCKS_UNHALTED 在柜台 PMC3。 可以计算运行时间
所有线程基于 CPU_CLOCKS_UNHALTED 事件。 如果你想要这个,你必须包括
此事件在您的自定义事件字符串中,如上所示。

3. 作为在英特尔上设置自定义事件的包装器:

利克维德-佩尔夫卡特 -C 0 -g INSTR_RETIRED_ANY:FIXC0,CPU_CLK_UNHALTED_CORE:FIXC1 ./我的应用程序

在 Intel 处理器上,固定事件是在专用计数器上测量的。 这些是
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE。CPU_CLK_UNHALTED_REF 如果你配置
这些固定的计数器, 利克维德-佩尔夫卡特 将为您计算运行时和 CPI 指标
运行。

4. 使用标记 API 仅测量您的代码的一部分(这可以与两者一起使用)
组或自定义事件集):

利克维德-佩尔夫卡特 -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3
./缓存台

您必须将代码链接到 liblikwid.a/.so 并使用标记 API 调用。 这
以下代码片段显示了必要的调用:

#包括

/* 只有一个线程调用 init */
如果(线程 ID == 0)
{
likwid_markerInit();
}
/* 如果你想测量一个线程应用程序
* 你必须调用 likwid_markerThreadInit() 来获取
* 准备工作,以 OpenMP 为例 */
#pragma omp 并行
{
likwid_markerThreadInit();
}
障碍;
likwid_markerStartRegion("基准");
/* 你要测量的代码在这里。*/

likwid_markerStopRegion("基准");
障碍;
/* 同样只有一个线程可以关闭标记 */
如果(线程 ID == 0)
{
likwid_markerClose();
}

5.在时间线模式下使用likwid:

利克维德-佩尔夫卡特 -c 0-3 -g FLOPS_DP -t 300ms ./我的应用程序 > 输出.txt

这将每 300 毫秒读取一次物理内核 0-3 上的计数器并将结果写入
输出.txt 对于时间线模式,有一个前端应用程序 likwid-scope,它使
选定事件的现场绘图。 有关更多代码示例,请查看 likwid WIKI
页。 这些过程是 不能 固定到 CPU 0-3。

6.在听诊器模式下使用likwid:

利克维德-佩尔夫卡特 -c 0-3 -g FLOPS_DP -S 2s

这将启动计数器并在 2 秒后在物理内核 0-3 上读出它们并写入
结果到标准输出。 这些过程是 不能 固定到 CPU 0-3。

使用 onworks.net 服务在线使用 likwid-perfctr


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad