安防峰会
您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
科普 正文
发私信给叉叉
发送

1

为什么用GPU挖比特币?

本文作者:叉叉 2013-07-12 17:10
导语:比特币挖矿越发火热的现在,想必很多人都知道靠显卡GPU运算挖矿速度远远高于CPU,当然即使GPU运算不能与专业矿机对比,但这不妨碍业余矿工对GPU运算的推崇。那么为什么GPU 运算相对 CPU 在比特币矿业中会占有绝对优势呢?今天就来解读一下 GPU 运算与比特币挖矿。首先CPU和GP

比特币挖矿越发火热的现在,想必很多人都知道靠显卡GPU运算挖矿速度远远高于CPU,当然即使GPU运算不能与专业矿机对比,但这不妨碍业余矿工对GPU运算的推崇。那么为什么GPU 运算相对 CPU 在比特币矿业中会占有绝对优势呢?今天就来解读一下 GPU 运算与比特币挖矿。

 

 

首先CPU和GPU在计算机中为了不同的使命,设计上不同:

1 CPU 主要为串行指令而优化,而GPU则是为大规模并行运算而优化。

2 现代的多核 CPU 针对的是指令集并行(ILP)和任务并行(TLP),而 GPU 则是数据并行(DLP)。

3 GPU 往往拥有更大带宽的 Memory,也就是所谓的显存,因此在大吞吐量的应用中也会有很好的性能。

 

CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。所以与CPU擅长逻辑控制和通用类型数据运算不同,GPU擅长的是大规模并发计算,适合于密码破解。


简单来说,CPU是通用运算简单说就是无脑算、暴力算不管是100个小朋友分苹果还是模拟地球都能分解成 1+1=2这类最基本的给暴力算出来。GPU 就是专门来处理高阶数学算法的,比如算出、光源、物体、视点、阴影的相对位置,这就要三角函数给堆出来。而比特币挖掘器采用的是SHA-256,这是由美国国家安全局发明的一种安全散列函数,一般用于密码加密与解密。这种算法会进行大量32位整数循环右移运算(Right-Rotate),很适合擅长大规模并发计算,破解密码的 GPU来运算。

 

以Folding@home为例,Folding@home是一个研究蛋白质折叠、误折、聚合及由此引起的相关疾病的分布式计算工程(与比特币模式类似)。最开始F@H仅支持CPU,后来加入了对PS3游戏机的支持,但同样是使用内置的CELL处理器做运算。F@H因ATI的加入为GPU计算翻开了新的一页,如今F@H第二代GPU客户端已经能够支持ATI和NVIDIA的全系列DX10 11 GPU。

使用CPU计算时间需要52天以上(i7-2600K)

使用GPU计算时间仅需要 7小时11分钟(GTS450)

 

不仅CPU 和 GPU存在巨大差距,不同架构的GPU也有相当大的差别。比特币的计算是基于SHA-256算法的,这个算法会有大量的位操作“Right-Rotate”,对于这个操作AMD显卡原生只需要1个硬件指令,而NVIDIA卡则需要用3个硬件指令来模拟,因此即使运算单元数量接近,AMD显卡的挖矿效率仍然比NVIDIA显卡要高。

 

当然现在也出现了使用动态Hash算法,达到仅限CPU挖矿的YaCoin,目前不支持GPU或者ASIC矿机。想用CPU挖矿的可以关注一下。偶尔玩玩主流的比特币的话,GPU还是最好的选择。

雷锋网原创文章,未经授权禁止转载。详情见转载须知

分享:
相关文章

文章点评:

表情

编辑

给一只六足机器人,你可以拯救地球。
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说