美文网首页
2018-05-27 第八周

2018-05-27 第八周

作者: 朝着他们笑 | 来源:发表于2018-06-15 09:02 被阅读0次

    LycorisNet之并行计算的实现

    毫无疑问LycorisNet是需要实现多核计算的,上学期又恰好选修了一门“多核并行计算”的课,这一次不禁也想应该会轻松一些。主流的并行计算实现也就那么几种,Pthread、OpenMPI、MPI等等。

    Lycoris采用C++ 11规范,在了解C++ 11规范的时候,了解到C++ 11中还有一个标准化的库std::thread。std::thread是对不同平台上不同并行实现的封装,试用了一下之后竟然发现相当好用,因此最后Lycoris版本中也使用它作为并行的基础架构。虽然std::thread还有很多不完善的地方,很多并行计算所需的高级用法基本没有,但是对于此项目中相当纯粹的独立任务,std::thread还是够用的。

    实现的部分代码如下:

    样例代码中实现的是mutate(突变)的并行化,并行逻辑相比Pthread简单太多了。

    相关文章

      网友评论

          本文标题:2018-05-27 第八周

          本文链接:https://www.haomeiwen.com/subject/ydlpeftx.html