[发明专利]使用GPU/CPU体系结构的RSA的高效实现有效
申请号: | 201180075165.X | 申请日: | 2011-11-30 |
公开(公告)号: | CN103959238A | 公开(公告)日: | 2014-07-30 |
发明(设计)人: | 康晓珠;B·乔治;K·陆 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/45 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 高见 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 gpu cpu 体系结构 rsa 高效 实现 | ||
背景
图形处理单元上的通用计算(GPGPU)是使用通常只处理计算机图形的计算的图形处理单元(GPU)来为传统上由CPU处理的应用程序执行计算的技术。GPU越来越多地用于通用计算。GPU更加适合于带有丰富的并行性的面向吞吐量的工作负荷,诸如任务并行(粗粒的(coarse grained))或数据并行(细粒的(fine grained))计算。相比之下,CPU更加适合于等待时间敏感的并具有隐式指令级并行性的应用程序。
可以得益于GPGPU的一个特定示例是RSA处理。RSA是用于公钥加密的算法。缩写词RSA代表Rivest、Shamir,以及Adleman,他们是首先公开地描述该算法的个人。RSA加密与解密是从计算上来说昂贵的算法。更多研究工作聚焦于加速RSA解密,因为解密从计算上来说比加密昂贵得多。最近的CPU上的RSA解密的最佳CPU实现仍耗费大约0.7百万个周期。将这样的昂贵的操作分摊到GPU可以提高效率并使CPU解脱,来执行其他任务。然而,简单地将CPU RSA实现移植到GPU将导致较差的性能,而不会使用GPU的并行处理能力。相应地,需要改善的技术来解决这些及其他问题。
附图简述
图1示出了适用于实现本发明的各实施例的异构硬件体系结构的框图。
图2示出了适用于实现本发明的各实施例的示例工具集和执行模型的框图。
图3示出了适用于实现本发明的各实施例的示例编程模型的框图。
图4示出了逻辑流程的一个实施例。
图5示出了逻辑流程的一个实施例。
图6示出了可以适用于实现本发明的各实施例的系统的实施例。
图7示出了其中可以实现图6的系统的小形状因子设备的各实施例。
详细描述
异构型处理器体系结构将GPU以及CPU集成到同一管芯上。尽管CPU更加适合于等待时间敏感的并具有隐式指令级并行性的应用程序,但是,GPU针对带有丰富的并行性的面向吞吐量的工作负荷。当面向吞吐量的和面向等待时间的处理核存在于同一管芯上时,可能希望利用一前一后(in tandem)操作的这样的核来解决异构工作负荷。从性能角度来看,位于处理器管芯上的GPU可以从尖端CPU制造过程接收到增强以及访问大的芯片上缓存。此外,在CPU和GPU存储器之间传输数据的开销可以通过共享同一个主存储器来消除。然而,为了充分利用这样的有效率的集成的体系结构,需要能够在现有的开发环境内无缝地利用GPU加速的编程平台。
C用于媒体(C-for-media:Cm)平台就是这样的平台。最初开发Cm平台是为了在集成的GPU上启用供应商特定的专有的视频处理算法。传统上,视频处理阶段的加速是通过嵌入在图形驱动器中的内核来实现的。当应用程序作出应用程序编程接口(API)调用时,驱动器将访问并执行这些内核以提供加速服务。
Cm平台可以描述为用于利用异构型处理器体系结构中的CPU和GPU的协作执行环境。Cm平台的组件可以包括Cm语言、其实现(例如,编译器)和Cm运行时。Cm语言可以是对C/C++的简单扩展,该扩展在较高的抽象级别提供表达数据并行性的直观接口。Cm语言被设计成有效率地利用GPU的单指令多数据(SIMD)能力。Cm运行时管理执行环境,而同时支持允许开发人员从它们的现有的C/C++应用程序调用GPU的API。Cm编译器可以从以Cm编写的针对GPU的源代码生成优化的GPU机器代码指令,其中从下层GPU硬件中提取尽可能多的并行性。Cm编译器也可以包括允许在GPU上运行Cm程序的实时转换器(Jitter)。
Cm平台的目标是允许程序员保留他们的现有的为CPU并行化和/或优化的应用程序,但是,将应用程序的数据-并行或“整体并行(massive-parallel)”的段委托给管芯上的GPU。现代CPU对于通过各种体系结构技术来最小化连续的程序的执行时间以隐藏存储器等待时间并提取指令级并行性是理想的。此外,多个CPU以及每个CPU的多线程功能更加适合于粗粒的任务级并行性。另一方面,GPU是主要设计用于麻烦地并行的图形应用程序的面向吞吐量的处理器。因此,在它们的通用并且可编程的形式下,GPU天然地适合于带有丰富的并行性的数据并行程序段。Cm平台提供统一的编程环境以利用包括CPU和GPU的异构型处理器的全部潜力。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180075165.X/2.html,转载请声明来源钻瓜专利网。