CCTV

CCTV

0个粉丝

1

问答

0

专栏

1

资料

CCTV  发布于  2017-08-22 11:36:38
采纳率 0%
1个问答
2431

HiSi3519V101 高手请进A17核跑乘法太慢不科学

     
本帖最后由 CCTV 于 2017-8-22 11:36 编辑

需求:
        项目想在A17上利用ARM主频高跑一下图像算法;

分析:目前跑了一个大量乘法,代码见附件,A17核占用100%,没有H264编解码;
Mem: 85052K used, 111928K free, 0K shrd, 3053453473K buff, 4294967294K cached
CPU0:  1.1% usr  2.2% sys  0.0% nic 96.6% idle  0.0% io  0.0% irq  0.0% sirq
CPU1:  100% usr  0.0% sys  0.0% nic  0.0% idle  0.0% io  0.0% irq  0.0% sirq

  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
18655 18654 root     R    32132 16.2   1 50.3 ./cpu_test_Hi3519

同样程序在不同平台测试性能差异巨大,
Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz        测试需要 400 ms(毫秒)

nvidia Jetson-TX1 [email]Cortex-A57@1.9GHz[/email]             测试在700ms(毫秒)

HiSi3519V101     [email]Cortex-A17@1.25GHz[/email]             测试需要14s(秒)

Ti-DM8167         [email]Cortex-A8@1.0GHz[/email]                 测试需要900ms(毫秒)



对比测试HiSi3519 1.25G主频应该和DM8167能力相对,但是测试相差太远,不科学。谁有HiSi3519V101 环境可测试一下附件代码,编译选项 gcc   -O3  
易百纳技术社区文件: cpu_test.rar
下载
我来回答
回答15个
时间排序
认可量排序

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-22 11:56:06
认可0
用ARM核 来跑图像处理(尤其是复杂的算法) 本身就是不靠谱的事情

CCTV

0个粉丝

1

问答

0

专栏

1

资料

CCTV 2017-08-22 13:02:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62711&ptid=23241]zhuangweiye 发表于 2017-8-22 11:56[/url]
用ARM核 来跑图像处理(尤其是复杂的算法) 本身就是不靠谱的事情[/quote]

非常感谢你的关注和回复。
项目不是跑很复杂的算法,我们在其他平台(主频超过1GHz)都能跑起来,
这个测试程序(不用NEON加速)在Ti DM8167 A8@1GHz 上不到1秒的时间,而HiSi3519的主频高(1.25GHz)还是A17架构应该更快才对;但是相差好10倍?

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-22 14:08:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62716&ptid=23241]CCTV 发表于 2017-8-22 13:02[/url]
非常感谢你的关注和回复。
项目不是跑很复杂的算法,我们在其他平台(主频超过1GHz)都能跑起来,
这个 ...[/quote]

速度问题牵扯很广

如果测试程序是浮点运算,那么

海思SDK里面有这样的说明
"文件系统中的库是采用软浮点和neon编译而成"

hi3519v101

0个粉丝

5

问答

0

专栏

0

资料

hi3519v101 2017-08-22 14:55:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62732&ptid=23241]zhuangweiye 发表于 2017-8-22 14:08[/url]
速度问题牵扯很广

如果测试程序是浮点运算,那么
[/quote]

那个测试程序是定点的。海思为毛性能那么垃圾呢。

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-22 15:01:50
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62752&ptid=23241]hi3519v101 发表于 2017-8-22 14:55[/url]
那个测试程序是定点的。海思为毛性能那么垃圾呢。[/quote]

            double sum = 0;

            for (ky = -(kernelH - kernelY - 1); ky <= kernelY; ky++)
                for (kx = -(kernelW - kernelX - 1); kx <= kernelX; kx++)
                {
                    int dy = y + ky;
                    int dx = x + kx;

                    if (dy < 0) dy = 0;

                    if (dx < 0) dx = 0;

                    if (dy >= dataH) dy = dataH - 1;

                    if (dx >= dataW) dx = dataW - 1;

                    sum += h_Data[dy * dataW + dx] * h_Kernel[(kernelY - ky) * kernelW + (kernelX - kx)];
                }

            h_Result[y * dataW + x] = (int)sum;

这个算是定点吗?

hi3519v101

0个粉丝

5

问答

0

专栏

0

资料

hi3519v101 2017-08-22 16:41:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62754&ptid=23241]zhuangweiye 发表于 2017-8-22 15:01[/url]
double sum = 0;

            for (ky = -(kernelH - kernelY - 1); ky = dataW) dx = da ...[/quote]

随便瞄了一眼,没仔细看。:Q

prada

0个粉丝

2

问答

0

专栏

0

资料

prada 2017-08-23 16:53:08
认可0

用ARM核 来跑图像处理(尤其是复杂的算法) 本身就是不靠谱的事情

wfknife_free

0个粉丝

4

问答

0

专栏

0

资料

wfknife_free 2017-08-23 21:23:17
认可0
这个如果你的核大小固定的话 优化优化能到你pc 的速度

CCTV

0个粉丝

1

问答

0

专栏

1

资料

CCTV 2017-08-25 15:24:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62847&ptid=23241]wfknife_free 发表于 2017-8-23 21:23[/url]
这个如果你的核大小固定的话 优化优化能到你pc 的速度[/quote]

你也试过性能测试对比吗?若真是和PC差不多的话,那应该是我们的开发板不是运行在最大性能上。

CCTV

0个粉丝

1

问答

0

专栏

1

资料

CCTV 2017-08-25 15:25:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62754&ptid=23241]zhuangweiye 发表于 2017-8-22 15:01[/url]
double sum = 0;

            for (ky = -(kernelH - kernelY - 1); ky = dataW) dx = da ...[/quote]

纯定点运算

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-25 15:31:43
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62967&ptid=23241]CCTV 发表于 2017-8-25 15:24[/url]
你也试过性能测试对比吗?若真是和PC差不多的话,那应该是我们的开发板不是运行在最大性能上。[/quote]

也许把 double sum = 0 改成 int sum = 0 比较好

CCTV

0个粉丝

1

问答

0

专栏

1

资料

CCTV 2017-08-25 16:14:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62969&ptid=23241]zhuangweiye 发表于 2017-8-25 15:31[/url]
也许把 double sum = 0 改成 int sum = 0 比较好[/quote]

确实速度上来了,整个做完2.03s,但是还不理想...

zhuangweiye

0个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-25 16:28:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62976&ptid=23241]CCTV 发表于 2017-8-25 16:14[/url]
确实速度上来了,整个做完2.03s,但是还不理想...[/quote]

一般来说,这种有硬件加速的芯片, ARM核的目标不是运算

楼主的测试代码涉及面很多,比如浮点,乘法累加,cache

虽然都号称是同一架构的,各家的设计多少会有不同,因此不好评价

不过有一点可以肯定,直接用ARM来跑不是好的选择,必要的优化是必须的

zhanghongquan

0个粉丝

0

问答

0

专栏

0

资料

zhanghongquan 2017-12-13 16:53:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=62976&ptid=23241]CCTV 发表于 2017-8-25 16:14[/url]
确实速度上来了,整个做完2.03s,但是还不理想...[/quote]

速度你考虑一下缓存问题!

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2017-08-22 13:48:35
认可0
:victory::victory::victory::victory::victory::victory::victory:
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区