你不是登录。你的编辑将被放置在一个队列,直到同行评议

我们欢迎编辑,使读者更容易理解和更有价值。因为社区成员审查编辑,请尽量使文章更好比你怎么发现,例如,通过修正语法或添加额外的资源和超链接。

现代化科学Fortran语言代码库

亲爱的地球江南体育网页版科学社区,

我寻求一个现代化大型Fortran语言项目,与地理空间NetCDF文件。这种语言的要求包括:

  • 坚如磐石的NetCDF图书馆(我们不想重新发明轮子)。
  • 优秀的支持向量和矩阵(如通过操作符重载或类似的东西)。
  • 本机性能是必要的(编译或jit编译)。
  • 必须是开源的。
  • 理想情况下,简单的绑定和Fortran(不是一个严格的要求)。

Python+numpy不是一个真正的可选项,因为定制数据与本机的性能。即使numpy在C语言中,实现对矩阵进行操作的项目包括自定义算法,我们不想写这些在Python C .我知道吗可以优化通过调用C或Fortran,但我不认为这种优化与我们的团队将会发生。因此,我是寻求一种语言,默认“快速”。茱莉亚似乎对这个交付更好的默认“快速”的承诺,而Python更像是“快速”如果你有合适的优化。

Matlab是行不通的,因为它的专利许可。

C是行不通的,因为它几乎没有“现代化”一个Fortran代码库。

可能是不够成熟的科学计算吗?

茱莉亚可能是一个有前途的选择,因为它结合了Python的缓解与本机的性能。

芬兰湾的科特林可能会很有趣,因为它结合了JVM的强度与本机代码编译的可能性。

斯威夫特将是一个伟大的语言,但我不确定是否足够成熟我的目标域。

C + + 20生锈附加选项,可能是有趣的,但是我担心这些语言的复杂性(记住,这是地球科学家,不是计算机科学家)。

选择你喜欢的一个渐进Fortran和NetCDF文件替换吗?

回答

取消
4
  • 1
    \ begingroup美元 谢谢你的分享。我知道Python可以优化通过调用C或Fortran,但我不认为这种优化与我们的团队将会发生。因此,我寻求语言快速默认情况下。茱莉亚似乎提供更好的在这个默认“快速”的承诺,而Python更像“快如果你有正确的优化到位”。 \ endgroup美元
    - - - - - -Mike76
    2020年11月12日,在本周
  • 1
    \ begingroup美元 对我们的团队来说,一个巨大的语言莫过于并不重要,只要它是一个维护良好的语言。所有我们需要的是NetCDF和基本的矩阵运算,所以我们可以尝试茱莉亚,即使它不是Python一样成熟。 \ endgroup美元
    - - - - - -Mike76
    2020年11月12日23:09
  • 1
    \ begingroup美元 @Mike76:如果涉及到大量的数据处理,处理的速度是很重要的。从速度基准研究的报告我看过,为了速度,最快3语言通常是C, c++和Fortran。茱莉亚的语言通常是下一层位置4,5或6。我建议茱莉亚。 \ endgroup美元
    - - - - - -弗雷德
    2020年11月12日23:16
  • 1
    \ begingroup美元 据我所见,茱莉亚是“接近本机性能”。这似乎是足够好;我愿意牺牲一个小的性能,为了克服缓慢的C / c++开发周期/ Fortran。 \ endgroup美元
    - - - - - -Mike76
    2020年11月12日23:20

Baidu
map