X-Mem內(nèi)存基準測試工具
X-Mem 是可擴展的內(nèi)存基準測試工具,它可以用于研究內(nèi)存結(jié)構(gòu)吞吐量、延遲和功率。
特性
靈活性:易于重新配置,以適應不同的測試組合。
- 工作集以4KB的增量遞增,從而可以緩存到主內(nèi)存級別的基準測試。
- NUMA支持。
- 多線程支持。
- 大頁面支持。
可擴展性:通過C ++ 11面向?qū)ο笤淼哪K化。
- 支持快速添加新的基準內(nèi)核例程。
- 例如:流三合會算法,錯誤共享的影響等,可能需要進行很小的更改。
跨平臺:目前已針對兩個OS和體系結(jié)構(gòu)系列實施。
- GNU / Linux:具有AVX擴展的Intel x86(32位),x86-64和x86-64,帶有NEON的ARM(32位),ARM(32位),ARMv8(64位),至強融核(英特爾麥克風,騎士角)。經(jīng)過Ubuntu 12.04、14.04和CentOS 7的專門測試。
- Windows:具有AVX擴展名的Intel x86(32位),x86-64和x86-64。經(jīng)過Windows 8.1和Server 2012 R2專門測試。
- Windows上的ARM可以使用VC ++進行編譯,但由于缺少對桌面/命令行ARM應用程序的庫支持,因此無法鏈接。將來可能會解決。
- 旨在允許直接移植到其他操作系統(tǒng)和ISA。
內(nèi)存吞吐量:
- 精確測量所有級別的緩存和內(nèi)存的持續(xù)內(nèi)存吞吐量。
- 常規(guī)訪問方式:前進和后退順序以及2、4、8和16個字的跨度。
- 隨機訪問模式。
- 讀和寫。
- 32、64、128、256、512位寬度的存儲指令(適用于每種體系結(jié)構(gòu))。
內(nèi)存延遲:
- 精確測量所有級別的緩存和內(nèi)存的往返內(nèi)存延遲。
- 通過使用多線程負載生成來加載和卸載延遲。
記憶能力:
- 通過最終用戶可以實現(xiàn)的簡單界面來支持自定義電源儀表。
- 可以通過Windows性能計數(shù)器API中公開的自定義驅(qū)動程序收集DRAM電源。
說明文件:
- 廣泛的Doxygen源代碼注釋,PDF手冊,HTML。
包含的擴展名(在 src/include/ext 和 src/ext 目錄下):
- 加載延遲基準測試變體,其中加載延遲作為內(nèi)存指令之間的nop指令插入。
- 在適用的情況下,使用前向順序讀取模式對32位,64位,128位,256位,512位負載塊大小進行此操作。
- 其他擴展程序可能會在將來發(fā)布。
評論
圖片
表情
