国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【乾芯QXS320F開發試用】乾芯QXS320F開發IQMath數學庫功能試用報告

    摘要 本報告重點評估乾芯QXS320F開發所提供的IQMath定點數學庫的性能與易用性。通過具體的數學運算示例,驗證了該庫在定點數表示、三角函數計算等方面的準確性和高效性,展現了其在
    發表于 01-08 09:02

    那么龍芯CPU性能如何呢?

    龍芯系列CPU的最新動態 以下是龍芯系列CPU的最新動態(截至2025年10月): 龍芯CPU
    的頭像 發表于 12-03 13:42 ?1029次閱讀

    【開源FPGA硬件】硬件黑客集結:開源FPGA開發測評活動全網火熱招募中......

    式發布啦!現面向全網招募第一批工程師/硬件愛好者,開發免費試用測試啦! 優秀試用報告,將作為板卡配套資料發布~ 相關鏈接: 擁抱開源!一起來做FPGA開發
    發表于 10-29 11:37

    Coremark測試集分析與性能優化思路

    實際上暴露了編譯器優化工作負載的能力,而不是MCU或CPU的功能”的問題。因此要創建不能在編譯時計算而必須在運行時計算的工作,因此coreMark 在嵌入式領域被認為比 Dhrysto
    發表于 10-24 08:21

    RK3506工控核心Wi-Fi模組性能測試報告

    RK3506工控核心Wi-Fi模組性能測試報告測試概述本次測試對比了三種不同WiFi模組在2
    的頭像 發表于 10-14 17:09 ?2690次閱讀
    RK3506工控<b class='flag-5'>板</b>核心<b class='flag-5'>板</b>Wi-Fi模組<b class='flag-5'>性能</b><b class='flag-5'>測試報告</b>

    【RA4M2-SENSOR】6、Coremark跑分極限性能測試

    Coremark簡介 CoreMark是一個簡單而又精密的基準測試程序,是專門為測試處理器核功能而設計的。運行CoreMark會產生一個“單
    發表于 09-02 09:44

    【上海晶珩睿莓1開發試用體驗】4、Coremark性能測試

    ×Cortex?A55, ARMv8-A, 64-bit, 2.0GHz)的睿莓1 CoreMark 表現。 CoreMark 是什么 目的:測量 CPU 在常見整型/控制密集型
    發表于 08-18 22:18

    【Milk-V Duo S 開發免費體驗】RISC-V核性能測試

    ,所以就測試這個核心的性能。 下載交叉編譯工具鏈 wget https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16
    發表于 08-18 09:40

    【Milk-V Duo S 開發免費體驗】Milk-V DuoS性能測試

    一、CoreMark簡介 EEMBC 的 CoreMark? 評分是一種比較通用的基準測試方式,用于測量嵌入式系統中使用的微控制器(MCU)和中央處理單元(CPU)的
    發表于 08-09 23:32

    【GM-3568JHF開發免費體驗】GM-3568JHF的coremark跑分5007分

    用的微控制器(MCU)和中央處理單元(CPU)的性能,可以幫助人們比較不同的 CPU 架構的性能表現。 拿到視美泰GM-3568JHF開發
    發表于 07-22 17:32

    【米爾RK3576開發免費體驗】1.米爾RK3576性能測試

    很高興收到米爾電子的RK3576開發,開發如下 這期主要是來測試一下米爾RK3576的硬件性能參數。主要分為以下幾個方面。 1。CPU
    發表于 07-15 21:17

    【VisionFive 2單板計算試用體驗】coremark跑分測試

    查看 4核risv CPU 安裝溫度sensor apt install lm-sensors 輸入sensors查看板子溫度 顯示是51.5度,有點發燙 2。進行coremark跑分 先從
    發表于 07-12 12:38

    基于極海APM32E103 MCU的CoreMark測試方法

    CoreMark是專門用于測試處理器內核性能的基準測試程序,測試的內容有:列表處理(查找和排序)、矩陣操作(常見的矩陣操作)、狀態機(確定輸
    的頭像 發表于 06-12 09:42 ?1439次閱讀
    基于極海APM32E103 MCU的<b class='flag-5'>CoreMark</b><b class='flag-5'>測試</b>方法

    龍芯2K0300蜂鳥試用】固件更新與測試

    龍芯2K0300蜂鳥試用】固件更新與測試 本文介紹了龍芯2K300蜂鳥開發板實現官方固件更新和固件
    發表于 06-06 04:52

    【評測試用】合眾HZ-T536開發免費試用體驗

    【評測試用】合眾HZ-T536開發免費試用體驗
    的頭像 發表于 05-27 08:05 ?974次閱讀
    【評<b class='flag-5'>測試用</b>】合眾HZ-T536開發<b class='flag-5'>板</b>免費<b class='flag-5'>試用</b>體驗