c++中进行矩阵运算如何才能比matlab快?

欧巴不知道你值的是那些操作,如果是乘法,算法所限,你不可能有本质的提高。又比如求逆,相信广大屌丝程序员立马会意识到:高斯-乔丹,小于五阶用伴随除矩阵以行列式,然后用SSE优化浮点速度。想再快就得去翻论文了,可是matlab那群鸟人,就是写论文的人,他们的数学知识是我等码农无法相比的,而matlab十几年前就在做SSE优化。你唯一能做的就是算法上的突破,一旦逆袭高斯-乔丹算法,你必将为国争光,名垂青史。
不过作为一个屌丝,你得明白,必须要抓住一切机会逆袭,因为题目只要求快,其他的限制一概没有,而matlab好像只有在特定情况下,才会有并行支持,所以逆袭计划如下:
1 去换块好的显卡,最好是geforce泰坦.
2 去下个opencl
3 把数据发到泰坦上,开个1000条线程算,就用最通用G-J算法好了。
4 完爆matlab。
其实在着色器里算,更快,因为着色器对程序的控制流程有一定限制,目的就是为了速度,而且着色器的并行程度比matlab高。
当然你也许会问,你这屌丝都懂的问题,别人matlab怎么可能不知道?他们还真知道,不过matlab需要支持任意精度,而且他不知道你啥时候需要并行,啥时候不需要,也不知道你的显卡是啥。至于最新的matlab版本是否支持基于GPU的并行计算,这个俺也不知道,好久没玩过了。如果支持的话,你就省事了。
其实你可以去关注一下并行计算的三方库,特别是那些支持OpenCL的。

转载于:https://www.cnblogs.com/Crysaty/p/6103925.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值