明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 6287|回复: 8
打印 上一主题 下一主题

关于硬件浮点 编译选项配置问题

[复制链接]

43

主题

86

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
跳转到指定楼层
楼主
发表于 2017-2-8 10:39:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用的EK200 imax6单核 想编译一个包含硬件浮点的动态链接库 是否支持硬件浮点我的编译配置选项下:
arm-fsl-linux-gnueabi-g++ Process.cpp Util.cpp JNI_UTILS.cpp -pthread lib.so -shared -march=armv7-a -mfpu=neon -mcpu=cortex-a9 -mfloat-abi=softfp -fPIC -o lib2.so


回复

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
沙发
发表于 2017-2-13 11:15:25 | 只看该作者
-mfloat-abi=softfp
  -mfloat-abi=hard
  这两个参数都用来产生硬浮点指令,至于产生哪里类型的硬浮点指令,需要由-mfpu=xxx参数来指令。这两个参数不同的地方是:
         -mfloat-abi=softfp生成的代码采用兼容软浮点调用接口(即使用-mfloat-abi=soft时的调用接口),这样带来的好处是:兼 容性和灵活性。库可以采用-mfloat-abi=soft编译,而关键的应用程序可以采用-mfloat-abi=softfp来编译。特别是在库由第 三方发布的情况下。
         -mfloat-abi=hard生成的代码采用硬浮点(FPU)调用接口。这样要求所有库和应用程序必须采用这同一个参数来编译,否则连接时会出现接口不兼容错误。
回复 支持 反对

使用道具 举报

43

主题

86

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
板凳
 楼主| 发表于 2017-3-6 17:34:35 | 只看该作者
软件01 发表于 2017-2-13 11:15
-mfloat-abi=softfp
  -mfloat-abi=hard
  这两个参数都用来产生硬浮点指令,至于产生哪里类型的硬浮点指令 ...

Linux3.0.05和Linux3.14.52 使用的编译工具 不一样 gcc-4.9包含硬件浮点
这连个系统在硬件浮点方面有什么区别
回复 支持 反对

使用道具 举报

2

主题

15

帖子

100

积分

注册会员

Rank: 2

积分
100
地板
发表于 2017-6-3 21:15:18 | 只看该作者
你好,使用这些参数前后有测试过计算速度是否变快吗?
回复 支持 反对

使用道具 举报

43

主题

86

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
5#
 楼主| 发表于 2017-6-5 10:12:11 | 只看该作者
whxiaowang 发表于 2017-6-3 21:15
你好,使用这些参数前后有测试过计算速度是否变快吗?

其实速度变化不是很明显 ,但是在用浮点运算比较多的情况下应该是会比较明显的
回复 支持 反对

使用道具 举报

43

主题

86

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
6#
 楼主| 发表于 2017-6-6 11:51:01 | 只看该作者
whxiaowang 发表于 2017-6-3 21:15
你好,使用这些参数前后有测试过计算速度是否变快吗?

使用这些配置选项比不使用任何配置选项 大约能够快三倍
回复 支持 反对

使用道具 举报

2

主题

15

帖子

100

积分

注册会员

Rank: 2

积分
100
7#
发表于 2017-6-6 17:58:08 来自手机 | 只看该作者
jack 发表于 2017-6-6 11:51
使用这些配置选项比不使用任何配置选项 大约能够快三倍

我是3.14内核,gcc 4.9,方便说下你编译时用的具体指令吗
回复 支持 反对

使用道具 举报

43

主题

86

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
8#
 楼主| 发表于 2017-6-7 10:08:59 | 只看该作者
whxiaowang 发表于 2017-6-6 17:58
我是3.14内核,gcc 4.9,方便说下你编译时用的具体指令吗

CFLAGS += -lpthread -O3 -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -ftree-vectorize -ffast-math
回复 支持 反对

使用道具 举报

2

主题

15

帖子

100

积分

注册会员

Rank: 2

积分
100
9#
发表于 2017-6-7 22:29:32 | 只看该作者
jack 发表于 2017-6-7 10:08
CFLAGS += -lpthread -O3 -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -ftree-vectoriz ...

谢谢        我去试下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-23 17:25 , Processed in 0.063130 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表