首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分子动力学模拟器的最佳语言,可在生产中运行。(Python+Numpy?)

分子动力学模拟器的最佳语言,可在生产中运行。(Python+Numpy?)
EN

Stack Overflow用户
提问于 2011-08-05 05:03:53
回答 4查看 2.1K关注 0票数 4

我需要造一个重型分子动力学模拟器。我想知道python+numpy是不是一个好的选择。这将在生产中使用,所以我想从一种好的语言开始。我想知道我是否应该从像eg.scala这样的函数式语言开始。我们是否有足够的库支持scala中的科学计算?或者您认为好的任何其他语言/范例组合--以及原因。如果你确实在过去建立了一些东西,并从经验中谈论,请提及它,因为它将有助于我收集数据点。

非常感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-05 05:20:14

高性能的MD实现往往是绝对势在必行的(而不是函数式的),大量的数据胜过面向对象的设计。我使用过LAMMPS,虽然它有它的缺点,但它确实完成了工作。也许更吸引人的选择是HOOMD,它从一开始就针对带有CUDA的Nvidia GPU进行了优化。HOOMD没有LAMMPS的所有功能,但界面看起来更好(它可以从Python编写脚本),而且它的性能非常高。

实际上,我已经使用面向对象的高级设计实现了几次自己的MD代码(Java和Scala),并且发现与经过大量调优并使用C++/CUDA的流行MD实现相比,性能令人失望。如今,似乎很少有科学家编写自己的MD实现,但能够修改现有的实现是有用的。

票数 12
EN

Stack Overflow用户

发布于 2011-08-05 05:16:01

  1. 你为什么要这么做?有许多好的、免费的分子动力学软件包你可以使用:LAMMPSGromacsNAMDHALMD都会立即浮现在脑海中(还有一些不太免费的软件包,如CHARMM、AMBER等)。修改其中的任何一个来满足你的目的将会比编写你自己的要容易得多,这些包中的任何一个,有成千上万的用户和几十个贡献者,都会比你写的任何东西更好。yourself.
  2. Python+numpy对于原型开发来说是很好的,但是它将会比C/C++/Fortran慢得多(是的,即使使用numpy链接到快速的库中),C/C++/Fortran是其他所有人都使用的。除非你正在使用图形处理器,在这种情况下,所有困难的工作都是在用C/C++编写的内核中完成的。
票数 6
EN

Stack Overflow用户

发布于 2011-08-05 05:11:57

我相信大多数高性能的MD代码都是用本地语言编写的,比如Fortran、C或C++。现代GPU编程技术最近也受到青睐。

像Python这样的语言将允许比本机代码更快的开发。另一方面,它的性能通常比编译后的本机代码差。

有个问题要问你。为什么你要写你自己的MD代码?外面有很多很多的库。你就找不到一个适合你需要的吗?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6948483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档