色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【試用報告】龍芯先鋒板:CPU性能測試—CoreMark和計算質數

電子發燒友論壇 ? 來源:未知 ? 2023-02-21 16:35 ? 次閱讀

一、CoreMark簡介

什么是CoreMark?

來自CoreMark首頁的解釋是:

CoreMark is a simple, yet sophisticated benchmark that is designed specifically to test the functionality of a processor core. Running CoreMark produces a single-number score allowing users to make quick comparisons between processors.

翻譯一下就是:

CoreMark是一個簡單而又精密的基準測試程序,是專門為測試處理器核功能而設計的。運行CoreMark會產生一個“單個數字”的分數,(從而)允許用戶在(不同)CPU之間進行快速比較。

簡單來說,就是一個測試CPU性能的程序,類似PC上的Cinebench、CPU-Z之類的CPU性能測試工具。

了解了CoreMark是什么之后,接下來我們嘗試在龍芯2K0500先鋒板上跑一下CoreMark,看看分數是多少。

二、在龍芯2K0500上運行CoreMark

2.1 下載CoreMark源碼

Linux編譯主機上,執行如下命令,將CoreMark源碼下載到本地:

git clone https://github.com/eembc/coremark.git

(左右移動查看全部內容)


	

下載完成后,可以看到有這些文件和目錄:

cf658466-b1c1-11ed-bfe3-dac502259ad0.png

2.2 交叉編譯CoreMark

接著編譯CoreMark,這里假設你已經正確設置了龍芯交叉編譯工具鏈,也就是可以直接運行loongarch64-linux-gnu-gcc命令。

在Linux編譯主機上,執行如下命令:

cd coremark
make CC=loongarch64-linux-gnu-gcc link

(左右移動查看全部內容)


	

其中:

  • CC用于指定編譯器,這里指定的是龍芯GNU交叉編譯器(loongarch64-linux-gnu-gcc);

  • link是make命令的構建目標,具體定義在Makefile文件中,link是只鏈接不運行;

編譯完成后,可以看到生成了coremark.exe:

cf7e2d40-b1c1-11ed-bfe3-dac502259ad0.png

2.3 運行CoreMark

通過FTP或U盤,將coremark.exe拷貝到龍芯2K0500先鋒板上,使用如下命令運行coremark.exe:

# 添加可執行權限
chmod +x coremark.exe


# 運行
./coremark.exe

	

運行結束后,輸出如下:

cfa5990c-b1c1-11ed-bfe3-dac502259ad0.png

可以看到,龍芯2K0500上CoreMark跑分為2213.205459分。

三、和樹莓派3B+上CoreMark結果對比

我這里測試使用的樹莓派3B+開發板,系統版本信息是:

cfc44c9e-b1c1-11ed-bfe3-dac502259ad0.png

由于樹莓派3B+上運行的是Debian系統,有完整的編譯工具鏈。因此,在樹莓派3B+上,我們可以直接在開發板上編譯源碼。

在樹莓派3B+上運行CoreMark之前,也需要下載CoreMark源碼,和前面類似:

git clone https://github.com/eembc/coremark.git

(左右移動查看全部內容)


	

不過這次我們直接將CoreMark源碼下載到了樹莓派上。

3.1 編譯CoreMark

樹莓派上編譯CoreMark之前,需要先安裝編譯構建工具鏈,如果還沒有的話,可以使用如下命令:

sudo apt install build-essential

(左右移動查看全部內容)

PS:如果已經有gcc、make命令,則可以跳過此步驟。

使用如下命令,編譯CoreMark源碼:

cd coremark
make link

	

3.2 運行CoreMark

使用如下命令運行coremark.exe:

./coremark.exe

(左右移動查看全部內容)

PS:這里由于我們是直接在樹莓派3B+開發板上編譯的CoreMark,所以直接運行即可。

運行結束后,輸出如下:

cff13380-b1c1-11ed-bfe3-dac502259ad0.png

可以看到,樹莓派3B+上CoreMark跑分為1914.486280。

龍芯2K0500和樹莓派3B+的CoreMark跑分對比:

龍芯2K0500 樹莓派3B+
跑分 2213.205459 1914.486280

可以看到,龍芯2K0500上的CoreMark跑分高于樹莓派3B+。

3.3 其他編譯選項跑分對比

查看CoreMark的Makefile和相關源碼,我們可以知道,通過編譯時添加XCFLAGS參數,可以指定CoreMark的編譯參數。

