資料介紹
描述
Spresense 質(zhì)數(shù)計(jì)算器
Spresense 素?cái)?shù)計(jì)算器實(shí)現(xiàn)了一種可以同時(shí)在多個(gè) Spresense CPU 內(nèi)核上運(yùn)行的素?cái)?shù)計(jì)算算法。
Spresense CXD5602GG 芯片有六個(gè) ARM Cortex M4 內(nèi)核。在此項(xiàng)目中,您將能夠輕松決定在進(jìn)行素?cái)?shù)計(jì)算時(shí)將使用多少個(gè) CPU 內(nèi)核。測(cè)量計(jì)算所花費(fèi)的時(shí)間,然后與進(jìn)行相同計(jì)算但僅使用一個(gè)內(nèi)核所花費(fèi)的時(shí)間進(jìn)行比較。它是一種基準(zhǔn)應(yīng)用程序,用戶可以在其中進(jìn)行各種設(shè)置并觀察結(jié)果。
Spresense 主板足以完成此項(xiàng)目,但如果將其連接到 Spresense 擴(kuò)展板,則沒有任何區(qū)別。
先決條件
- Ubuntu PC(Spresense Full SDK 需要)。
描述
默認(rèn)情況下,Spresense 素?cái)?shù)計(jì)算器將在一組預(yù)定義的參數(shù)上運(yùn)行。
參數(shù)是:
- 要使用的 CPU 數(shù)量。[1-5] 默認(rèn)值:5。
- 搜索素?cái)?shù)的數(shù)字范圍。[1-“千”] 默認(rèn)值:15000。
該應(yīng)用程序?qū)⒃诿钚兄兄付ǖ谋M可能多的內(nèi)核上啟動(dòng)并啟動(dòng)素?cái)?shù)計(jì)算器算法的實(shí)例。如果未指定核心數(shù),則將使用默認(rèn)值。
然后每個(gè)實(shí)例都會(huì)收到一條消息,其中包含起始值和要通過(guò)質(zhì)數(shù)計(jì)算器運(yùn)行的范圍長(zhǎng)度。范圍的長(zhǎng)度與數(shù)字范圍相同。這意味著將計(jì)算的總范圍將是number range x number of CPUs 。
結(jié)果是什么意思?
結(jié)果基本上只是一個(gè)數(shù)字,說(shuō)明完成任務(wù)需要多長(zhǎng)時(shí)間。作為參考,這里是為 Arduino UNO 移植的代碼。
劇透警告!在范圍為 0-2000 個(gè)數(shù)字的 Arduino UNO 上進(jìn)行的初始測(cè)試需要 10916 毫秒才能找到 303 個(gè)素?cái)?shù)。在五個(gè)內(nèi)核上運(yùn)行的 Spresense 上的相同范圍需要 9 毫秒,而在一個(gè) Spresense 內(nèi)核上運(yùn)行需要 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 的代碼。
分步說(shuō)明:
1. 按照先決條件步驟為您的 Ubuntu 計(jì)算機(jī)準(zhǔn)備運(yùn)行 Spresense Full SDK 所需的工具。
2.克隆已經(jīng)實(shí)現(xiàn)素?cái)?shù)計(jì)算器的分叉存儲(chǔ)庫(kù):
$ git clone --recursive git@github.com:TE-KarlKomierowski/spresense.git
3.配置和構(gòu)建Spresense Full SDK:
$ cd spresense/sdk
$ tools/config.py --kernel release
$ tools/config.py examples/prime
$ make buildkernel
$ make
4. 構(gòu)建完成后,將在SDK 文件夾中創(chuàng)建一個(gè)名為nuttx.spk的文件。
5. 這個(gè)文件必須燒寫到Spresense板子上。您可以通過(guò)使用“-b”開關(guān)編輯波特率來(lái)提高閃爍速度。默認(rèn)值為 115200。如果您嘗試最快的速度并發(fā)現(xiàn)速度不佳,請(qǐng)嘗試降低速度。
$ tools/flash.sh nuttx.spk
or
#Maximum flashing speed is 1152000, default is 115200.
$ tools/flash.sh -b 1152000 nuttx.spk
6. 閃爍完成后,使用以下設(shè)置啟動(dòng)您最喜歡的串行終端,只需仔細(xì)檢查設(shè)備是否正確。
+-----------------------------------------------------------------------+
| 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. 你的終端應(yīng)該是這樣的:
NuttShell (NSH) NuttX-7.22
nsh>
8. 這是 NuttShell。從這里您可以通過(guò)簡(jiǎn)單地輸入“prime”來(lái)啟動(dòng) prime 計(jì)算器。然后素?cái)?shù)計(jì)算器將從默認(rèn)值開始。
Synopsis:
prime
[N_CPUS] [RANGE]
以下示例將使用 4 個(gè) CPU 內(nèi)核啟動(dòng)應(yīng)用程序,其中每個(gè)內(nèi)核計(jì)算一個(gè)范圍,每個(gè)范圍包含 1000 個(gè)值。
NuttShell (NSH) NuttX-7.22
nsh> prime 4 1000
9. 按回車鍵,看看在不同數(shù)量的核心上運(yùn)行各種范圍長(zhǎng)度時(shí)會(huì)得到什么結(jié)果。
享受!:)
?
?
?
- Spresense GPS攝像頭開源分享
- labview計(jì)算器 24次下載
- 卡西歐計(jì)算器外部存儲(chǔ)器開源
- 高級(jí)計(jì)算器開源分享
- Arduino計(jì)算器開源分享
- Spresense智能浮標(biāo)開源分享
- 計(jì)算器labview實(shí)現(xiàn)的課程實(shí)驗(yàn)報(bào)告 27次下載
- 電阻衰減網(wǎng)絡(luò)計(jì)算器設(shè)計(jì)與實(shí)現(xiàn) 22次下載
- 西門子PLC地址計(jì)算器軟件Modbus下載 19次下載
- 編程簡(jiǎn)易計(jì)算器制作資料合集包括源程序和計(jì)算器仿真圖免費(fèi)下載 54次下載
- 簡(jiǎn)易計(jì)算器設(shè)計(jì)與制作 88次下載
- tenda pin碼計(jì)算器下載 1.0綠色版 0次下載
- 色環(huán)電阻計(jì)算器的使用 22次下載
- DEs計(jì)算器 8次下載
- 子網(wǎng)掩碼計(jì)算器 3次下載
- AWTK 開源串口屏開發(fā)(13) - 計(jì)算器應(yīng)用 4866次閱讀
- DS1086L的頻率計(jì)算器 664次閱讀
- 封裝熱分析計(jì)算器教程 895次閱讀
- ADC/DAC精度計(jì)算器教程 953次閱讀
- TS語(yǔ)言開發(fā)HarmonyOS應(yīng)用:分布式計(jì)算器開發(fā)教程 2467次閱讀
- 基于STM32設(shè)計(jì)的計(jì)算器(實(shí)現(xiàn)基本運(yùn)算) 7870次閱讀
- 如何使用封裝熱分析計(jì)算器(PTA)的簡(jiǎn)短指南 2808次閱讀
- 計(jì)算器的結(jié)構(gòu)組成及故障處理方法 1.2w次閱讀
- 微軟標(biāo)志性的Windows計(jì)算器正式宣布開源啦! 3185次閱讀
- 索尼Spresense拆箱與Spresense SDK運(yùn)行測(cè)試 8284次閱讀
- 用FPGA設(shè)計(jì)計(jì)算器 9238次閱讀
- 如何用VB編寫最簡(jiǎn)單的計(jì)算器程序 5.1w次閱讀
- AT89S52單片機(jī)實(shí)現(xiàn)簡(jiǎn)易計(jì)算器(C語(yǔ)言程序) 3.1w次閱讀
- 基于AT89C51單片機(jī)的十進(jìn)制計(jì)算器系統(tǒng)設(shè)計(jì) 6353次閱讀
- 交流瓦特計(jì)算器 3476次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多