欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過(guò)Docker使用香山

中國(guó)開(kāi)放指令生態(tài)RISCV聯(lián)盟 ? 來(lái)源:北京開(kāi)源芯片研究院 ? 2024-10-29 09:38 ? 次閱讀

以下文章來(lái)源于北京開(kāi)源芯片研究院,作者賈志杰、安旭

本次資源包升級(jí)內(nèi)容

升級(jí)了Docker,注意下載鏈接已更新

增加了香山仿真演示

增加了本次使用的香山工具AM、NEMU、difftest的詳細(xì)解說(shuō)

本次整合包適合以下人群使用

零基礎(chǔ)入門(mén),沒(méi)有芯片設(shè)計(jì)經(jīng)驗(yàn)的人

沒(méi)有Linux操作系統(tǒng)

不想在本地搭建運(yùn)行環(huán)境

想要一步到位,快速上手的心急派

特別說(shuō)明

整合包基于高性能開(kāi)源處理器香山制作,是香山團(tuán)隊(duì)傾情打造手把手教學(xué)。

這個(gè)整合包發(fā)布經(jīng)過(guò)“一生一芯”同學(xué)們的實(shí)戰(zhàn)檢測(cè)。歡迎加入QQ群793255484,與小伙伴們一起探討香山使用經(jīng)驗(yàn)。

資源包在通過(guò)Docker形式提供了運(yùn)行香山必須的Linux操作系統(tǒng)、香山開(kāi)發(fā)環(huán)境、香山和仿真相關(guān)工具的代碼,會(huì)大大降低自己部署環(huán)境和工具的難度,理論上比自己部署要方便。如果想自己配置,可以參看本地使用香山的文檔自行安裝。

電腦配置需求(筆者電腦配置參考)

操作系統(tǒng):Windows 11

CPU:不做強(qiáng)制性要求,但是性能越高越好

內(nèi)存:推薦32G+

整合包推薦放在固態(tài)硬盤(pán)中

通過(guò)Docker使用香山第一部分:

準(zhǔn)備工作

1. XS-Docker提供了啥、如何下載以及Docker使用學(xué)習(xí)

a. docker提供:Linux操作系統(tǒng)Ubuntu 20.04、香山開(kāi)發(fā)環(huán)境(軟件包和編譯工具鏈)、香山和仿真相關(guān)工具的代碼

b. 下載XS-Docker鏈接

提取碼:bv9t

c. Docker安裝使用幫助

(Docker的使用說(shuō)明非常多,此處是同學(xué)自己的學(xué)習(xí)記錄,歡迎大家交流分享)

2. 運(yùn)行XS-Docker的命令

注:以下命令中:#符號(hào)表示之后文字為注釋,使用時(shí)不必復(fù)制;<>符號(hào)表示變量,需要替換為用戶看到的實(shí)際值,符號(hào)本身不要保留

bc278436-90d5-11ef-a511-92fbcf53809c.png

最后一步如果成功,命令行界面會(huì)變?yōu)椋?/p>

bc49cbea-90d5-11ef-a511-92fbcf53809c.png

這樣就成功進(jìn)入docker鏡像提供的ubuntu界面。

bc5c7970-90d5-11ef-a511-92fbcf53809c.png

通過(guò)Docker使用香山第二部分:

香山仿真演示

我們?cè)?docker 鏡像里提供了預(yù)先編譯好的香山仿真模擬程序,可以用它來(lái)運(yùn)行 coremark、linux_hello 等程序。

此處我們暫不解釋各項(xiàng)參數(shù)的含義,只先熟悉一下仿真運(yùn)行程序的整個(gè)過(guò)程。

從第一部分的最后,進(jìn)入 ubuntu 界面開(kāi)始:

bc7eb7a6-90d5-11ef-a511-92fbcf53809c.pngbc9f97aa-90d5-11ef-a511-92fbcf53809c.png

運(yùn)行成功可以看到類似下圖的輸出:

bcbba710-90d5-11ef-a511-92fbcf53809c.png

如果電腦性能較差,可能在中間卡住較長(zhǎng)時(shí)間。本人電腦(i5-1240P)小于5分鐘完成。

#給大家展示下機(jī)主 CPU 狂燒的樣子,嘎嘎O(∩_∩)O

bcdecdd0-90d5-11ef-a511-92fbcf53809c.pngbcff229c-90d5-11ef-a511-92fbcf53809c.png

如果電腦性能較好,可以嘗試運(yùn)行更復(fù)雜的 linux_hello 程序。

bd1febc6-90d5-11ef-a511-92fbcf53809c.png

運(yùn)行成功可以看到如下輸出:

bd376288-90d5-11ef-a511-92fbcf53809c.pngbd5c18ee-90d5-11ef-a511-92fbcf53809c.png

