首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种GPU线程最大可用寄存器数量的快速测算方法 

申请/专利权人:北京麟卓信息科技有限公司

申请日:2024-04-30

公开(公告)日:2024-06-28

公开(公告)号:CN118113486B

主分类号:G06F9/50

分类号:G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.06.28#授权;2024.06.18#实质审查的生效;2024.05.31#公开

摘要:本发明公开了一种GPU线程最大可用寄存器数量的快速测算方法,通过构建用于创建设定长度的局部数组的第一核函数,局部数组的长度为常量,通过增加局部数组的长度来增加测试过程中线程所需使用的寄存器数量,获取具有不同长度局部数组的第一核函数的执行结果,并根据执行结果调整局部数组的长度后再重新执行第一核函数,直到满足退出条件为止,此时设置的局部数组长度的最小值即为线程在GPU内执行可用寄存器数量的最大值,实现了以软件方式度量GPU内线程可用寄存器的最大数量,并通过二分搜索提高了测算效率。

主权项:1.一种GPU线程最大可用寄存器数量的快速测算方法,其特征在于,具体包括以下步骤:步骤1、构建用于创建局部数组的第一核函数,将该局部数组记为第一数组,第一数组中的元素分别存储在不同寄存器中,第一数组的长度为常量,将该常量记为第一数组长度;步骤2、启动测试线程,设定当前数组长度的最小值及最大值;设定控制搜索方式转换的数组长度为临界值,搜索方式包括线性搜索和二分搜索,设定搜索步长的初始值,令当前搜索方式为线性搜索;步骤3、当最小值小于最大值时执行步骤4,否则执行步骤7;步骤4、若当前搜索方式为线性搜索,则令当前数组长度为最小值与搜索步长之和;当前数组长度的值不小于临界值时设置搜索方式为二分搜索并令当前数组长度为最小值与最大值的平均值后执行步骤5,当前数组长度的值小于临界值时执行步骤5;步骤5、采用当前数组长度作为第一数组长度设置第一核函数,执行第一核函数,获取执行结果作为标准执行结果;采用当前数组长度作为第一数组长度设置第一核函数,配置第一核函数以令其由GPU内创建的独立工作项执行,执行第一核函数,若执行正确则获取执行结果作为GPU执行结果,若执行失败则执行步骤7;步骤6、若GPU执行结果与标准执行结果一致,则令最小值为当前数组长度,同时在搜索方式为二分搜索时令搜索步长为当前值的二分之一,若搜索步长不大于阈值则执行步骤7,否则执行步骤3;若GPU执行结果与标准执行结果不一致,则令最大值为当前数组长度,同时在搜索方式为二分搜索时令搜索步长为当前值的二分之一,若搜索步长不大于阈值则执行步骤7,否则执行步骤3;步骤7、最小值即为GPU所能支持的最大局部变量数,也就是GPU内测试线程可用寄存器的最大数量,结束本流程。

全文数据:

权利要求:

百度查询: 北京麟卓信息科技有限公司 一种GPU线程最大可用寄存器数量的快速测算方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。