高性能计算 (HPC) 是一门使用一组尖端计算机系统执行复杂模拟、计算和数据分析的艺术和科学,这是现有标准商业计算系统无法实现的。
HPC 计算机系统的特点是其高速处理能力、高性能网络和大内存容量,具备执行大量并行处理任务的能力。超级计算机是一种非常先进的 HPC 计算机,提供极强的计算能力和极高的速度,是高性能计算系统的关键组成部分。
近年来,HPC 已从专注于基于模拟的科学研究的工具演变为兼具模拟和机器学习 (ML) 能力的工具。HPC 系统应用范围的扩展势头强劲,是因为基于物理的模拟与 ML 的结合缩短了气候建模、药物发现、蛋白质折叠和计算流体动力学 (CFD) 等领域获取科学洞察的时间。
超级计算机的基本系统架构。
推动 HPC 和 ML 演变的一个关键因素是图形处理器 (GPU) 技术的发展。GPU 是专门设计用于并行处理大量数据的计算机芯片,非常适合某些 HPC 任务,因此目前是 ML/AI 计算的常规选择。高性能 GPU 与软件优化相结合,使 HPC 系统能够执行复杂的模拟和计算,而且速度比传统计算系统快得多。
高性能计算之所以重要,有以下几个原因:
HPC 彻底改变了研究和工程的进行方式,从提高工业流程的效率到灾难响应和缓解,再到加深我们对周围世界的理解,都对我们生活的许多方面产生了深远影响。
高性能计算是指将多台计算机的计算能力组合起来,执行单台计算机无法完成的大规模任务。HPC 的工作原理如下:
通过利用多台计算机的组合能力,HPC 使大规模模拟、数据分析和其他计算密集型任务能够快速完成,所需时间仅为单台计算机执行这些任务所花费时间的一小部分。
高性能计算集群是一组紧密互连的计算机,这些计算机以单系统形式并行运行,以执行大规模计算任务。HPC 集群旨在提供高性能和可扩展性,使科学家、工程师和研究人员能够解决单台计算机无法处理的复杂问题。
HPC 集群通常由许多单独的计算节点组成,每个节点都配备了一个或多个处理器、加速器、内存和存储。这些节点通过高性能网络连接,使它们能够共享信息并协作执行任务。此外,集群通常包含专门用于管理资源(如调度作业、分发数据和监控性能)的软件和工具。通过分割数据和分配任务以并行执行任务,可以实现应用加速。
使用传统 HPC 加速训练数据。
来源:人工智能与高性能计算在 NSF 支持的网络基础设施上的融合 | Journal of Big Data | 全文 (springeropen.com) 中的图表数据
气候模型用于模拟地球气候的行为,包括大气、海洋和陆地表面。这些模拟可能是任务密集型任务,需要大量数据和并行计算,因此非常适合 GPU 加速的 HPC 系统。通过使用 GPU 和其他并行处理技术,气候科学家可以运行更详细、更准确的模拟,从而更好地了解地球气候和人类活动的影响。随着这一用例不断取得进展,预测能力将会增强,并可用于设计有效的缓解和适应策略。
新药物的发现和开发是一个复杂的过程,需要模拟数百万种化合物才能找到有可能治疗疾病的化合物。传统的药物发现方法因计算能力不足而受到限制,但 HPC 和 GPU 技术使科学家能够运行更详细的模拟并部署更有效的 AI 算法,从而加快新药物的发现速度。
蛋白质折叠是指蛋白质折叠成三维结构的过程,这些结构对其功能至关重要。了解蛋白质折叠对于开发阿尔茨海默氏症和癌症等疾病的治疗方法至关重要。HPC 和 GPU 技术使科学家能够更高效地运行蛋白质折叠模拟,从而更好地了解该过程并加速新疗法的开发。
计算流体动力学 (CFD) 模拟用于对真实世界系统中的流体行为 (例如飞机周围的空气流动) 进行建模。利用 HPC 和 GPU 技术,工程师能够运行更详细、更准确的 CFD 模拟,有助于改进风力涡轮机、喷气发动机和各种类型的运输车辆等系统的设计。
HPC 和 ML/Al 对用于模拟地球行为的气候建模产生了重大影响。
科学和工程领域中一些最常用的高性能计算应用包括:
有多种计算机代码用于分子动力学 (MD) 模拟,其中最常用的代码包括:
有多种计算机代码用于 CFD 模拟,其中最常用的代码包括:
有多种计算机代码用于气候建模,其中最常用的代码包括:
有多种计算机代码用于计算化学,其中最常用的代码包括:
有多种计算机代码用于机器学习,其中最常用的代码包括:
这些代码提供广泛的机器学习算法,包括监督式学习和无监督学习、深度学习和强化学习。它们广泛用于图像和语音识别、自然语言处理和预测分析等任务,是解决计算机视觉、机器人和金融等领域内复杂问题的重要工具。
以下是高性能计算的一些入门方法: