【技术实现步骤摘要】
OpenCL程序编译方法和编译器
本申请涉及计算机处理
,更具体的说是涉及一种OpenCL程序编译方法 和编译器。
技术介绍
OpenCL (Open Computing Language,开放运算语言)是面向异构系统首个通用目 的的并行编程开放式、免费标准语言,其为软件开发人员提供了统一的编程环境,以便于为 高性能计算服务器、桌面计算系统、手持设备等编写高效轻便的代码。 OpenCL程序主要分成两部分:设备程序和主机程序。例如一个异构系统由CPU和 GPU组成时,在CPU上运行的程序为主机程序时,在GPU上运行的程序即为设备程序。OpenCL 程序的执行过程主要包括:主机程序控制数据从主机端传输到设备端,设备端执行设备程 序对数据进行处理,主机程序控制将处理结果数据从设备端传输到主机端。 由上述OpenCL程序的执行过程可知,影响OpenCL程序执行效率的主要是数据传 输阶段以及设备程序执行阶段,因此OpenCL程序提供了两种数据传输模式,即复制模式和 映射模式。复制模式是指将数据从主机内存复制到设备内存,或者从设备内存复制到主机 内存,由于数据需要在系统真正复制传输,因此在复制模式下,OpenCL程序在数据传输阶段 耗时较长,但是在设备程序执行时,由于数据已经位于设备内存中,因此设备程序执行阶段 耗时较短;映射模式是指在数据传输阶段,仅是建立设备内存到主机内存的映射关系,数据 仍是位于主机内存中,因此数据传输阶段的耗时较短,但是设备程序执行时,需要访问主机 内存中的数据,导致设备执行阶段耗时较长。 专利 ...
【技术保护点】
一种开放运算语言OpenCL程序编译方法,其特征在于,包括:获取OpenCL程序的源程序文件,并确定所述源程序文件中定义的操作数据的第一数据传输模式;计算所述操作数据分别在所述第一数据传输模式和第二数据传输模式下的执行消耗时间,所述第二数据传输模式与所述第一数据传输模式不同,所述执行消耗时间包括所述操作数据的数据传输时间和设备程序执行时间;选择所述执行消耗时间较小的数据传输模式作为所述源程序文件编译时所述操作数据的编译数据传输模式;按照所述编译数据传输模式生成编译执行代码文件。
【技术特征摘要】
1. 一种开放运算语言OpenCL程序编译方法,其特征在于,包括: 获取OpenCL程序的源程序文件,并确定所述源程序文件中定义的操作数据的第一数 据传输模式; 计算所述操作数据分别在所述第一数据传输模式和第二数据传输模式下的执行消耗 时间,所述第二数据传输模式与所述第一数据传输模式不同,所述执行消耗时间包括所述 操作数据的数据传输时间和设备程序执行时间; 选择所述执行消耗时间较小的数据传输模式作为所述源程序文件编译时所述操作数 据的编译数据传输模式; 按照所述编译数据传输模式生成编译执行代码文件。2. 根据权利要求1所述的方法,其特征在于,所述计算所述操作数据分别在所述第一 数据传输模式和第二数据传输模式下的程序执行消耗时间包括: 验证所述操作数据按照所述第二数据传输模式处理时,所述操作数据是否安全; 当所述操作数据安全时,计算所述操作数据分别在所述第一数据传输模式和所述第二 数据传输模式下的程序执行消耗时间。3. 根据权利要求2所述的方法,其特征在于,当所述第一数据传输模式为复制模式, 所述第二数据传输模式为映射模式,所述验证所述操作数据按照所述第二数据传输模式处 理,所述操作数据是否安全包括: 分析在程序执行过程中,是否存在主机端对所述操作数据的写操作,若否,确定所述操 作数据按照所述第二数据传输模式处理时安全; 当所述第一数据模式为映射模式,所述第二数据传输模式为复制模式时,所述验证所 述操作数据按照所述第二数据传输模式处理,所述操作数据是否安全包括: 分析在程序执行过程中,是否存在设备端对所述操作数据的写操作,若否,确定所述操 作数据按照所述第二数据传输模式处理时安全。4. 根据权利要求1?3任一项所述的方法,其特征在于,所述第一数据传输模式为复制 模式时,所述第二数据传输模式为映射模式;或,所述第一数据传输模式为映射模式时,所 述第二数据传输模式为复制模式; 所述计算所述操作数据分别在第一数据传输模式和第二数据传输模式下的执行消耗 时间包括: 根据所述操作数据的总数据量以及数据传输速率,计算复制模式下所述操作数据的数 据传输时间; 根据设备程序执行过程中,对所述操作数据的内存访问总数据量以及访问设备端的内 存访问速率,计算所述复制模式下所述操作数据的设备程序执行时间; 将所述复制模式下计算的数据传输时间以及设备程序执行时间之和,作为所述操作数 据在所述复制模式下的执行消耗时间; 根据主机端与设备端的映射关系建立以及消除时间,计算映射模式下所述操作数据的 数据传输时间; 根据设备程序执行过程中,对所述操作数据的内存访问总数据量以及访问主机端的内 存访问速率,计算所述映射模式下所述操作数据的设备程序执行时间; 将所述映射模式下计算的数据传输时间以及设备程序执行之和,作为所述操作数据在 所述映射模式下的执行消耗时间。5. 根据权利要求4所述的方法,其特征在于,所...
【专利技术属性】
技术研发人员:刘颖,
申请(专利权)人:华为技术有限公司,中国科学院计算技术研究所,
类型:发明
国别省市:广东;44