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