0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【赛昉科技昉·星光RISC-V单板计算机试用体验】性能测试之花式360°无死角跑分

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-15 11:18 次阅读
本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2287285_1_1.html


前言



赛昉科技·星光RISC-V单板计算机,是一款高性价比,可运行桌面Linux64RISC-V单板计算机。使用的是JH7100多核RISC-V 64CPU
一般拿到手机或者电脑之后我们会跑个分,拿到开发板我们同样也可以跑跑分,从整数性能,浮点性能,基准测试等方面360°无死角跑分,看看打败了全网多少网友。
准备工作

能按照https://bbs.elecfans.com/jishu_2286643_1_1.html介绍的进行应用开发
下载代码
http://www.roylongbottom.org.uk/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按需修改
lcommon_64bit/cpuidh.h复制到dhrystone2
lcommon_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);

编译运行

gcc *.c -o test
./test
打印如下
pYYBAGKrNPmASwpEAADd_vZUHgA535.png

提高优化等级
gcc *.c -o test -O3
./test
打印如下
poYBAGKrNPqAN_TNAADVXtYm6RE744.png

测试结果会添加到文件Dhry.txt
pYYBAGKrNPqACPXPAABAjaiLCcw869.png

测试结果

默认
-O3
DMIPS
627.69
1964.01
结果对比

http://www.roylongbottom.org.uk/dhrystone%20results.htm
可以看到和Atom N455 32b接近。
poYBAGKrNPuAMD0uAACC-sxP9-4447.png

浮点运算性能测试whetstone

修改代码


代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
whetstone/whets.c
main按需修改
lcommon_64bit/cpuidh.h复制到whetstone
lcommon_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

编译运行

gcc *.c -o test -lm
./test打印如下
pYYBAGKrNPyAaoDqAAB-o5m0_tw091.png

提高优化等级
gcc *.c -o test -lm -O3
./test
打印如下
poYBAGKrNPyADaSKAAC82UAVqh8183.png

测试结果会记录到文件whets.txt
pYYBAGKrNP2AbomdAACNLw7XuoU044.png

测试结果

默认
-O3
MWIPS
347.498
833.258

结果对比

http://www.roylongbottom.org.uk/whetstone%20results.htm
看到和Pentium III相当
poYBAGKrNP6Ab01MAADseD0JGjQ586.png
Linpack浮点

Linpack是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点计算性能。Linpack的结果按每秒浮点运算次数(flops)表示。

修改代码

代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
linpack/linpack.c
main按需修改
lcommon_64bit/cpuidh.h复制到linpack
lcommon_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
编译运行

gcc *.c -o test
./test打印如下
poYBAGKrNP-AXkbCAADnGBe9wFc231.png
pYYBAGKrNP-AKv60AABBHPbeHjs580.png
提高优化等级
gcc *.c -o test -O3
./test
打印如下
pYYBAGKrNQCATywCAADcQCudjJc184.png
poYBAGKrNQCAboC4AABCQ3q6Iz8993.png
测试结果会记录到文件Linpack.txt
poYBAGKrNQGAGs95AABdK3gAFt8016.png

测试结果

默认
-O3
MFLOPS
40.19
123.77
结果对比
http://www.roylongbottom.org.uk/linpack%20results.htm
Celeron A相当
pYYBAGKrNQKASxRFAACYkPxMm7o721.png

livermore数值计算

修改代码


代码结构
代码位于source_code文件夹下
common_64bit/
common_32bit
CPU相关信息获取和时间测量接口
//getSecs()
local_time()
start_time()
end_time()
getDetails()
livermore_loops/lloops.c
main按需修改
lcommon_64bit/cpuidh.h复制到livermore_loops
lcommon_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
编译运行

gcc *.c -o test -lm
./test打印如下
poYBAGKrNQOARW4EAABUjP3y8oo372.png
测试结果会记录到文件LLloops.txt
测试结果

默认
-O3
MFLOPS
82.47

结果对比
http://www.roylongbottom.org.uk/livermore%20loops%20results.htm
Pentium Pro相当
pYYBAGKrNQOAIfTgAAB9jnbbJFM318.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC-V
    +关注

    关注

    44

    文章

    2228

    浏览量

    46023
  • 赛昉科技
    +关注

    关注

    3

    文章

    145

    浏览量

    14259