下面是幾組不同XCFLAGS參數下,龍芯2K0500和樹莓派3B+的CoreMark跑分:

XCFLAGS 龍芯2K0500 樹莓派3B+
2213.205459 1914.486280
"-DPERFORMANCE_RUN=1" 2213.532059 1916.198263
"-DPERFORMANCE_RUN=1 MEM_METHOD=MEM_STACK" 2218.278616 1915.219612
"-DPERFORMANCE_RUN=1 MEM_METHOD=MEM_STATIC" 2216.475803 1916.687963

可以看到,幾種不同XCFLAGS參數條件下,龍芯2K0500上的CoreMark跑分都要高于樹莓派3B+。

添加XFLAGS參數后,樹莓派上的編譯命令為(以表格最后一行參數為例):

make XCFLAGS="-DPERFORMANCE_RUN=1 -DMEM_METHOD=MEM_STATIC" link

(左右移動查看全部內容)


	

響應的,Linux編譯服務器上,交叉編譯命令為:

make CC=loongarch64-linux-gnu-gcc XCFLAGS="-DPERFORMANCE_RUN=1 -DMEM_METHOD=MEM_STATIC" link

(左右移動查看全部內容)


	

3.4 CoreMark的主要算法

CoreMark項目README的Key Algorithms描述了CoreMark主要用到了那些算法:

  • 鏈表(主要是指針操作)

  • 矩陣乘法(主要是乘法和加法運算)

  • 狀態機(主要是switch-case操作)

說明在這幾種計算場景下,龍芯2K0500的速度都是比樹莓派3B+要快的。

四、額外的CPU測試

接下來我們看看另外一種場景下的測試結果。

我們知道,生成一個較大的大質數,或者判斷一個大整數是否為質數是比較復雜的。

所以,這里我們準備用生成質數在兩個開發板上再次進行測試。

4.1 第n個質數

我們使用如下C程序代碼,計算第n個質數:

#include 
#include 
#include 
#include 
#include 
#include 
#include 


