专利名称:编译处理方法及装置的制作方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种编译处理方法及装置。
背景技术:
通用处理单元(General Processing Unit ;以下简称GPU)与中央处理单元 (Central Processing Unit ;以下简称CPU)设计理念不同。GPU把大部分晶体管用在算术 逻辑单元(Arithmetic Logic Unit ;以下简称ALU)上;而CPU除了逻辑运算单元,大部分 晶体管用来做cache (缓存)和Control Unit (控制单元)上,与CPU相比,GPU拥有更多 的可以用于计算的核心,在高性能计算上具有明显优势,导致GPU开发使用范围非常广泛。如下表1所示,Nvidia公司推出的Cuda编程语言可以在Nvidia GPU硬件下运 行,可以支持Windows操作系统和Linux操作系统。Opencl编程语言可以在所有(ALL)GPU 硬件运行,可以支持Windows操作系统和Linux操作系统。Brook和Brook+编程语言可以 在ATI (Array Technology Industry ;简称ATI)技术公司推出的ATI GPU硬件下运行,支 持Linux操作系统。DirectComputer编程语言可以在所有(ALL) GPU硬件运行,可以支持 Windows操作系统。表 权利要求
一种编译处理方法,其特征在于,包括接收原程序;将所述原程序编译成能够在目标环境运行的目标程序,以供所述目标程序在所述目标环境下运行。
2.根据权利要求1所述的编译处理方法,其特征在于,将所述原程序编译成能够在目 标环境运行的目标程序,具体包括将所述原程序编译成能够在Windows操作系统下、所有 通用处理单元上运行的目标程序。
3.根据权利要求1所述的编译处理方法,其特征在于,将所述原程序编译成能够在 目标环境运行的目标程序,具体包括将所述原程序编译成能够在Windows操作系统下、 Nvidia通用处理单元上运行的目标程序。
4.根据权利要求2或者3所述的编译处理方法,其特征在于,所述目标程序为Cuda、 Opencl 或者 DirectComputer0
5.根据权利要求1所述的编译处理方法,其特征在于,将所述原程序编译成能够在目 标环境运行的目标程序,具体包括将所述原程序编译成能够在Linux操作系统下、所有通 用处理单元上运行的目标程序。
6.根据权利要求1所述的编译处理方法,其特征在于,将所述原程序编译成能够在目 标环境运行的目标程序,具体包括将所述原程序编译成能够在Linux操作系统下、Nvidia 通用处理单元或者ATI通用处理单元上运行的目标程序。
7.根据权利要求5或者6所述的编译处理方法,其特征在于,所述目标程序为Cuda、 Opencl、Brook 或者 Brook+。
8.根据权利要求1_3、5和6任一所述的编译处理方法,其特征在于,所述将所述原程序 编译成能够在目标环境运行的目标程序的过程中,同时将所述原程序中的串行语句转换为 并行语句。
9.一种编译处理装置,其特征在于,包括接收模块,用于接收原程序;编译处理模块,用于将所述原程序编译成适合目标环境运行的目标程序,以供所述目 标程序在所述目标环境下运行。
10.根据权利要求9所述的编译处理装置,其特征在于,所述编译处理模块,具体用于 将所述原程序编译成能够在Windows操作系统下、所有通用处理单元或者Nvidia通用处理 单元上运行的目标程序,以供所述目标程序在所述目标环境下运行;或者用于将所述原程 序编译成能够在Linux操作系统下、所有通用处理单元或者Nvidia通用处理单元或者ATI 通用处理单元上运行的目标程序,以供所述目标程序在所述目标环境下运行。
全文摘要
本发明提供一种编译处理方法及装置。其方法包括接收原程序;将所述原程序编译成能够在目标环境运行的目标程序,以供所述目标程序在所述目标环境下运行。本发明的技术方案能够支持多种GPU开发环境,便于实现GPU通用计算的跨平台和跨硬件。与现有技术相比,不仅使用方便,还能够有效地降低在各种GPU开发环境之间进行开发的开发成本。
文档编号G06F9/45GK101963916SQ20101029667
公开日2011年2月2日 申请日期2010年9月28日 优先权日2010年9月28日
发明者佟小龙 申请人:中国科学院地质与地球物理研究所;北京吉星吉达科技有限公司