我是一名生物学家,我正在尝试学习计算机语言。但是,当我尝试了解lpthread库时,结果似乎很奇怪,因为结果低于顺序版本。
事实上,我仍在阅读 Tanenbaum 的书。但我的主要重点是学习计算 RNA 二级结构的基础知识。所以我在一本书中找到了对 nussinov 算法的解释,并确实实现了它。但是当我尝试制作一个并行版本时,我相信我可能错过了重点,因为这是我第一次接触并行实现。
我的问题是:
1. 我应该如何为这个算法实现数据并行版本?
2. 为什么我的实现比顺序的稍慢?
该代码可在:https ://gist.github.com/drenge/6395472 (每个文件是不同的版本并行/顺序)