OpenCL运行时系统框架的设计方法及装置的制造方法

文档序号:8543502阅读:309来源:国知局
OpenCL运行时系统框架的设计方法及装置的制造方法
【技术领域】
[0001] 本发明涉及信息技术领域,特别涉及一种化en化运行时系统框架的设计方法及 装置。
【背景技术】
[0002] 随着异构硬件系统逐渐成为主流,按照通用的编程方法在各个不同异构平台上进 行编程逐渐变得越来越重要。其中,异构硬件系统主要为CPlXcentralprocessingunit, 中央处理器)+GPU(GraphicProcessing化it,图像处理器)的异构硬件系统。具体地,在 异构系统中,通过化en化(化enComputingLanguage,开放运算语言)并行编程框架,编写 可W在对应的平台上执行的程序。
[0003] 目前,在化en化运行时系统中,通过首先由化en化kernel(操作系统内核)编译 器产生IR (Intermediate Representation,中间表示),然后在运行时,IR产生不同产品上 的可执行代码,从而实现对跨平台的支持。例如,AMD的化en化kernel编译器产生的CAL (Compute Abstraction Layer,计算抽象层)IR可W产生AMD不同产品上的可执行代码; Intel的Open化kernel编译器产生的LLVM化OWLevel Virtual Machine,低级别虚拟机) IR可W产生Intel不同产品上的可执行代码;NVIDIA的化en化kernel编译器产生的PTX (Parallel T虹eadExe州tion,并行线程执行)可W产生NVIDIA不同产品上的可执行代码。
[0004] 然而,目前通过IR产生不同产品上的可执行代码时,由于不同公司的化en化系统 框架不同,因此按照某一公司的化en化kernel编译器产生的IR,仅可W支持该公司的异 构平台,从而导致同一优化在不同平台上的实施及新平台的引入均需重新开发,进而导致 异构系统的平台开发复杂度较高。

【发明内容】