通過(guò)Docker使用香山第三部分:

本次使用的香山工具解說(shuō)

1. AM

仿真時(shí)用到的 .bin 文件,是測(cè)試程序鏡像,將其輸入給 EMU 就可以模擬香山核運(yùn)行該程序的過(guò)程。

獲取 .bin 的方式有多種,最常用是通過(guò) AM 來(lái)生成。

AM 是一個(gè)裸機(jī)運(yùn)行時(shí)環(huán)境,我們可以使用 AM 來(lái)編譯在香山裸機(jī)上運(yùn)行的程序。

在 AM 的 apps 目錄下提供了一些預(yù)置的程序源代碼,比如 coremark、hello、microbench 等。下面以 coremark 為例,演示利用AM編譯生成測(cè)試程序鏡像的過(guò)程。

bd8a241e-90d5-11ef-a511-92fbcf53809c.png

riscv64-xs 架構(gòu)進(jìn)行編譯

bda21be6-90d5-11ef-a511-92fbcf53809c.png

編譯完成后,可以看到新生成的文件夾 build

其中 riscv64-xs 目錄為編譯中間文件,其他三個(gè)是編譯產(chǎn)物。

txt 是程序的反匯編文件

bin 是仿真所需的程序鏡像

bdc360a8-90d5-11ef-a511-92fbcf53809c.png

2. NEMU

NEMU 是一個(gè)解釋型的指令集模擬器,在仿真過(guò)程中它同樣執(zhí)行程序,為香山提供一個(gè)作為對(duì)照的正確結(jié)果。

bdd6bd7e-90d5-11ef-a511-92fbcf53809c.png

第一步:make riscv64-xs-ref_defconfig

bdf569c2-90d5-11ef-a511-92fbcf53809c.png

第二步:make -j

be157a50-90d5-11ef-a511-92fbcf53809c.png

完成這兩步,才是完成“給香山對(duì)照的 nemu”的編譯

編譯生成的結(jié)果,在 build 目錄的如下位置

be298888-90d5-11ef-a511-92fbcf53809c.png

3. difftest(差分測(cè)試)

difftest 是一個(gè)協(xié)同仿真框架,它在仿真運(yùn)行時(shí)負(fù)責(zé)將香山核的輸出與 NEMU 的輸出進(jìn)行對(duì)比,判斷香山是否按照指令集定義的那樣正確運(yùn)行。

difftest 是驗(yàn)證香山功能正確性的重要工具,也對(duì)我們定位 bug 和解決 bug 提供了極大幫助。

difftest 與香山代碼有較高的耦合,目前是作為一個(gè)子模塊放在香山目錄下,在編譯仿真程序 emu 時(shí)將自動(dòng)使用。

在仿真運(yùn)行(執(zhí)行 emu 時(shí)),通過(guò) --diff 參數(shù)指定 nemu 來(lái)開(kāi)啟對(duì)比功能,如果不需要對(duì)比可以使用 --no-diff 關(guān)閉該功能,這時(shí)將只進(jìn)行香山核的仿真。

4. 編譯香山核的仿真程序 EMU

有了前面部分的基礎(chǔ),這里我們嘗試自行編譯前面仿真演示中使用的香山仿真程序EMU。

這一過(guò)程中使用 mill 將香山的 chisel 語(yǔ)言代碼編譯為 Verilog 語(yǔ)言代碼,然后通過(guò) verilator 將 Verilog 代碼編譯為 c++ 語(yǔ)言的仿真模擬程序。

這些步驟已經(jīng)在香山的 Makefile 里預(yù)先配置好了,我們可以通過(guò)如下命令直接編譯

be47f296-90d5-11ef-a511-92fbcf53809c.png

解釋參數(shù)

emu,表示編譯預(yù)設(shè)為 emu,目標(biāo)是編譯仿真程序 EMU。香山還有生成可綜合 Verilog 的預(yù)設(shè),具體可見(jiàn)Makefile。

-j32 ,是 make 編譯命令的參數(shù),表示編譯時(shí)使用 32 個(gè)線程。

后面大寫(xiě)的參數(shù)是對(duì)EMU的設(shè)置,其中:

CONFIG 指定香山配置,MinimalConfig 是簡(jiǎn)化版香山配置,為雙發(fā)射,其余內(nèi)部參數(shù)也相應(yīng)縮減;DefaultConfig 是完整版香山配置,為6發(fā)射,需要的編譯時(shí)間較長(zhǎng),并且對(duì)機(jī)器性能有較高要求。不指定 CONFIG 時(shí)默認(rèn)為 DefaultConfig 配置。

EMU_THREADS 指定之后運(yùn)行 EMU 時(shí)可用到的線程

EMU_TRACE=1 指定之后運(yùn)行 EMU 時(shí)候可以打印波形

