本文来源电子发烧友社区,作者:李红洁, 帖子地址:https://bbs.elecfans.com/jishu_2288293_1_1.html
前言
准备工作
测试结果
结果对比
浮点运算性能测试whetstone修改代码
编译运行
测试结果
结果对比
Linpack浮点
编译运行
测试结果
结果对比
livermore数值计算修改代码
编译运行
测试结果
结果对比
前言
设置虚拟机共享目录

cp dhrystone2 dhrystone2o3 /mnt/share
即可在windows下的E:virtualboxshare目录下看到复制过来的文件。

假设程序复制到了windows下的e:/下
lcd e:/
cd /home/root
put livermore将windows下程序导入到开发板的/home/root目录下
chmod +x livermore
./livermore执行

能按照https://bbs.elecfans.com/jishu_2287978_1_1.html介绍的进行应用开发
下载代码
wgethttp://www.roylongbottom.org.uk/classic_benchmarks.tar.gz
tar -xvf classic_benchmarks.tar.gz
整数运算性能测试Dhrystone
Dhrystone是于1984年由Reinhold P. Weicker设计的一套综合的基准程序,该程序用来测试CPU(整数)计算性能。其输出结果为每秒钟运行Dhrystone的次数,即每秒钟迭代主循环的次数。
修改代码
代码结构
代码位于source_code文件夹下
|
common_64bit/
common_32bit
|
CPU相关信息获取和时间测量接口
|
//getSecs()
local_time()
start_time()
end_time()
getDetails()
|
|
|
|
|
ldhrystone2/dhry_2.c
|
算法无需修改
|
|
|
|
|
|
ldhrystone2/dhry_1.c
|
main按需修改
|
|
|
|
|
l将common_64bit/cpuidh.h复制到dhrystone2下
l将common_64bit/cpuidc64.c复制到dhrystone2下
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
l修改dhry_1.c
因为没有实现getDetails,注释掉如下代码.
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
fprintf (Ap, " #####################################################nn");
for (i=1; i<10; i++)
{
fprintf(Ap, "%s n", configdata);
}
fprintf (Ap, "n");
printf("##########################################n");
#endif
如下地方语法错误
#endif "Register option Selected."改为
#endif // "Register option Selected."
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
两处printf ("Ptr_Comp: * %dn", (int) Ptr_Glob->Ptr_Comp);改为
printf ("Ptr_Comp: * %pn", Ptr_Glob->Ptr_Comp);
编译运行
$CC *.c -o dhrystone2o3 -O1
$CC *.c -o dhrystone2o3 -O3
将程序导入到开发板运行
测试结果会添加到文件Dhry.txt中
-O1
-O3
DMIPS
3078.98
4452.61
http://www.roylongbottom.org.uk/dhrystone%20results.htm
可以看到和Athlon 64接近。
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
whetstone/whets.c
main按需修改
l将common_64bit/cpuidh.h复制到whetstone下
l将common_64bit/cpuidc64.c复制到whetstone下
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
lWhets.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
local_time();
printf("n");
printf("##########################################n");
printf("%s Precision C Whetstone Benchmark %s, %sn", Precision, opt, timedaa
y);
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
在#include "cpuidh.h"后包含math.h
#include "cpuidh.h"
#include
fprintf (outfile, " %9.3f %9.3fn",
loop_mops[section], loop_time[section], results[section]);
改为
fprintf (outfile, " %9.3f %9.3f %9.3fn",
loop_mops[section], loop_time[section], results[section]);
$CC *.c -o whetstone -lm -O1
$CC *.c -o whetstoneo3 -lm -O3
将程序导入到开发板运行
测试结果会记录到文件whets.txt中
-O1
-O3
MWIPS
1369.125
1931.551
http://www.roylongbottom.org.uk/whetstone%20results.htm
看到和Core 2 Duo 1 CP相当
Linpack是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点计算性能。Linpack的结果按每秒浮点运算次数(flops)表示。
修改代码
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
linpack/linpack.c
main按需修改
l将common_64bit/cpuidh.h复制到linpack下
l将common_64bit/cpuidc64.c复制到linpack下
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
llinpack.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
printf("##########################################n");
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
在#include "cpuidh.h"后包含string.h
#include "cpuidh.h"
#include
main原型函数添加返回类型int
$CC *.c -o linpack -O1
$CC *.c -o linpacko3 -O3
将程序导入到开发板运行
测试结果会记录到文件Linpack.txt中
-O1
-O3
MFLOPS
240.57
460.94
http://www.roylongbottom.org.uk/linpack%20results.htm
和Pentium 4相当
代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
livermore_loops/lloops.c
main按需修改
l将common_64bit/cpuidh.h复制到livermore_loops下
l将common_64bit/cpuidc64.c复制到livermore_loops下
1.注释掉int getDetails()函数,我们这里不获取CPU对应的信息。
llloops.c
注释掉以下代码
#if 0
getDetails();
for (i=1; i<10; i++)
{
printf("%sn", configdata);
}
printf("n");
fprintf (outfile, " #####################################################n\
n");
for (i=1; i<10; i++)
{
fprintf(outfile, "%s n", configdata);
}
fprintf (outfile, "n");
#endif
前面添加接口函数申明
void local_time();
void start_time();
void end_time();
在#include "cpuidh.h"后包含string.h
#include "cpuidh.h"
#include
main原型函数添加返回类型int
$CC *.c -o livermore -lm
$CC *.c -o livermoreo3 -lm -O3
将程序导入到开发板运行
测试结果会记录到文件LLloops.txt中
-O1
-O3
MFLOPS
174.5
/
http://www.roylongbottom.org.uk/livermore%20loops%20results.htm
与Celeron A相当


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
PHYTEC
+关注
关注
0文章
19浏览量
3934 -
开发板试用
+关注
关注
3文章
303浏览量
2643
发布评论请先 登录
相关推荐
热点推荐
恩智浦FRDM i.MX 8M Plus开发板详解
在开发高级HMI应用、计算机视觉系统以及边缘AI项目时,开发人员常常面临一个共同挑战:如何在不依赖昂贵且复杂的开发平台的前提下,获得足够的处理能力。这正是FRDM i.MX
恩智浦FRDM i.MX 8M Plus开发板上架
i.MX 8M Plus应用处理器集成2个或4个Arm Cortex-A53核、1个专用于实时控制的Arm Cortex-M7核,以及1个算力高达2.3 TOPS的神经处理单元 (NP
有奖丨米尔 NXP i.MX91开发板免费试用来啦
米尔与NXP合作发布的新品基于NXPi.MX91应用处理器的MYD-LMX91开发板免费试用名额来啦~~米尔提供了3套价值588元的MYD-LMX91开发板发起
米尔NXP i.MX 91核心板发布,助力新一代入门级Linux应用开发
本帖最后由 blingbling111 于 2025-5-30 16:17 编辑
米尔电子基于与NXP长期合作的嵌入式处理器开发经验,在i.MX 6和i.MX 8系列核心
发表于 05-30 11:20
NXP i.MX 91开发板#支持快速创建基于Linux®的边缘器件
的一部分,其中包括支持Debian和Yocto应用处理器。FRDM i.MX 91开发板非常适合用于工业、汽车和物联网应用。 *附件:FRDMiMX91_Board_开发手册,
TPS6521825 适用于 NXP i.MX 8M mini 的电源管理 IC数据手册
TPS6521825 是一款单芯片电源管理 IC (PMIC),专门用于支持 i.MX 8M Mini 处理器和 LP873347 器件。该器件的额定温度范围为 –40°C 至 +105°C,适用于各种工业应用。
NXP基于i.MX 91应用处理器打造的FRDM i.MX 91开发板特性参数详解
FRDM i.MX 91开发板。该开发板基于i.MX 91应用处理器打造,专为加速工业与物联网的开发而设计,提供了一种经济高效、安全且具有多
NXP入门级Linux应用开发板,FRDM i.MX 91详解
FRDM平台新品发布 FRDM i.MX 91开发板是一款低成本、体积小巧的开发板,集成了恩智浦i.MX 91应用处理器和IW610 Wi-Fi 6三射频解决方案,专为入门级Linux
NXP i.MX 93 开发板#提供高效的机器学习 支持高能效的边缘计算
NXP Semiconductors FRDM-IMX93开发板由i.MX 93应用处理器提供支持。NXP Semiconductors FRDM-IMX93板配备板载IW612模块,支持NXP
分享!基于NXP i.MX 8M Plus平台的OpenAMP核间通信方案
i.MX 8M Plus平台。 OpenAMP架构 AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或
NXP首款搭载MPU的FRDM产品怎么样?FRDM i.MX93开发板开箱速览
近期,NXP将i.MX 93系列处理器引入了FRDM系列产品线,推出了FRDM i.MX 93开发板,作为首款配备i.MX MPU的FRDM板
恩智浦推出FRDM i.MX 93开发板
备受嵌入式开发者青睐的恩智浦FRDM开发平台,迎来了一位新成员——FRDM i.MX 93开发板,这也是第一块配备i.MX MPU的FRDM
NXP推出FRDM i.MX 93开发板, 助力现代工业与边缘智能开发
近日,恩智浦半导体(NXP Semiconductor)推出了FRDM i.MX 93开发板,这是FRDM系列中第一款基于MPU推出的开发板,以低成本、紧凑的设计为核心,搭载了NXP i.MX
2.3T算力,真的强!1分钟学会NPU开发,基于NXP i.MX 8MP平台!
科技飞速发展,人工智能与工业领域的融合日益深入。NXP旗下的i.MX 8M Plus作为一款高端工业处理器,NPU算力高达2.3TOPS,正引领着工业智能化的浪潮,为众多工业场景带来了前所未有的变革

【PHYTEC开发板试用体验】phyBOARD-Pollux i.MX 8M Plus之跑分
评论