资料介绍
描述
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. 按回车键,看看在不同数量的核心上运行各种范围长度时会得到什么结果。
享受!:)
- Spresense GPS摄像头开源分享
- labview计算器 24次下载
- 卡西欧计算器外部存储器开源
- 高级计算器开源分享
- Arduino计算器开源分享
- Spresense智能浮标开源分享
- 计算器labview实现的课程实验报告 27次下载
- 电阻衰减网络计算器设计与实现 22次下载
- 西门子PLC地址计算器软件Modbus下载 19次下载
- 编程简易计算器制作资料合集包括源程序和计算器仿真图免费下载 54次下载
- 简易计算器设计与制作 88次下载
- tenda pin码计算器下载 1.0绿色版 0次下载
- 色环电阻计算器的使用 22次下载
- DEs计算器 8次下载
- 子网掩码计算器 3次下载
- AWTK 开源串口屏开发(13) - 计算器应用 4866次阅读
- DS1086L的频率计算器 664次阅读
- 封装热分析计算器教程 895次阅读
- ADC/DAC精度计算器教程 953次阅读
- TS语言开发HarmonyOS应用:分布式计算器开发教程 2467次阅读
- 基于STM32设计的计算器(实现基本运算) 7870次阅读
- 如何使用封装热分析计算器(PTA)的简短指南 2808次阅读
- 计算器的结构组成及故障处理方法 1.2w次阅读
- 微软标志性的Windows计算器正式宣布开源啦! 3185次阅读
- 索尼Spresense拆箱与Spresense SDK运行测试 8284次阅读
- 用FPGA设计计算器 9238次阅读
- 如何用VB编写最简单的计算器程序 5.1w次阅读
- AT89S52单片机实现简易计算器(C语言程序) 3.1w次阅读
- 基于AT89C51单片机的十进制计算器系统设计 6353次阅读
- 交流瓦特计算器 3476次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多