2024-10-01 09:32:19 发布
网友
我需要建造一个重型分子动力学模拟器。我想知道python+numpy是否是一个好的选择。这将用于生产,所以我想从一门好的语言开始。我想知道我是否应该从像例如斯卡拉. 我们有足够的库支持scala中的科学计算吗?或者其他任何你认为是好的语言/范式组合——以及为什么。如果你真的在过去建立了一些东西,并且是从经验谈的,请提及它,因为它将有助于我收集数据点。在
多谢了!在
高性能的MD实现往往是绝对必要的(与功能相反),大数组的数据胜过面向对象的设计。我曾经和LAMMPS合作过,虽然它有缺点,但它确实能完成任务。一个可能更吸引人的选择是HOOMD,它从一开始就针对带有CUDA的Nvidia GPU进行了优化。HOOMD并没有LAMMPS的所有特性,但是它的接口似乎更好(可以从Python编写脚本),而且性能非常好。在
像Python这样的语言将允许比本机代码更快的开发。另一方面,性能通常比编译的本机代码差。在
问你一个问题。你为什么要自己写MD代码?外面有很多图书馆。你找不到适合你需要的吗?在
高性能的MD实现往往是绝对必要的(与功能相反),大数组的数据胜过面向对象的设计。我曾经和LAMMPS合作过,虽然它有缺点,但它确实能完成任务。一个可能更吸引人的选择是HOOMD,它从一开始就针对带有CUDA的Nvidia GPU进行了优化。HOOMD并没有LAMMPS的所有特性,但是它的接口似乎更好(可以从Python编写脚本),而且性能非常好。在
我实际上已经使用了一个高级面向对象的设计实现了自己的MD代码(java和斯卡拉),并且与流行C++和Cu+/CUDA的流行MD实现相比,发现了令人失望的性能。如今,似乎很少有科学家编写他们自己的MD实现,但是能够修改现有的MD实现是很有用的。在像Python这样的语言将允许比本机代码更快的开发。另一方面,性能通常比编译的本机代码差。在
问你一个问题。你为什么要自己写MD代码?外面有很多图书馆。你找不到适合你需要的吗?在
相关问题 更多 >
编程相关推荐