2016-12-21

后来使用协程优化了下cuda的回测,让cuda和cpu并行,但提升不明显,果然只用单核的话cpu还是瓶颈,只能想办法利用多核了。

由于我比较讨厌线程锁之类的东西,所以一直以来结构是多进程的。但cuda用多进程运行太麻烦,要linux下开MPS服务,不得已开始着手修改成多线程方式。

之后c++11下面多线程开发意外的顺手,没几步就搞定了,还只用了3个锁,主要得益于thread_local说明符和barrier机制,完成后测试下来虽然一年的回测时间快了1倍到了0.025秒,可以25秒测1000次,但gpu利用率还是没用满。

这之后应该还能优化,可惜windows下工具不全,测不出哪里的问题,我不打算继续弄了,等买gtx1080后再说吧。


回主页