一早,群里有人问了一个问题:
我觉得这是个非常不错的问题,你基本上也可以将这个问题延申成:
我的机器里可以插一片RTX3080和一片RTX4090?
或者,
我的机器里可以插一片RTX卡和一片Tesla卡么?
那么A800和H800到底能不能组成算力超级战队呢?这个问题得从两个角度来看:
首先,我们来看它们在同一台机器上的耦合能力。
A800卡主打的就是互联能力,可以实现P2P访问和共享显存。两张A800卡通过P2P Access可以互联,互相借用和访问显存,没问题!可是历代的NV卡都不能跨计算能力版本进行P2P Access,所以A800和H800之间就无法互联了,失去了彼此互联和聚合显存的能力。这个互联能力可是A800的重要卖点呢!也是为什么A100卡不具备这个功能(因为它的互联速度太高了),所以才降速后变成A800卡。所以,如果混用A800和H800,它们就无法互联,失去了各自的特色,那可就没意义了。所以从这个角度来看,不建议混用这两种卡。
不过,如果是在同一台机器上组合使用,那还是有办法的。假设出于预算的原因,你先装了一张A800卡,然后等有了预算之后再加一张H800卡,这样是可以的。不过,编写程序的时候就需要注意不同计算能力的功能区别了。比如说,A800的计算能力只有8.0,每个SM内部都没有内置TMA这种DMA数据传输引擎,而H800可是有的哦!为了充分发挥两张卡的性能,得写不同版本的代码,针对不同的卡进行优化。当然,如果时间和预算有限,可能无法利用新卡的新功能特性,那就当做性能更高的旧卡来用好了。嘿嘿,虽然有点亏,但也是可以接受的。
至于跨机器的情况,比如说多台机器组成一个机架,依然可以混合使用A800和H800卡。这时候实际上就是一个应用软件的高层小集群啦,多台机器上同时跑一个虚拟的大分布式应用软件。这种情况下,用起来当然是没问题的。不过,在任务调度过程中可能会遇到一些麻烦。因为新卡可能更快,而旧卡在某些应用下可能相对慢一点。所以调度任务的能力就很重要了,得保持多张卡或多台机器之间的负载平衡,避免某些旧卡成为整个系统性能的瓶颈,嘿嘿,调度起来可是有点小麻烦呢。
而且要注意哦,这种多机器的组合通常用于分布式深度学习训练,这可是前面说到的应用的特例啊!很多人买回来就是为了组成多机器的大团队。在这种情况下,也许不需要用户自己写代码,只需选择一个强大的分布式训练框架就行了。嘿嘿,这个框架要能同时应对不同特性和性能的硬件配置,就得看框架本身了。
所以嘛,A800和H800到底能不能组成算力集群呢?在同一台机器上紧密耦合在一起的话,不建议混用哦!但是如果先上了一张A800,然后再有预算上一张H800,那是可以用起来的,只需注意编写不同版本的代码。而对于多台机器构成的机架,混合使用A800和H800也是可行的,只是在任务调度方面需要多加小心。总之,能用起来就好,但别让它们各自的特色和性能白白浪费啊!嘿嘿~
以上仅代表我们的观点,如果您有补充或者不同意见,欢迎留言,我们一起来探讨!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有