編譯 MinimalConfig 至少需要 40GB 內(nèi)存,編譯 DefaultConfig 則推薦 80GB 內(nèi)存以上。

這一步時(shí)間會(huì)比較久,需要耐心等待,生成結(jié)束后,可以在 ./build/ 目錄下看到一個(gè)名為 emu 的仿真程序。

(如果你已經(jīng)做到這里了,可以在 gitlink 的 howtouseissue 提交截圖獲得獎(jiǎng)勵(lì)~)

利用 emu 仿真程序,可以讓香山核運(yùn)行指定的測(cè)試程序,進(jìn)而驗(yàn)證功能或者測(cè)試性能。

emu 的基本用法是:

be70885a-90d5-11ef-a511-92fbcf53809c.png

其中:

-i 指定測(cè)試程序鏡像

--diff 指定用于給 difftest 提供對(duì)照的 nemu 動(dòng)態(tài)鏈接庫(kù)

2> 是 shell 操作,把 std error 的數(shù)據(jù)(性能計(jì)數(shù)器的數(shù)據(jù))打印到文件,之后可以通過(guò)該文件查看性能計(jì)數(shù)器的結(jié)果。這樣避免性能計(jì)數(shù)器結(jié)果和emu執(zhí)行結(jié)果混在一起難以觀察。

emu 還可以打印出波形

可以使用 --dump-wave 參數(shù)打開(kāi)波形,并使用 -b 和 -e 參數(shù)設(shè)置生成波形的開(kāi)始和結(jié)束周期,例如想要生成 10000 ~ 11000 周期的波形,可以使用如下命令:

be8a2e86-90d5-11ef-a511-92fbcf53809c.png

其中 -b 和 -e 的默認(rèn)值為 0,注意僅當(dāng) -e 參數(shù)大于 -b 時(shí)才會(huì)真正記錄波形;波形文件將會(huì)生成在 ./build/ 目錄下,波形格式默認(rèn)為 vcd。

emu 的更多功能可以使用 help 查看

bea52b46-90d5-11ef-a511-92fbcf53809c.png

歡迎大家來(lái)開(kāi)源芯片社區(qū)查看更多香山使用文檔。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19404

    瀏覽量

    231071
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6889

    瀏覽量

    123704
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3398

    瀏覽量

    42687
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    696

    瀏覽量

    22098
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    11949

原文標(biāo)題:如何通過(guò)Docker使用香山

