高性能计算阅读材料

计算科学 并行计算 高性能计算 显卡 库达 开放式
2021-12-19 08:23:49

我是一名本科生,对HPC充满热情。我目前熟悉OpenMP、MPI、CUDA、OpenCL、推力库等工具。但我想知道这些工具的核心功能,我想知道这些环境究竟是如何工作的,以充分利用硬件。如果有人能给我推荐一些阅读材料甚至是一些 MOOC 视频,那就太好了。

阅读完材料后,如果我能很好地了解图书馆的编写方式,那就太好了。也许有一天,如果需要的话,我什至可以写一个。

提前致谢。

2个回答

英特尔OpenMP 运行时库已开源,因此您可能已经了解了其中的一些函数。开源的MPI库很多(MPICH2、OpenMPI、MVAPICH2等),而且MPI接口是标准化的,阅读标准文档可以有所启发。OpenMP 也是标准化的,因此您也可以考虑一下。CUDA 基本上是一种专有的 NVIDIA 语言,所以不要期望获得太多关于其内部运作的信息。Thrust 也是开放的,因此如果您愿意,可以在 GitHub 上浏览它,不过在此之前您可能会花一些时间查看 C++ STL 和 Boost。

这个问题出现很久了,反正我是引用书上的:

劳伯,托马斯;Rünger, Gudula多核和集群系统的并行编程,柏林:Springer(ISBN 978-3-642-37800-3/hbk;978-3-642-37801-0/ebook)。十三,516 页。(2013)。ZBL1295.68012

我引用了书中描述的两段摘录

Rauber 和 Rünger 通过详细描述并行编程技术来了解处理器架构的这些最新发展,这些技术对于开发多核处理器以及并行集群系统和超级计算机的高效程序是必要的。

本书的主要目标是介绍可在多种情况下用于广泛应用领域的并行编程技术,使读者能够开发正确且高效的并行程序。

它与特定的库无关,但我发现它对于 HPC 世界的并行部分来说是一本好书。