GEM5學習(3):如何快速創建一個組件

通過一個圖并行計算的測試用例,來學習如何快速構建一個目標組件

其核心思想是通過繼承現有組件再拓展自定義參數

創建腳本

如何創建腳本,具體還可以看官方說明:gem5: Adding cache to configuration script

mkdir configs/tutorial/part1/touch configs/tutorial/part1/components.py

配置腳本中,實現了對cache大小,核數的配置。后面可以通過調整參數值進行結果對比。腳本內容如下:

描述的是一個ARM 架構,單核,主頻為3Ghz ,支持兩級cache 。運行了一個?并行圖算法基準測試套件,一共跑10次,每次輸出時間。

from gem5.components.boards.simple_board import SimpleBoard
from gem5.components.processors.simple_processor import SimpleProcessor
from gem5.components.cachehierarchies.ruby.mesi_two_level_cache_hierarchy import (MESITwoLevelCacheHierarchy,
)
from gem5.components.memory.single_channel import SingleChannelDDR4_2400
from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA
from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator
cache_hierarchy = MESITwoLevelCacheHierarchy(l1d_size="16KiB",l1d_assoc=8,l1i_size="16KiB",l1i_assoc=8,l2_size="256KiB",l2_assoc=16,num_l2_banks=1,
)
memory = SingleChannelDDR4_2400()
processor = SimpleProcessor(cpu_type=CPUTypes.TIMING, isa=ISA.ARM, num_cores=1)
board = SimpleBoard(clk_freq="3GHz",processor=processor,memory=memory,cache_hierarchy=cache_hierarchy,
)
board.set_workload(obtain_resource("arm-gapbs-bfs-run"))
simulator = Simulator(board=board)
simulator.run()

運行腳本

運行腳本

./build/ALL/gem5.opt configs/tutorial/part1/components.py

其平均耗時為 0.001 秒, 輸出結果如下:

修改參數

修改CPU主頻為6Ghz ,其平均時間由之前的0.001 ,變成了現在的0.0005

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95225.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據血緣中的圖數據庫如何選擇

Neo4j 和 ArangoDB 都是非常優秀的圖數據庫,但它們的設計哲學、核心架構和適用場景有顯著的區別。 簡單來說,核心區別在于: Neo4j 是原生圖數據庫,專為處理圖數據和圖查詢而設計和優化。ArangoDB 是多模型數據庫,同時支…

第27章學習筆記|學無止境:從“會用命令”到“會做工具”的進階路線

第27章學習筆記|學無止境:從“會用命令”到“會做工具”的進階路線 你已經能用 PowerShell 解決很多日常問題了。接下來最重要的,就是把零散命令升級為可復用的工具,并在真實場景中不斷打磨。 一、為什么下一步是“工具化(Toolmaking)” 當任務開始“重復、多人用、可移…

C++編程語言:標準庫:第37章——正則表達式(Bjarne Stroustrup)

第 37章 正則表達式(Regular Expressions) 目錄 37.1 正則表達式(規范表達式)(Regular Expressions) 37.1.1 正則表達式相關符號(Regular Express Notation) 37.2 regex 37.2.1 匹配結果(Match Results) 37.2.2 格式化(Formatting) 37.3 正則表達式函數 37.3.1 …

sciml包scixgboost函數發布,輕松完成機器學習xgboost分析

Xgboost是Boosting算法的其中一種,Boosting算法的思想是將許多弱分類器集成在一起,形成一個強分類器。因為Xgboost是一種提升樹模型,所以它是將許多樹模型集成在一起,形成一個很強的分類器。 我目前整合了多個R包,編寫…

Ubuntu中配置JMmeter工具

1、檢查是否已安裝Java 環境java -version若未安裝,執行以下命令安裝 OpenJDKsudo apt update sudo apt install openjdk-11-jdk # 或 openjdk-17-jdk2、用wget直接下載JMeter壓縮包wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz將下載的…

LeetCode 925.長按鍵入

你的朋友正在使用鍵盤輸入他的名字 name。偶爾,在鍵入字符 c 時,按鍵可能會被長按,而字符可能被輸入 1 次或多次。 你將會檢查鍵盤輸入的字符 typed。如果它對應的可能是你的朋友的名字(其中一些字符可能被長按)&#…

9.3 模擬

