高性能计算研究
- E级计算机系统研制
- 高性能计算应用软件研发
- 并行编程框架
- 应用协同开发优化平台和工具
- 软件示例
- 高性能计算环境研发
E级计算机系统研制
- 高性能互联
- 计算、编程、运行模型
应用驱动的新型可扩展基础算法(适用于E级计算的可计算物理建模与新型计算方法)
高性能计算应用软件研发
并行编程框架
并行计算是高性能计算下的一个细分领域,其主要思想是将复杂问题分解成若干个部分,将每一个部分交给独立的处理器(计算资源)进行计算,以提高效率。
并行编程框架是用于在计算机系统中实现并行计算的软件库、工具集或编程模型。针对不同的问题,并行计算需要专用的并行架构,架构既可以是专门设计的,含有多个处理器的单一硬件或超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群
这些框架旨在简化并行编程的复杂性,并允许程序员更轻松地利用多核处理器、分布式系统或超级计算机等高性能计算平台的潜力
常见的并行编程框架:
-
OpenMP(Open Multi-Processing):OpenMP是一种针对共享内存系统的并行编程模型。它使用基于指令的编译器指示来指定并行化的区域,允许程序员将串行代码转换为并行代码。OpenMP适用于多核处理器,并且在许多编程语言(如C, C++, Fortran)中都有支持。
-
MPI(Message Passing Interface):MPI是一种用于在分布式内存系统中进行消息传递的并行编程模型。它适用于构建在多个计算节点上运行的并行应用程序,允许节点之间通过消息交换进行通信和同步。
-
CUDA(Compute Unified Device Architecture):CUDA是由NVIDIA开发的并行编程框架,针对NVIDIA的GPU(图形处理单元)进行并行计算。它允许程序员在GPU上执行大规模的并行计算,特别适用于处理图形、深度学习和科学计算等任务。
-
OpenCL(Open Computing Language):OpenCL是一种开放标准的并行编程框架,可用于异构计算环境中的并行计算,包括GPU、CPU和其他加速器。它提供了跨不同设备的通用并行计算支持。
-
TBB(Intel Threading Building Blocks):TBB是由英特尔开发的C++模板库,用于简化多核处理器上的并行编程。它提供了高级别的抽象,使得开发者可以更轻松地编写并行程序。
-
Spark:Apache Spark是一个快速、通用的分布式计算系统,支持内存计算,用于大规模数据处理和分析。它提供了易于使用的API,支持多种编程语言。
这些并行编程框架都旨在提高计算效率和性能,并使开发者能够更好地利用现代计算机体系结构的并行处理能力。选择合适的并行编程框架取决于应用程序的需求、目标平台和开发者的偏好。
应用协同开发优化平台和工具
- 大规模前后处理可视化工具
- 性能与能效调优工具
- 大规模并行应用软件资源库
软件示例
- 大型流体机械并行计算软件
- 多层次可扩展异构并行软件
- 复杂工程力学高性能应用软件
- 发展高精度应力单元算法
高性能计算环境研发
-
计算服务化模型及体系架构
-
虚拟数据空间