// 判斷n是否為質數
bool isprime(uint64_t n)
{
    assert(n > 0);


    if (n == 2) return true;
    if ((n % 2) == 0) return false;


    for (uint64_t i = 3, up = n / 2; i < up; i += 2) {
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}


// 計算第n個質數,例如:1 => 2, 2 => 3, 3 => 5
uint64_t prime(int n)
{
    assert(n > 0);


    if (n == 1) return 2;


    int count = 1;
    for (uint64_t i = 3; i < UINT64_MAX; i += 2) {
        if (isprime(i)) {
            if (++count == n) {
                return i;
            }
        }
    }
    return 0;
}


int main(int argc, char* argv[])
{
    int n = argc > 1 ? atoi(argv[1]) : 10;


    clock_t start = clock();
    uint64_t prim = prime(n);
    clock_t end = clock();
    float costs = (end - start) / (float) CLOCKS_PER_SEC;


    printf("%10d	%.6f	%" PRIu64 "
", n, costs, prim);
    return 0;
}

(左右移動查看全部內容)


	

這里為了忽略兩塊開發板內存差異的影響,我們不保存前面得到的質數(雖然保存前面得到的質數,可以加速后續的isprime判斷)。

這里假設保存的文件名為p1.c,樹莓派3B+上使用如下命令編譯:

gcc -O2 -o p1 p1.c

	

Linux編譯主機上,使用如下命令交叉編譯:

loongarch64-linux-gnu-gcc -O2 -o p1 p1.c

(左右移動查看全部內容)


	

接下來,分別在龍芯2K0500和樹莓派3B+上運行,得到如下耗時數據(編譯選項:-O2):

n 龍芯2K0500耗時 樹莓派3B+耗時
1000 0.018571 0.014308
2000 0.080962 0.061902
3000 0.191983 0.146851
4000 0.353578 0.271425
5000 0.567774 0.435833
6000 0.831575 0.640650
7000 1.153037 0.890962
8000 1.533347 1.172405
9000 1.965950 1.517557

這里得到的結論是——樹莓派3B+計算質數更快。此前的TFLM測試結果和這里比較類似,同樣顯示,龍芯2K0500成績要稍差一些。

d00624d4-b1c1-11ed-bfe3-dac502259ad0.png

這里龍芯2K500比樹莓派3B+慢的主要原因,很可能是因為求質數算法過程中包含了大量除法運算,而龍芯2K0500的除法運算速度要比樹莓派3B+慢。

4.2 isprime修改

驗證方法也很簡單,我們可以直接修改前面的isprime函數:

// 判斷n是否為質數
bool isprime(uint64_t n)
{
    assert(n > 0);


    if (n == 2) return true;
    if ((n & 1) == 0) return false; // n % 2  =>  n & 0x1


    for (uint64_t i = 3, up = (n >> 1); i < up; i += 2) {  // n / 2  =>  n >> 1
        for (uint64_t j = 3; j < up; j += 2) { // 暴力枚舉另外一個因數,不用除法
            if (i * j == n) {
                return false;
            }
        }
    }
    return true;
}

(左右移動查看全部內容)


	

這里假設保存的文件名為p2.c,樹莓派3B+上使用如下命令編譯:

gcc -O2 -o p2 p2.c

	

Linux編譯主機上,使用如下命令交叉編譯:

loongarch64-linux-gnu-gcc -O2 -o p1 p1.c

(左右移動查看全部內容)


	

接下來,分別在龍芯2K0500和樹莓派3B+上運行,得到如下耗時數據(編譯選項:-O2):

n 龍芯2K0500耗時 樹莓派3B+耗時
400 0.293424 0.302985
500 0.616077 0.634836
600 1.123482 1.162557

這里可以看到,龍芯2K500比樹莓派3B+計算要快。

所以,這里驗證了前面的猜想——龍芯2K500比樹莓派3B+的整數除法要慢。

五、參考鏈接

  1. CoreMark項目:https://github.com/eembc/coremark

  2. 龍芯GNU編譯工具鏈下載頁面:http://www.loongnix.cn/zh/toolchain/GNU/

  3. 加入龍芯小組:https://bbs.elecfans.com/group_1650

本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com

d02749c0-b1c1-11ed-bfe3-dac502259ad0.png

熱門推薦干貨好文

1、社區精選!PCB多層板設計挑戰賽作品集合

2、超強性能AI芯片OpenHarmony多系統支持,可定制高性能AP(附10+開發Demo)

3、從零入門物聯網OH開源平臺,從簡單到高階項目,創客電子愛好者都愛用!

4、低成本ESP32方案,支持OpenHarmony系統開發(附10+項目樣例Demo)

5、從0到1玩轉瑞薩RA4系列開發板,教你變著花樣玩板子

6、四核64位,超強CPU ,看RK3568“競”開發板DEMO!

7、人工智能也能這么玩, 簡單快速入手,還能自定義AI運算

8、全部開源 | 基于全志V85X的運動相機,工業網關,可穿戴式攝像頭

9、高性能雙核RISC-V,滿足大多數開發,這款國產MCU工程師


原文標題:【試用報告】龍芯先鋒板:CPU性能測試—CoreMark和計算質數

文章出處:【微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:【試用報告】龍芯先鋒板:CPU性能測試—CoreMark和計算質數

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【RA-Eco-RA4E2-64PIN-V1.0開發試用CoreMark測試RA4E2 單片機CPU性能分數

    CoreMark是一個專門用來測試CPU性能的程序。類似電腦上面的魯大師測試電腦跑分多少。 本期測評就是來講解
    發表于 12-14 12:05

    BQ24040應用報告

    電子發燒友網站提供《BQ24040應用報告.pdf》資料免費下載
    發表于 10-14 09:28 ?0次下載
    BQ24040應<b class='flag-5'>用報告</b>

    龍芯2K0300蜂鳥試用報告

    龍芯2K0300蜂鳥試用報告 一、試用環境 操作系統和框架:Linux+QT5.15 交叉編譯工具鏈
    發表于 09-13 18:00

    【作品合集】龍芯2K0300蜂鳥開發試用精選

    :@jf_99374259【龍芯2K0300蜂鳥試用】適配opencv-mobile 作者:@tinnu【龍芯2K0300蜂鳥
    發表于 09-10 18:17

    高速數據轉換應用報告

    電子發燒友網站提供《高速數據轉換應用報告.pdf》資料免費下載
    發表于 09-09 14:57 ?0次下載
    高速數據轉換應<b class='flag-5'>用報告</b>

    龍芯2K0300蜂鳥試用試用開箱體驗及調試

    龍芯2K0300蜂鳥試用開箱: 龍芯2K0300蜂鳥開發是一塊集成度很高的板卡,龍芯2K03
    發表于 09-08 12:08

    龍芯2K0300蜂鳥試用龍芯2K0300蜂鳥開發上電測試

    。無論是進行硬件調試、軟件開發還是系統集成,都能顯著提升開發效率,優化產品設計流程。 市場潛力 :龍芯2K0300蜂鳥的發布,預示著國產嵌入式開發在體積、性能、能效比等方面的新突破,對于推動國產芯片
    發表于 09-05 20:46

    龍芯2K0300蜂鳥試用報告

    龍芯2K0300蜂鳥試用報告 概述 龍芯2K0300蜂鳥龍芯中科推出的一款面向嵌入式領域的
    發表于 09-03 08:32

    用于測試POL穩壓器的HS負載/線路瞬態測試夾具和應用報告

    電子發燒友網站提供《用于測試POL穩壓器的HS負載/線路瞬態測試夾具和應用報告.pdf》資料免費下載
    發表于 08-26 10:06 ?0次下載
    用于<b class='flag-5'>測試</b>POL穩壓器的HS負載/線路瞬態<b class='flag-5'>測試</b>夾具和應<b class='flag-5'>用報告</b>

    龍芯2K0300蜂鳥試用】+5.CoreMark跑分

    越大則說明測試性能越好。 ??目前在嵌入式CPU行業中普遍公認的性能測試指標的標準主要使用以下三種,MIPS、Dhrystone、
    發表于 08-18 22:06

    龍芯2K0300蜂鳥試用】開箱體驗

    本帖最后由 ele2022 于 2024-8-13 19:54 編輯 首先感謝電子發燒友和龍芯中科提供的試用機會。 今天開箱體驗龍芯中科的一款2K0300蜂鳥開發
    發表于 08-12 19:59

    龍芯2K0300蜂鳥試用】第一篇 龍芯2K0300蜂鳥開箱python點燈測試

    首先感謝電子發燒友社區(測試福利群)舉辦的活動,讓我有幸參與此次龍芯2K0300蜂鳥開發試用活動(之前的2K0500先鋒
    發表于 08-10 23:19

    龍芯2K0300蜂鳥試用龍芯2K0300蜂鳥試用報告

    龍芯2K0300蜂鳥試用報告 1.拆箱、上電開機 2.自帶CH340串口通訊芯片,不需要再用串口工具,已經板載了 3.主要由JW5079A、SW34201B、FORESEE
    發表于 08-09 11:58

    智能嵌入式系統設計大賽--龍芯2K500先鋒

    (插針形式)2個SPI,2個I2C,6路串口,2路CAN,4路PWM, 8個GPIO等接口。 更多資料詳見: [用戶手冊], [先鋒詳細資料], [用戶試用報告等板卡使用資料]。 完成注冊并核驗資質成功的隊伍,
    發表于 05-14 21:15

    龍芯:自主研發CPU提升性能,單核通用性能提高20倍

    張戈強調,龍芯CPU的主要IP核均為自主研發,這使得其性價比得到顯著提升。他指出,國產CPU與主流CPU的差距主要體現在單核性能上,而非多核
    的頭像 發表于 04-25 15:26 ?850次閱讀
    主站蜘蛛池模板: 99精品网站| 成人 迅雷下载| 国产精品99久久免费黑人人妻| 免费观看的毛片| 2021久久最新国产精品| 乱色欧美激惰| a在线观看免费视频| 秋霞午夜理论理论福利无码| bt成人种子| 热九九99香蕉精品品| 打卡中国各地奋斗第一线| 色偷偷888欧美精品久久久| 国产产乱码一二三区别免费| 午夜片无码区在线观看| 国产一区2区| 在线观看免费毛片| 欧美XXXX69学生HD| 成人免费网址在线| 乌克兰成人性色生活片| 狠狠干.in| 91久久偷偷看嫩草影院无费| 秋霞在线看片无码免费| 国产精品久久久久久亚洲毛片| 亚洲精品乱码8久久久久久日本| 久久久久青草大香线综合精品| 97国产露脸精品国产麻豆| 日本xxxxxx片免费播放18| 国产精品高清免费网站| 亚洲深夜在线| 欧美日韩北条麻妃一区二区| 国产精品成人观看视频免费| 亚洲黄色在线观看| 美国ZOOM动物在线观看| 成人网络电视破解版| 午夜影视不用充钱的免费| 久久亚洲欧美国产综合| 成人免费精品视频| 野花韩国高清完整版在线观看5| 免费完整版观看| 国产人妻人伦精品59HHH| 91精品一区二区三区在线观看|