[0005] 本发明实施例提供一种化en化运行时系统框架的设计方法及装置,可W降低异 构系统的平台开发复杂度。
[0006] 本发明实施例米用的技术方案为:
[0007] 第一方面,本发明实施例提供一种化en化运行时系统框架的设计方法,包括:
[0008] 将化en化运行时系统框架划分为功能层、优化层及平台层,所述平台层包括平台 层中间表示IR、平台层实现框架及至少一个平台实现;
[0009]向所述功能层及所述优化层提供所述平台层IR,并向所述至少一个平台实现提供 所述平台层实现框架。
[0010] 结合第一方面,在第一方面的第一种可能的实现方式中,所述平台层IR包括构架 管理器manager及加速器manager。
[0011] 结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能 的实现方式中,所述平台层IR包括所述平台层IR的方法及所述平台层IR的描述,所述平 台层IR的方法包括强制平台层IR或者建议平台层IR。
[0012] 结合第一方面或者第一方面的第一种可能的实现方式,或者第一方面的第二种可 能的实现方式,在第一方面的第H种可能的实现方式中,所述向所述功能层及所述优化层 提供所述平台层IR的步骤包括:
[0013] 向所述功能层提供强制平台层IR;
[0014] 向所述优化层提供建议平台层IR;
[0015] 所述向所述优化层提供建议平台层IR的步骤之后,还包括:
[0016] 为所述建议平台层IR配置对应的优先级。
[0017] 结合第一方面或者第一方面的第一种可能的实现方式,或者第一方面的第二种可 能的实现方式,或者第一方面的第H种可能的实现方式,在第一方面的第四种可能的实现 方式中,所述向所述至少一个平台实现提供所述平台层实现框架的步骤之后,还包括:
[0018] 生成所述平台层IR。
[0019] 结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述生成所述平台层IR的步骤包括:
[0020] 生成所述平台层IR的描述;
[0021] 判断所述平台层IR的方法所占用的资源是否小于或者等于可用资源;
[0022] 若所述平台层IR的方法所占用的资源小于或者等于可用资源,则生成所述平台 层IR的方法;
[0023] 若所述平台层IR的方法所占用的资源大于可用资源,则按照所述平台层IR对应 的优先级,释放优先级最低的平台层IR所占用的资源。
[0024] 第二方面,本发明实施例提供一种化en化运行时系统框架的设计装置,包括:
[0025] 划分单元,用于将化en化运行时系统框架划分为功能层、优化层及平台层,所述 平台层包括平台层中间表示IR、平台层实现框架及至少一个平台实现;
[0026] 提供单元,用于向所述划分单元划分的所述功能层及所述优化层提供所述平台层 IR,并向所述至少一个平台实现提供所述平台层实现框架。
[0027] 结合第二方面,在第二方面的第一种可能的实现方式中,
[0028] 所述提供单元提供的所述平台层IR包括构架管理器manager及加速器manager。
[0029] 结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能 的实现方式中,
[0030] 所述提供单元提供的所述平台层IR包括所述平台层IR的方法及所述平台层IR 的描述,所述平台层IR的方法包括强制平台层IR或者建议平台层IR。
[0031] 结合第二方面或者第二方面的第一种可能的实现方式,或者第二方面的第二种可 能的实现方式,在第二方面的第H种可能的实现方式中,
[0032] 所述提供单元,具体用于向所述功能层提供强制平台层IR;
[0033] 所述提供单元,具体还用于向所述优化层提供建议平台层IR;
[0034] 所述装置还包括;配置单元;
[00巧]所述配置单元,用于为所述建议平台层IR配置对应的优先级。
[0036] 结合第二方面或者第二方面的第一种可能的实现方式,或者第二方面的第二种可 能的实现方式,或者第二方面的第H种可能的实现方式,在第二方面的第四种可能的实现 方式中,所述装置还包括;生成单元;
[0037] 所述生成单元,用于生成所述平台层IR。
[0038] 结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式 中,所述生成单元包括:生成模块、判断模块、释放模块;
[0039] 所述生成模块,用于生成所述平台层IR的描述;
[0040] 所述判断模块,用于判断所述平台层IR的方法所占用的资源是否小于或者等于 可用资源;
[0041] 所述生成模块,还用于当所述判断模块判断所述平台层IR的方法所占用的资源 小于或者等于可用资源时,生成所述平台层IR的方法;
[0042] 所述释放模块,用于当所述判断模块判断所述平台层IR的方法所占用的资源大 于可用资源时,按照所述平台层IR对应的优先级,释放优先级最低的平台层IR所占用的资 源。
[0043] 本发明实施例提供的化en化运行时系统框架的设计方法及装置,首先将化en化 运行时系统框架划分为功能层、优化层及平台层,平台层包括平台层中间表示IR、平台层实 现框架及至少一个平台实现,然后向功能层及优化层提供平台层IR,并向至少一个平台实 现提供平台层实现框架。与目前通过不同公司的IR产生该公司产品的可执行代码相比,本 发明实施例通过将化en化运行时系统框架划分为功能层、优化层及平台层,能够实现同一 优化直接在不同平台上实施,并且当引入新平台时仅需对平台层进行开发,从而可W降低 异构系统的平台开发复杂度。
【附图说明】
[0044]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据该些附 图获得其它的附图。
[0045] 图1为本发明实施例一提供的一种化en化运行时系统框架的设计方法流程图;
[0046] 图2为本发明实施例一提供的一种化en化运行时系统框架;
[0047] 图3为本发明实施例一提供的一种化en化运行时系统框架的设计装置的结构示 意图;
[0048] 图4为本发明实施例一提供的一种化en化运打时系统的结构不意图;
[0049] 图5为本发明实施例二提供的一种化en化运行时系统框架的设计方法流程图;
[0050] 图6为本发明实施例二提供的一种化en化运行时系统框架的设计装置的结构示 意图;
[0051] 图7为本发明实施例二提供的一种化en化运行时系统的结构示意图。
【具体实施方式】
[0052] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1