异构编译(heterogeneous compilation),理学-计算机科学技术-计算机软件-系统软件-编译系统,为异构计算平台编译生成目标代码的编译过程。异构计算平台将CPU与一个或多个加速设备集成在片上或主板上,以提高计算平台的整体性能并降低功耗。在异构计算平台上,CPU与加速器通常采用不同的指令集和体系结构,分别负责不同的任务:CPU作为主机(Host)负责执行控制代码,如获取输入、完成主机内存和加速器内存之间的数据传输、控制加速器执行计算任务、同步等工作;加速器负责执行特定的计算代码,如密集浮点计算等。和CPU相比,加速器通常面向特定领域,具有简单的架构和指令集,其计算能力更强、能效更高,目前常用的加速器有GPU、FPGA等。为了使应用程序能够有效利用异构计算平台,异构编译将源程序转换为可以在异构计算平台不同处理器上协同运行的目标代码。在异构程序中,编程者通过异构编程模型,针对不同架构处理器的特征,将任务显式划分到不同处理器上。编译器识别主机端的代码和加速器端的代码,并分别编译生成针对不同处理器的目标代码,最后通过链接器将目标代码链接生成可执行程序。