精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

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

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

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>Spresense多核質數計算器開源

Spresense多核質數計算器開源

2023-06-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

Spresense 質數計算器

Spresense 素數計算器實現了一種可以同時在多個 Spresense CPU 內核上運行的素數計算算法

Spresense CXD5602GG 芯片有六個 ARM Cortex M4 內核。在此項目中,您將能夠輕松決定在進行素數計算時將使用多少個 CPU 內核。測量計算所花費的時間,然后與進行相同計算但僅使用一個內核所花費的時間進行比較。它是一種基準應用程序,用戶可以在其中進行各種設置并觀察結果。

Spresense 主板足以完成此項目,但如果將其連接到 Spresense 擴展板,則沒有任何區別。

先決條件

  • Ubuntu PC(Spresense Full SDK 需要)。

描述

默認情況下,Spresense 素數計算器將在一組預定義的參數上運行。

參數是:

  • 要使用的 CPU 數量。[1-5] 默認值:5。
  • 搜索素數的數字范圍。[1-“千”] 默認值:15000。

該應用程序將在命令行中指定的盡可能多的內核上啟動并啟動素數計算器算法的實例。如果未指定核心數,則將使用默認值。

然后每個實例都會收到一條消息,其中包含起始值和要通過質數計算器運行的范圍長度。范圍的長度與數字范圍相同。這意味著將計算的總范圍將是number range x number of CPUs

結果是什么意思?

結果基本上只是一個數字,說明完成任務需要多長時間。作為參考,這里是為 Arduino UNO 移植的代碼。

劇透警告!在范圍為 0-2000 個數字的 Arduino UNO 上進行的初始測試需要 10916 毫秒才能找到 303 個素數。在五個內核上運行的 Spresense 上的相同范圍需要 9 毫秒,而在一個 Spresense 內核上運行需要 27 毫秒。

uint32_t find_primes(uint32_t start_val, uint32_t limit) {
 uint32_t primes = 0;
 for (; start_val <= limit; start_val++) {
   int x = 2;
   while (x <= start_val) {
     if (start_val % x == 0)
       break;
     x++;
   }
   if (x == start_val)
     primes++;
 }
 return primes;
}
#define RANGE 5000
void setup() {
 uint32_t primes = 0;
 uint32_t range = RANGE;
 unsigned long start_time, end_time, difference_time;
 // put your setup code here, to run once:
 Serial.begin(115200);
 Serial.print("Starting Prime calculation on Arduino Uno.\nRange from 0 - ");
 Serial.println(range, DEC);
 start_time = millis();
 primes = find_primes(0, RANGE);
 end_time = millis();
 difference_time = end_time - start_time;
 Serial.print("Found: ");
 Serial.print(primes);
 Serial.print(" primes in: ");
 Serial.print(difference_time);
 Serial.println(" ms.");
}
void loop() {
 // put your main code here, to run repeatedly:
}

上圖:Arduino UNO 的代碼。

分步說明:

1. 按照先決條件步驟為您的 Ubuntu 計算機準備運行 Spresense Full SDK 所需的工具。

2.克隆已經實現素數計算器的分叉存儲庫:

$ git clone --recursive git@github.com:TE-KarlKomierowski/spresense.git

3.配置和構建Spresense Full SDK:

$ cd spresense/sdk
$ tools/config.py --kernel release
$ tools/config.py examples/prime
$ make buildkernel 
$ make             

4. 構建完成后,將在SDK 文件夾中創建一個名為nuttx.spk的文件。

5. 這個文件必須燒寫到Spresense板子上。您可以通過使用“-b”開關編輯波特率來提高閃爍速度。默認值為 115200。如果您嘗試最快的速度并發現速度不佳,請嘗試降低速度。

$ tools/flash.sh nuttx.spk 
or
#Maximum flashing speed is 1152000, default is 115200.
$ tools/flash.sh -b 1152000 nuttx.spk 

6. 閃爍完成后,使用以下設置啟動您最喜歡的串行終端,只需仔細檢查設備是否正確。

+-----------------------------------------------------------------------+
| A -    Serial Device      : /dev/ttyUSB0                              |
| B - Lockfile Location     : /var/lock                                 |
| C -   Callin Program      :                                           |
| D -  Callout Program      :                                           |
| E -    Bps/Par/Bits       : 115200 8N1                                |
| F - Hardware Flow Control : No                                        |
| G - Software Flow Control : No                                        |
|                                                                       |
|    Change which setting?                                              |
+-----------------------------------------------------------------------+ 

7. 你的終端應該是這樣的:

NuttShell (NSH) NuttX-7.22
nsh> 

8. 這是 NuttShell。從這里您可以通過簡單地輸入“prime”來啟動 prime 計算器。然后素數計算器將從默認值開始。

Synopsis:

prime [N_CPUS] [RANGE]

以下示例將使用 4 個 CPU 內核啟動應用程序,其中每個內核計算一個范圍,每個范圍包含 1000 個值。

NuttShell (NSH) NuttX-7.22
nsh> prime 4 1000

9. 按回車鍵,看看在不同數量的核心上運行各種范圍長度時會得到什么結果。

享受!:)

?

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1普中科技HC6800-EM3使用操作手冊
  2. 21.69 MB   |  3次下載  |  2 積分
  3. 2PL4807單節鋰離子電池充電器中文手冊
  4. 1.36 MB   |  2次下載  |  免費
  5. 3智能小車proteus仿真+C源程序
  6. 0.02 MB   |  1次下載  |  免費
  7. 4TMR技術在電流傳感器中的應用
  8. 616.47 KB  |  1次下載  |  免費
  9. 5開關電源設計原理手冊
  10. 1.83 MB   |  1次下載  |  免費
  11. 6BQ769142技術參考手冊
  12. 2.99MB   |  1次下載  |  免費
  13. 7CBM8605_8606_8608-運算放大器【中文排版】-202406271735
  14. 2.70 MB  |  1次下載  |  免費
  15. 801-07-06-CBM8655_CBM8656精密運算放大器
  16. 4.49 MB  |  1次下載  |  免費

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  154次下載  |  1 積分
  3. 2PCB布線和布局電路設計規則
  4. 0.40 MB   |  35次下載  |  免費
  5. 3智能門鎖原理圖
  6. 0.39 MB   |  13次下載  |  免費
  7. 4GB/T4706.1-2024 家用和類似用途電器的安全第1部分:通用要求
  8. 7.43 MB   |  11次下載  |  1 積分
  9. 5JESD79-5C_v1.30-2024 內存技術規范
  10. 2.71 MB   |  10次下載  |  免費
  11. 6elmo直線電機驅動調試細則
  12. 4.76 MB   |  9次下載  |  6 積分
  13. 7WIFI智能音箱原理圖完整版
  14. 0.09 MB   |  7次下載  |  10 積分
  15. 8PC1013三合一快充數據線充電芯片介紹
  16. 1.03 MB   |  7次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183333次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73806次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分