在GPU中进行大整数计算时的存储资源分配方法及装置制造方法及图纸

技术编号:9765671 阅读:132 留言:0更新日期:2014-03-15 09:47
本发明专利技术公开了一种在图形处理器GPU中进行大整数计算时的存储资源分配方法及装置,在采用GPU线程执行各种大整数计算过程中,为每个线程分配寄存器,在线程执行大整数计算过程中,将线程当前执行的大整数计算的操作数和中间计算变量存储在该线程所分配的寄存器中,将线程当前执行的大整数计算的模数和其他数据存储在内存中。这样,GPU线程中的大整数计算要调用操作数和中间计算变量时,都可以直接重复调用已分配的寄存器获得,一方面减少GPU线程的寄存器使用量,提高线程的并行执行效率,另一方面为大整数计算保留必要的寄存器,能更加有效地提高大整数计算的执行速度。

【技术实现步骤摘要】
在GPU中进行大整数计算时的存储资源分配方法及装置
本专利技术涉及大整数计算技术,特别涉及一种在图形处理器(GPU,GraphicsProcessing Unit)中进行大整数计算时的存储资源分配方法及装置。
技术介绍
采用多核并行计算是提升处理器性能的重要方式,因此出现了包括海量并行结构运算单元的GPU,GPU已经发展成为了并行度高、多线程、计算快捷及内存带宽大的高性能通用处理器。GPU体系结构在组成上分为三层:第一层由若干个线程处理器簇(TPC,ThreadProcessing Cluster)组成,第二层由多个流多处理器(SM, Streaming Multiprocessor)组成,第三层为构成SM的流处理器(SP, Stream Processor),也可以称为线程处理器。SM作为GPU的一个任务执行和调度单元,主要负责执行GPU分发的线程指令,而SP是GPU中最基本的指令执行单元,其执行的操作由所属的SM控制。2006 年 NVIDIA 公司推出了统一计算设备架构(CUDA, Compute Unified DeviceArchitecture)可编程平台,通过对本文档来自技高网...

【技术保护点】
一种在图形处理器GPU中进行大整数计算时的存储资源分配方法,其特征在于,GPU线程执行大整数计算过程中,包括:线程当前执行的大整数计算的模数和与线程当前执行的大整数计算无关的其他数据存储在内存中,所述其他数据为除了线程当前执行的大整数计算的操作数、中间计算变量和模数之外的数据;线程当前执行的大整数计算的操作数和中间计算变量存储在线程所分配的寄存器中;线程调用分配的寄存器中的大整数计算的操作数和中间计算变量,调用内存中的大整数计算的模数,进行大整数计算。

【技术特征摘要】
1.一种在图形处理器GPU中进行大整数计算时的存储资源分配方法,其特征在于,GPU线程执行大整数计算过程中,包括: 线程当前执行的大整数计算的模数和与线程当前执行的大整数计算无关的其他数据存储在内存中,所述其他数据为除了线程当前执行的大整数计算的操作数、中间计算变量和模数之外的数据; 线程当前执行的大整数计算的操作数和中间计算变量存储在线程所分配的寄存器中; 线程调用分配的寄存器中的大整数计算的操作数和中间计算变量,调用内存中的大整数计算的模数,进行大整数计算。2.如权利要求1所述的方法,其特征在于,当大整数计算采用模加、模减或模乘时,所述线程当前执行的大整数计算的操作数为源操作数、中间计算变量及目的操作数; 所述内存包括GPU的常数内存和全局内存,其中,将线程当前执行的大整数计算的模数存储在所述常数内存中,将与线程当前执行的大整数计算无关的其他数据存储在全局内存中。3.如权利要求2所述的方法,其特征在于,所述大整数计算应用在SM2算法中时,所述模数为素数P和基点G的阶η。4.如权利要求3所述的方法,其特征在于,当大整数计算采用模加时,所述中间计算变量为加法之和; 当大整数计算采用模减时,所述中间计算变量为算数减法之差; 当大整数计算采用模乘时,所述中间计算变量为算数乘法之积和其中快速模约减运算中多次迭代计算中产生的结果。5.如权利要求1~4任一所述的方法,其特征在于,完整的大整数计算由多个GPU线程同时完成; 所述线程所分配的寄存器大小...

【专利技术属性】
技术研发人员:荆继武潘无穷顾青向继赵原李淼谢超
申请(专利权)人:中国科学院数据与通信保护研究教育中心
类型:发明
国别省市:

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

1