异构计算中的程序设计
发布时间
阅读量:
阅读量
异构计算编程
异构计算系统一般由通用处理器与多个面向特定领域的处理器构成:通用处理器作为控制单元(通常被称为主机),主要负责执行复杂的控制与调度任务;而面向特定领域的处理器作为从属单元(通常称为MLU),则承担大规模并行运算以及领域相关计算任务的处理。主机与MLU协同配合,共同完成各类计算任务。针对异构计算系统,传统的同构并行编程模型已无法适用。因此,异构并行编程模型在学术研究和工业应用中逐渐受到广泛关注。本文对MLU异构编程进行了简要介绍。
编译链接过程
异构编程涉及Host与MLU两个部分。对于主机端而言,主要包括设备资源的获取、数据及参数的准备、执行流程的建立、任务描述的设定、内核程序的启动以及结果输出的获取等环节。Entry函数是运行于MLU上的程序组件,能够调用MLU提供的各类函数接口。MLU程序采用基于异构编程模型扩展后的C/C++语言进行编写,并通过MLU专用编译器进行二进制文件的生成。

MLU异构程序的编译与链接流程
如图2所示,MLU异构程序采用独立的编程方式,即将主机程序与MLU程序分别编写在不同的文件中,即主机文件和内核文件。为了实现
全部评论 (0)
还没有任何评论哟~
