2016-12-16

优化了我好几天,现在1年回测速度从0.4秒提高到了0.04秒,这才像样,但gpu占用率还是有空一半,应该还有些优化余地。

之前主要0.3秒的消耗都在cpu对结果排序上面,现在把排序也移到了cuda中进行。 本来觉得少量的排序移到cuda中也不会有什么改进,但实际效果还是超出预期了。

最后结果看下来cuda的计算中,反而排序占计算量第一了,其次是显存内存间copy的消耗,最后才是信号的计算消耗。不过即便如此还是比cpu快了30倍。而且越复杂的信号,提升的倍数越多。

Lua和c结合做这些真的是非常流畅,接下去尝试用Lua的协程和cuda的异步结合,让gpu计算时cpu也同时做工作。

然而cuda这么给力,导致我以前写的东西可能需要进行重构,我打算借这个机会,休息一段时间,学习学习新东西,再继续开动,正好用来等新设备更新。


回主页