X-Mem内存基准测试工具

联合创作 · 2023-10-01 20:18

X-Mem 是可扩展的内存基准测试工具,它可以用于研究内存结构吞吐量、延迟和功率。

特性

灵活性:易于重新配置,以适应不同的测试组合。

  • 工作集以4KB的增量递增,从而可以缓存到主内存级别的基准测试。
  • NUMA支持。
  • 多线程支持。
  • 大页面支持。

可扩展性:通过C ++ 11面向对象原理的模块化。

  • 支持快速添加新的基准内核例程。
  • 例如:流三合会算法,错误共享的影响等,可能需要进行很小的更改。

跨平台:目前已针对两个OS和体系结构系列实施。

  • GNU / Linux:具有AVX扩展的Intel x86(32位),x86-64和x86-64,带有NEON的ARM(32位),ARM(32位),ARMv8(64位),至强融核(英特尔麦克风,骑士角)。经过Ubuntu 12.04、14.04和CentOS 7的专门测试。
  • Windows:具有AVX扩展名的Intel x86(32位),x86-64和x86-64。经过Windows 8.1和Server 2012 R2专门测试。
  • Windows上的ARM可以使用VC ++进行编译,但由于缺少对桌面/命令行ARM应用程序的库支持,因此无法链接。将来可能会解决。
  • 旨在允许直接移植到其他操作系统和ISA。

内存吞吐量:

  • 精确测量所有级别的缓存和内存的持续内存吞吐量。
  • 常规访问方式:前进和后退顺序以及2、4、8和16个字的跨度。
  • 随机访问模式。
  • 读和写。
  • 32、64、128、256、512位宽度的存储指令(适用于每种体系结构)。

内存延迟:

  • 精确测量所有级别的缓存和内存的往返内存延迟。
  • 通过使用多线程负载生成来加载和卸载延迟。

记忆能力:

  • 通过最终用户可以实现的简单界面来支持自定义电源仪表。
  • 可以通过Windows性能计数器API中公开的自定义驱动程序收集DRAM电源。

说明文件:

  • 广泛的Doxygen源代码注释,PDF手册,HTML。

包含的扩展名(在 src/include/ext 和 src/ext 目录下):

  • 加载延迟基准测试变体,其中加载延迟作为内存指令之间的nop指令插入。
    • 在适用的情况下,使用前向顺序读取模式对32位,64位,128位,256位,512位负载块大小进行此操作。
  • 其他扩展程序可能会在将来发布。
浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报