我不确定这类问题是否合适,但我在此问过这个问题,所以这里就是这样。
对于本学期大学的学科,我们的任务是采用一些现有的代码并将其并行化。我们有一些开放的结果,但开源实际上是我们获得现有代码的唯一方式。我可以编写一些代码,然后将其并行化,但是现有的代码(也许是我可以做出真正贡献的代码)最好,以避免将我的工作量加倍,效果不大。
我希望使用C#并使用新的Task并行库,但我很难找到一些C#开源项目,这些项目的计算成本足以使用并行化(并且还没有它)
有没有人有什么建议去看?或者C#只是没有足够的开源这样的东西(或许应该尝试C ++?)
答案 0 :(得分:4)
答案 1 :(得分:1)
查看Alglib,尤其是open source C# edition。它将包含许多矩阵和数组操作,非常适合TPL。
答案 2 :(得分:1)
我不知道这个项目的范围(如果它只是每周一次的任务或你的最终项目),但是一个受益于并行化的过程不必像Hans的链接文章所描述的那样“令人难以置信地平行”。如果出现以下情况,并行化问题将会受益:
通常线性解决但可以从并行化中受益的问题示例包括:
定义为“令人难以置信的并行”的过程通常是规模足够大但原子性和重复性的任何问题,并行处理是唯一可行的解决方案。汉斯链接的Wiki文章提到了常见的应用程序;通常,它们通常归结为对非常大的数据域的每个元素应用相对简单的计算。
答案 3 :(得分:0)
Project Bouncycastle在C#和java中实现了几种加密算法。也许其中一些并不像它们那样具有并行性。