41、英特尔AES - NI指令程序生成器与ECC2K - 130在NVIDIA GPU上的优化

英特尔AES - NI指令程序生成器与ECC2K - 130在NVIDIA GPU上的优化

1. 英特尔AES - NI指令程序生成器概述

代码生成器专注于特定子集的问题,对于优化占用大量处理时间且最佳优化方案不明显的小段代码非常理想。像AES - GEN这样的代码生成器,在很多领域都有成功应用,比如Spiral可生成线性变换代码,FFTW能生成离散傅里叶变换代码。

AES - GEN用于生成使用英特尔AES指令的代码。它读取带注释的源代码,通过迭代方法尝试找到在目标硬件上执行速度快的源代码变体。其优点在于能为程序员提供一个有用的实验工具,可对算法进行小的探索性更改,方便不同调度并快速评估,这具有极高的价值。

AES - GEN的一些成果如下:
- 代码性能与规模 :凭借良好的模调度器,AES - GEN能生成执行速度更快的代码,且代码规模不会大幅增加。
- 算法变体实现 :实现了AES CTR、CBC和GCM模式的多种算法变体。其中,AES计数器的标准实现与手工调优的汇编代码性能几乎相同;在Westmere架构上,AES CTR和AES CBC的每轮周期实现速度比英特尔公布的任何代码都快。
- 代码生成灵活性 :使用AES - GEN可以轻松生成处理任意数量输入流的CBC代码,只需在高级C代码中进行更改并重新运行生成器即可。
- 依赖减少策略 :针对循环依赖算法,通过利用异或操作的特性提出了依赖减少策略,取得了良好效果。若在汇编中进行这些更改和测试,将是一项耗时的任务。
-

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值