文章出處:【微信號(hào):中國(guó)開(kāi)放指令生態(tài)RISCV聯(lián)盟,微信公眾號(hào):中國(guó)開(kāi)放指令生態(tài)RISCV聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如意香山筆記本軟件適配工作穩(wěn)步推進(jìn),成功運(yùn)行多款Linux發(fā)行版及國(guó)產(chǎn)辦公套件

    工作進(jìn)展順利,并有可能最快在下周官宣。今天,我們高興地宣布,如意香山本上 Debian 操作系統(tǒng)的適配也已經(jīng)初步完成,能夠穩(wěn)定地運(yùn)行 WPS 等國(guó)產(chǎn)辦公套件(通過(guò)二進(jìn)制翻譯的形式)。如意香山本的軟件生態(tài)
    發(fā)表于 09-02 11:33

    Docker是什么?

    為什么是Docker?盡管現(xiàn)在的Docker已經(jīng)風(fēng)靡全球,但還是有很多開(kāi)發(fā)者(特別是嵌入式開(kāi)發(fā)者)對(duì)Docker認(rèn)識(shí)還是僅僅停留在它的服務(wù)器應(yīng)用上面。殊不知,Docker已經(jīng)是微軟Az
    發(fā)表于 10-28 07:11

    香山是什么?“香山” 高性能開(kāi)源 RISC-V 處理器項(xiàng)目介紹

    修改歷史均在 Git 提交記錄中可見(jiàn)。香山處理器的物理設(shè)計(jì)流程主要由我們?cè)邬i城實(shí)驗(yàn)室的后端與 SoC 工程師團(tuán)隊(duì)完成。我們希望通過(guò)持續(xù)不斷的優(yōu)化與流片驗(yàn)證,逐步提高香山處理器的 PPA 水平,讓
    發(fā)表于 04-07 14:20

    docker基礎(chǔ)知識(shí)和使用bmnnsdk時(shí)的docker常用命令

    的物理機(jī)上運(yùn)行一樣。有了 Docker,就不用擔(dān)心環(huán)境問(wèn)題。 1.2 image文件與容器container Docker 把應(yīng)用程序及其依賴,打包在 image 文件里面。只有通過(guò)這個(gè)文件,才能
    發(fā)表于 09-18 07:59

    Docker監(jiān)控實(shí)戰(zhàn)分析

    Docker 優(yōu)勢(shì) 那為什么 Docker 越來(lái)越火呢?一談起 Docker 總是會(huì)跟著讓人聯(lián)想到輕量這個(gè)詞,甚至?xí)幸环N通過(guò) Docker
    發(fā)表于 10-13 17:05 ?2次下載
    <b class='flag-5'>Docker</b>監(jiān)控實(shí)戰(zhàn)分析

    淺析Docker鏡像本地存儲(chǔ)機(jī)制及容器啟動(dòng)原理

    Docker 鏡像不是一個(gè)單一的文件,而是有多層構(gòu)成。我們可通過(guò) docker images 獲取本地的鏡像列表及對(duì)應(yīng)的元信息, 接著可通過(guò)dock
    發(fā)表于 10-19 14:17 ?2543次閱讀

    Docker—簡(jiǎn)介與鏡像用法

    阿里云官方鏡像站: ??https://developer.aliyun.com/mirror/?utm_content=g_1000303593?? ? 一、容器簡(jiǎn)介 Docker是管理容器的引擎
    發(fā)表于 11-25 16:28 ?540次閱讀
    <b class='flag-5'>Docker</b>—簡(jiǎn)介與鏡像用法

    Docker鏡像的詳細(xì)講解

    本文是對(duì) Docker 鏡像的詳細(xì)講解,講解了如何安裝 Docker、配置 Docker 鏡像加速以及操作 Docker 鏡像。希望對(duì)大家有所幫助~
    的頭像 發(fā)表于 08-02 10:00 ?2234次閱讀

    docker 搜索鏡像,docker查看鏡像詳細(xì)信息(docker下載鏡像命令)

    Docker Hub是集中管理的Docker鏡像注冊(cè)中心。通過(guò)Docker 用戶可以在注冊(cè)中心搜索、下載和使用CLI命令行工具中的鏡像。以下是常用的
    的頭像 發(fā)表于 07-19 09:46 ?1908次閱讀

    linux關(guān)閉docker的命令

    在 Linux 系統(tǒng)中,關(guān)閉 Docker 的操作可以通過(guò)以下多種方式進(jìn)行。本文將詳細(xì)講解每一種方式,并提供示例代碼和命令,以幫助讀者更好地理解和實(shí)踐。 使用 docker 命令 最常用的方法
    的頭像 發(fā)表于 11-23 09:39 ?2932次閱讀

    如何啟動(dòng)本機(jī)docker服務(wù)

    在本機(jī)上安裝Docker。Docker支持多個(gè)操作系統(tǒng),包括Linux、Windows和Mac OS等。根據(jù)你使用的操作系統(tǒng),選擇對(duì)應(yīng)的安裝方式進(jìn)行安裝。 對(duì)于Linux系統(tǒng),可以通過(guò)以下命令來(lái)安
    的頭像 發(fā)表于 11-23 09:43 ?2252次閱讀

    docker核心組件有哪些

    Docker 是一種開(kāi)源的容器化平臺(tái),它能夠?qū)崿F(xiàn)將應(yīng)用程序及其依賴項(xiàng)打包到一個(gè)可移植的容器中,從而實(shí)現(xiàn)快速、可重復(fù)、可擴(kuò)展的部署和管理。Docker 的核心組件包括 Docker Engine
    的頭像 發(fā)表于 11-23 09:47 ?2016次閱讀

    docker內(nèi)存不足的解決辦法

    內(nèi)存和CPU。通過(guò)這個(gè)命令,我們可以發(fā)現(xiàn)哪個(gè)容器占用了大量的內(nèi)存資源。 調(diào)整Docker守護(hù)進(jìn)程的內(nèi)存限制: Docker守護(hù)進(jìn)程本身也會(huì)消耗一些內(nèi)存資源。我們可以通過(guò)修改
    的頭像 發(fā)表于 11-23 10:41 ?2767次閱讀

    精通Docker網(wǎng)絡(luò):Bridge驅(qū)動(dòng)深度解析

    除了使用 docker0 網(wǎng)橋外,用戶還可以使用自定義的網(wǎng)橋,然后通過(guò) --bridge=BRIDGE 參數(shù)傳遞給 docker daemon。
    的頭像 發(fā)表于 03-31 15:58 ?1531次閱讀
    精通<b class='flag-5'>Docker</b>網(wǎng)絡(luò):Bridge驅(qū)動(dòng)深度解析

    docker通過(guò)中間鏡像加速部署

    使用 docker 打包鏡像的時(shí)候, 每次耗費(fèi)時(shí)間最多的就是 docker build 的過(guò)程. 特別是對(duì)于前端工程的打包, 有時(shí)候下載依賴包的時(shí)間就要 10 幾分鐘, 這就導(dǎo)致發(fā)布版本的效率極低.
    的頭像 發(fā)表于 01-06 12:39 ?126次閱讀