lc190 顛倒二進制ret (ret << 1) (n >> i & 1);class Solution { public:uint32_t reverseBits(uint32_t n) {uint32_t ret 0;for (int i 0; i < 32; i)ret (ret << 1) (n >> i & 1);return ret;} };lc14 flag checkclass Solution {…

esp32小智ai對話機器人

ESP-IDF 環境搭建與問題解決 下載與安裝 ESP-IDF 官方下載地址&#xff1a;https://dl.espressif.com/dl/esp-idf建議使用穩定版本&#xff0c;避免開發版可能存在的兼容性問題 中文編碼問題解決方案 $env:PYTHONIOENCODING "utf-8" $env:PYTHONUTF8 "1&q…

11.類與對象

目錄 1. 創建類與對象示例 1.1 __init__ 初始化器: 1.2 __new__構造器 1.3 什么時候需要重寫 __new__? 1.4 init和new對比 2. 屬性 2.1 實例屬性 2.2 類屬性 3. 作用域命名約定 3.1 非公共屬性 3.2 公共屬性 3.3 名稱修飾 3.4 一眼看懂三種“可見性” 4. 方法 …

【js】Promise.try VS try-catch

前言JavaScript 正為 Promise 添加一個新的方法&#xff0c;使得處理異步函數更加清晰和安全。Promise.try 允許將任何函數包裝在 Promise 中&#xff0c;無論它是否異步。使用 Promise.try 可避免傳統 try/catch 結構與 Promise 鏈的混合使用&#xff0c;代碼更簡潔。try-catc…

MySQL-表的約束(上)

表的約束在 MySQL 中&#xff0c;表的約束&#xff08;Constraints&#xff09;用于確保數據庫中數據的完整性和一致性。它們定義了對表中數據的規則和限制&#xff0c;防止無效或不一致的數據被插入、更新或刪除。常見的 MySQL 表約束包括主鍵約束&#xff08;PRIMARY KEY&…

Frida + FART 聯手:解鎖更強大的 Android 脫殼新姿勢

版權歸作者所有&#xff0c;如有轉發&#xff0c;請注明文章出處&#xff1a;https://cyrus-studio.github.io/blog/ Frida FART 聯手能帶來什么提升&#xff1f; 增強 FART 的脫殼能力&#xff1a;解決對抗 FART 的殼、動態加載的 dex 的 dump 和修復&#xff1b; 控制 FART…

TLS/SSL(傳輸層安全協議)

文章目錄一、核心概念二、為什么需要 TLS/SSL&#xff1f;三、工作原理與詳細流程握手步驟詳解&#xff1a;1.ClientHello & ServerHello&#xff1a;2.服務器認證 (Certificate, ServerKeyExchange)&#xff1a;3.客戶端響應 (ClientKeyExchange, Finished)&#xff1a;4.…

什么是 AWS 和 GCE ?

AWS 和 GCE 是兩種不同廠商提供的云計算服務&#xff0c;主要區別在于提供商和產品定位。AWS全稱&#xff1a;Amazon Web Services提供商&#xff1a;亞馬遜 (Amazon)簡介&#xff1a;全球最大的云計算平臺之一&#xff0c;提供完整的云服務&#xff0c;包括&#xff1a; 計算&…

水電站電動機絕緣安全 “不掉線”!在線監測方案筑牢發電保障

對水電站而言&#xff0c;消防水泵、深井水泵等輔助電動機是安全運行的 “關鍵配角”—— 它們常年處于備用狀態&#xff0c;又受潮濕環境影響&#xff0c;絕緣值降低易引發燒毀故障&#xff0c;而傳統定期檢測難以及時捕捉絕緣劣化趨勢&#xff0c;一旦啟動時出問題&#xff0…

【Datawhale之Happy-LLM】3種常見的decoder-only模型——Github最火大模型原理與實踐教程task07

Task07&#xff1a;第三章 預訓練語言模型PLM &#xff08;這是筆者自己的學習記錄&#xff0c;僅供參考&#xff0c;原始學習鏈接&#xff0c;愿 LLM 越來越好?&#xff09; 本篇介紹3種很典的decoder-only的PLM&#xff08;GPT、LlaMA、GLM&#xff09;。目前火&#x1f52…

【卷積神經網絡】卷積神經網絡的三大核心優勢:稀疏交互、參數共享與等變表示

1. 引言 卷積神經網絡(CNN)之所以在計算機視覺、語音識別等領域取得突破性進展,并非偶然。相比傳統的全連接神經網絡,CNN通過三個重要的思想來幫助改進機器學習系統:稀疏交互(sparse interactions)、參數共享(parameter sharing)、等變表示(equivariant representations)。…

網絡共享協議

網絡共享協議是用于在計算機網絡中實現資源共享和數據傳輸的規則或標準。常見的共享協議包括文件共享、打印機共享、互聯網連接共享等。SMB&#xff08;Server Message Block 服務器消息塊&#xff09;SMB是一種網絡共享協議&#xff0c;主要用于局域網中實現不同設備之間的文件…

MD5加密算法詳解與實現

MD5加密算法詳解與實現 什么是MD5加密&#xff1f; MD5&#xff08;Message-Digest Algorithm 5&#xff09;是一種廣泛使用的密碼散列函數&#xff0c;可以產生一個128位&#xff08;16字節&#xff09;的哈希值&#xff0c;通常用32位的十六進制數表示。MD5由Ronald Rivest在…

(nice!!!)(LeetCode 每日一題) 3025. 人員站位的方案數 I (排序)

題目&#xff1a;3025. 人員站位的方案數 I 思路&#xff1a;排序&#xff0c;時間復雜度0(n^2)。 將數組points里的元素先按橫坐標x升序排序&#xff0c;縱坐標y降序排序。第一層for循環枚舉左上角的點&#xff0c;第二層for循環枚舉右下角的點。細節看注釋。 C版本&#xff…