当前位置: 首页 > 专利查询>马晓菲专利>正文

基于GPU优化通用计算的方法和设备技术

技术编号:42893883 阅读:18 留言:0更新日期:2024-09-30 15:12
本发明专利技术公开一种基于GPU优化通用计算的方法和设备,依据OpenCL和CUDA编程标准,内核运行时固定线程数,然后把数据进行划分,每一个线程分配相应的数据,处理完这些数据,继续分配下一批数据,这些线程始终处于运行状态,直到所有任务处理完成,使得GPU可以连续执行任何任务量的程序,减少了对CPU的依赖,减少了对主机内存的访问次数,提高了运算效率,提高了易用性,减少了代码量,并且提出了改进GPU设备以及OpenCL和CUDA设计的新方案,大大加速了GPU通用计算效率。

【技术实现步骤摘要】

本专利技术公开一种基于gpu优化通用计算的方法和设备,依据opencl和cuda编程标准,设计相关算法,提高了运算效率,提高了易用性,并且改进gpu设备的设计,加速了gpu通用计算效率。


技术介绍

1、基于opencl或者cuda计算工具库,现在的gpu计算都是先确定总任务量,指定总线程数,然后指定每一个工作组(group)或者线程块(block)中的线程数,在opencl是group,在cuda是block。这种编程方式导致在总任务量一定的情况下,建立一个核函数,后面任务量发生改变的时候,必须建立另外一个核函数。需要cpu的参与调用这些不同的核函数,这使得程序的代码量增加,复杂性增加,易用性降低,运行效率低下。在gpu中编程不能像在cpu中那样自由,可以连续的编程,接受任意数量的不同的任务,而是受到总任务量的限制。另外在硬件设计上,现存gpu在一个group或者block中线程数受到限制,比如英伟达公司的rtx3090显卡有10496个流处理器,但是一个group里面最多只能运行1024个线程,障碍函数只能阻挡一个group里面1024个线程保持同步。在本文档来自技高网...

【技术保护点】

1.基于GPU优化通用计算的方法和设备,其特征在于,基于opencl或者CUDA,将局部线程量,即一组(group)或者一块(block)线程量,与总的线程量设置为相等。其特征在于,这个固定不变的线程量要连续处理任意的不同的任务量。

2.根据权利要求1,其特征在于对要处理的数据进行划分,给每个线程分配任务。待处理的数据划分为两个部分,假设第一部分数据量为m,则m=(T/lsize)*lsize,假设第二部分数据量为s,s=T%lsize,也就是说m是T中能整除lsize的部分,s是T扣除m剩余的部分。其中T=m+s。

3.根据权利要求2,其特征在于把数据划分为两个...

【技术特征摘要】

1.基于gpu优化通用计算的方法和设备,其特征在于,基于opencl或者cuda,将局部线程量,即一组(group)或者一块(block)线程量,与总的线程量设置为相等。其特征在于,这个固定不变的线程量要连续处理任意的不同的任务量。

2.根据权利要求1,其特征在于对要处理的数据进行划分,给每个线程分配任务。待处理的数据划分为两个部分,假设第一部分数据量为m,则m=(t/lsize)*lsize,假设第二部分数据量为s,s=t%lsize,也就是说m是t中能整除lsize的部分,s是t扣除m剩余的部分。其中t=m+s。

3.根据权利要求2,其特征在于把数据划分为两个部分,应用此方法进行的求和的方法以及核函数代码。

...

【专利技术属性】
技术研发人员:马晓菲
申请(专利权)人:马晓菲
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1