抱歉,如果这一切看起来不清晰,但我目前正在学习 Netlogo 来模拟基于代理的集体行为,并且很想听听一些关于替代软件选择的建议。我的主要事情是我非常想利用 PyCuda,因为据我所知,它支持并行计算。但是,这是否意味着我仍然必须在其他环境中编写数字脚本并在另一个环境中实现视觉效果???
如果是这样,我的问题是:
我应该使用什么数值包? PyEvolve、DEAP 或其他? PyEvolve 似乎不再开发,DEAP 只是过时的(?)EAP 的包装。
在图形方面,我发现 mayavi2 和 vtk 很有前途。问题是,似乎没有一个数字包很容易绑定(bind)到这些。有没有比将数值输出保存到数据文件并将它们提供给 mayavi2 更好的替代方法?
另一种选择是通过 Netlogo 生成数据并将它们输入 (2) 中的图形包。这样做有什么坏处吗?
非常感谢您阐明这一困惑。
请您参考如下方法:
除非遇到严重的性能问题,否则您几乎肯定不想使用 CUDA。一般来说,CUDA 最适合用于解决浮点线性代数问题。如果您正在寻找围绕并行计算构建的框架,我会考虑 OpenCL,它可以在需要时利用 GPU。
在可视化方面,我强烈建议以特定的数据交换格式为目标,然后让其他程序为您进行渲染。我会使用像 VTK 这样的东西的唯一原因是,如果出于某种原因你需要对可视化过程有更多的控制,或者你正在寻找一个实时的解决方案。