收藏 人收藏

    评论

    相关推荐

    预售启动!·星光 2 AI套件正式发布,基于RISC-V构建AI算力

    计算、工业智能、安全、机器人、网关路由、智能家居等领域应用提供最具性价比的高性能RISC-V人工智能解决方案。·星光2(VisionFiv
    的头像 发表于 10-25 08:05 166次阅读
    预售启动!<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2 AI套件正式发布,基于<b class='flag-5'>RISC-V</b>构建AI算力

    Ubuntu现已适配RISC-V单板计算机Milk-V Mars

    近期,Canonical宣布优化的Ubuntu24.04镜像已可用于RISC-V单板计算机Milk-VMars。Milk-VMars由深圳市群芯闪耀科技有限公司(Milk-V)设计并推出,搭载
    的头像 发表于 06-12 08:19 418次阅读
    Ubuntu现已适配<b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>Milk-<b class='flag-5'>V</b> Mars

    畅玩·星光 2|手把手教你搭建基于RISC-V的家用NAS

    方案。通过科技与开源社区的共同努力,·星光2(VisionFive2)RISC-V单板计算机
    的头像 发表于 06-04 08:19 834次阅读
    畅玩<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS

    信用卡大小的 RISC-V 单板计算机介绍

    信用卡大小的 RISC-V 单板计算机 —— Mars Mars 由深圳市群芯闪耀科技有限公司(Milk-V)设计并推出,搭载科技
    发表于 04-12 16:39

    科技为RISC-V人才培育赋能

    中国RISC-V软硬件生态领导者,科技受邀在峰会发表主题演讲,并正式加入RISC-V国际人才培养认证中心。
    的头像 发表于 04-02 08:18 447次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技为<b class='flag-5'>RISC-V</b>人才培育赋能

    科技VisionFive 2生态进展双周报(2.1-2.29)

    Image for VisionFive 2) 社区开发者发布4篇【·星光 2高性能RISC-V单板计算机体验】系列文章,内容包括:为U
    发表于 02-29 15:45

    RISC-V智能化网络解决方案|科技·星光 2成功运行OpenWrt

    。近期,科技在·星光2(VisionFive2)RISC-V单板计算机上成功运行OpenW
    的头像 发表于 02-23 08:18 624次阅读
    <b class='flag-5'>RISC-V</b>智能化网络解决方案|<b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2成功运行OpenWrt

    ·星光 2 高性能RISC-V单板计算机体验】以容器的方式安装 HomeAssistant

    ·星光 2 高性能RISC-V单板计算机体验】以容器的方式安装 HomeAssistant 下载并启动容器 HomeAssisatant
    发表于 02-21 18:07

    ·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件

    ·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件 目的 为了更好的利用
    发表于 02-21 17:54

    ·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu

    ·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu 前言 很感谢
    发表于 02-21 17:49

    ·星光2 RISC-V单板计算机体验(三) - SSH连接

    ·星光2 RISC-V单板计算机体验(三) - SSH连接 一、官方资料 RISC-V官网: [https://rvspace.org]
    的头像 发表于 02-21 10:21 466次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(三) - SSH连接

    ·星光2 RISC-V单板计算机体验(二) - 系统环境

    ·星光2 RISC-V单板计算机体验(二) - 系统环境 一、官方资料 RISC-V官网: [https://rvspace.org]
    的头像 发表于 02-21 10:15 611次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(二) - 系统环境

    ·星光2 RISC-V单板计算机体验(一) - 开箱

    ·星光2 RISC-V单板计算机体验(一) - 开箱 一、开箱 ·星光2( VisionFi
    的头像 发表于 02-21 10:10 634次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(一) - 开箱

    ·星光 2 高性能RISC-V单板计算机试用体验】开箱及装载Debian系统

    上周收到了·星光 2高性能RISC-V单板计算机开发板,在此非常感谢
    发表于 01-24 00:32

    256核!发布全新RISC-V众核子系统IP平台

    (Dubhe-90)的高性能RISC-V众核子系统IP平台。 StarLink-700是科技自研的支持缓存一致性的Interconnect Fabric IP,是国内首款Mesh架
    发表于 11-29 13:37