我正计划构建一个执行 HPC 的程序。我知道 C/C++ 在计算速度方面明显优于 Python。但是,我还不精通 C/C++,所以你认为在 Python 中构建一个功能齐全的原型,然后让其他人/我在未来用 C/C++ 重写它是明智的。
HPC 的编程语言
计算科学
Python
C++
C
高性能计算
2021-12-02 00:16:56
2个回答
如果你有这方面的专业知识,坚持使用 Python 可能是一个好主意。我假设这意味着您正在使用 numpy/scipy。根据您真正想要做什么,编写良好的 numpy/scipy 代码可以非常快,甚至可以与 C 性能相媲美。
如果你真的需要 C 的额外速度,你可以使用Cython,这样你就可以将大部分代码保留在 Python 中,而只用 C 编写瓶颈。
Python 可以毫无问题地用于 HPC。大多数计算密集型工作将使用 C/C++ 编写的库完成,例如 Numpy/Scipy。您也可以用 C/C++ 编写您的密钥算法。即使你想用 python 编写算法,也有很多方法可以获得与 C/C++ 相当的性能。Cython 将用类似 python 的语法编写的程序编译为 C;Numba 在需要时将您的关键算法(例如 python 函数)编译为 C。
HPC 不仅关乎单台计算机的性能,您还可以选择使用集群或 GPU 来进一步提高计算性能。Python 也很擅长。