原始文章:https://chipsandcheese.com/2024/03/13/loongson-3a6000-a-star-among-chinese-cpus/
我昨天中午的纯机翻(未做任何修改调整):https://zhuanlan.zhihu.com/p/686955785
Guee机翻后“矫正”的:https://zhuanlan.zhihu.com/p/687105879
昨天在龙芯吧,纠正他们chipsandcheese对比6000的时候是Zen1,而不是Zen2,想不到龙芯吧部分吧友倒打一耙,说我夹带私货。我很好奇为啥龙芯吧会认为纯机翻的文章会夹带私货,直到我看到了Guee的翻译文章,来,我们来欣赏下Guee是如何夹带私货的:
一、Guee提到“(译者注:libx264中的热点代码对龙芯LoongArch架构的汇编优化有所不足,特别是在向量指令的使用方面,通过编译器直接产生的二进制代码很难比得上程序员细致调优的手写汇编代码。)”
libx264是开源的,网上也有很多关于libx264的解析文章,看一下大致代码结构就知道在误导其他人,和x86类似,loongarch的核心热点代码都是汇编格式的,且大量使用向量指令,代码参考(很明显Loogarch架构也是手写汇编,而且大面积使用向量指令,当然guee要是觉得人家技术不行,可以参与优化,期待你的优化结果):
https://code.videolan.org/videolan/x264/-/blob/master/common/loongarch/pixel-a.S?ref_type=heads
二、Guee提到“所有四个单元都可以处理封装为256位的浮点加法运算,使3A6000具有非常强的浮点性能。竞争对手(译者注:兆芯和海光)的x86 CPU每个周期只能进行两次封装为256位的浮点运算。龙芯对封装为256位的浮点乘法和基本整数运算的性能与Zen 2相似。”
这里存在两处错误:
2.1、整片文章CC对比的都是AMD的Zen1、Zen2、Zen3、Zen4,以及Intel的Golden Cove,这里的竞争对手明显指的是Intel和AMD。然后查阅一下数据Zen2 只有两个FADD,Intel6-10代酷睿也是两个FADD,所以从微架构数据看CC的描述也应该指的是AMD和Intel。再者实际上这段文字后面跟着一张截图,截图中用的是Zen2,所以显然作者想说的x86竞争对手是Intel和AMD。(6000拥有4个FADD)
2.2、CC原文说的是每个周期2个256bit浮点加法,但是到了Guee变成了“浮点运算”
三、关于5000的内存控制器,Guee额外增加了延迟的描述,原文并没有
四、结束语的时候,
结束语中CC有这样的描述“We already saw the 3950X comfortably pull away from the 3A6000 in core for core tests.That gap will only widen when more than four Zen 2 cores come into play.”,但是到了Guee这边变成了“龙芯还将与Zen 2作斗争,我们已经看到3950X在核心对核心的测试中战胜了3A6000,但只有当超过四个Zen 2核心发挥作用时,这种差距才会扩大。”
原作者的“comfortably pull away ”Guee刻意忽略,把机翻的这些词删除。并且第二句原作者显然想表达的意思是Zen2在性能评测中轻松拉开6000的差距,如果核心数增多这种差距会进一步扩大(而不是你的“核心数增多后这种差距才会扩大”,显然曲解原作者意思)。
直接翻译,和Guee表达的意思并不一样:
五、Guee把With Zen1翻译成“主频4.0GHz左右的Zen 1架构的CPU”显然和作者表达的意思不相符,原文根本没有提到频率,而且CC测试时7-Zip 6000只有Zen1 四核1800X的86%性能,人家显然不会做这样的描述。
Guee也改了后面句话的翻译,从英文字面意思看,非常明显,表达的是each core(每个核心)only has a single hardware thread active.(只有一个硬件物理线程活动)
CC为什么要加这样一句话,主要是在7-Zip测试时,8线程情况下6000只有1800X(4核心)的86%性能,但是如果在4C4T情况下,两者基本是差不多的,所以CC加上这一句让自己的描述更严谨(毕竟前面测试结果是86%,只有四线程情况下两者性能才类似)。
1800X 8线程多核性能提升较大,超过6000的8线程,只有在4线程情况下两者成绩才类似:
当然其他细节应该还有,精力有限,先写这些。
最后:在技术文章夹带私货一直是Guee擅长的,本吧吧友要好好学习。
我昨天中午的纯机翻(未做任何修改调整):https://zhuanlan.zhihu.com/p/686955785
Guee机翻后“矫正”的:https://zhuanlan.zhihu.com/p/687105879
昨天在龙芯吧,纠正他们chipsandcheese对比6000的时候是Zen1,而不是Zen2,想不到龙芯吧部分吧友倒打一耙,说我夹带私货。我很好奇为啥龙芯吧会认为纯机翻的文章会夹带私货,直到我看到了Guee的翻译文章,来,我们来欣赏下Guee是如何夹带私货的:
一、Guee提到“(译者注:libx264中的热点代码对龙芯LoongArch架构的汇编优化有所不足,特别是在向量指令的使用方面,通过编译器直接产生的二进制代码很难比得上程序员细致调优的手写汇编代码。)”
libx264是开源的,网上也有很多关于libx264的解析文章,看一下大致代码结构就知道在误导其他人,和x86类似,loongarch的核心热点代码都是汇编格式的,且大量使用向量指令,代码参考(很明显Loogarch架构也是手写汇编,而且大面积使用向量指令,当然guee要是觉得人家技术不行,可以参与优化,期待你的优化结果):
https://code.videolan.org/videolan/x264/-/blob/master/common/loongarch/pixel-a.S?ref_type=heads
二、Guee提到“所有四个单元都可以处理封装为256位的浮点加法运算,使3A6000具有非常强的浮点性能。竞争对手(译者注:兆芯和海光)的x86 CPU每个周期只能进行两次封装为256位的浮点运算。龙芯对封装为256位的浮点乘法和基本整数运算的性能与Zen 2相似。”
这里存在两处错误:
2.1、整片文章CC对比的都是AMD的Zen1、Zen2、Zen3、Zen4,以及Intel的Golden Cove,这里的竞争对手明显指的是Intel和AMD。然后查阅一下数据Zen2 只有两个FADD,Intel6-10代酷睿也是两个FADD,所以从微架构数据看CC的描述也应该指的是AMD和Intel。再者实际上这段文字后面跟着一张截图,截图中用的是Zen2,所以显然作者想说的x86竞争对手是Intel和AMD。(6000拥有4个FADD)
2.2、CC原文说的是每个周期2个256bit浮点加法,但是到了Guee变成了“浮点运算”
三、关于5000的内存控制器,Guee额外增加了延迟的描述,原文并没有
四、结束语的时候,
结束语中CC有这样的描述“We already saw the 3950X comfortably pull away from the 3A6000 in core for core tests.That gap will only widen when more than four Zen 2 cores come into play.”,但是到了Guee这边变成了“龙芯还将与Zen 2作斗争,我们已经看到3950X在核心对核心的测试中战胜了3A6000,但只有当超过四个Zen 2核心发挥作用时,这种差距才会扩大。”
原作者的“comfortably pull away ”Guee刻意忽略,把机翻的这些词删除。并且第二句原作者显然想表达的意思是Zen2在性能评测中轻松拉开6000的差距,如果核心数增多这种差距会进一步扩大(而不是你的“核心数增多后这种差距才会扩大”,显然曲解原作者意思)。
直接翻译,和Guee表达的意思并不一样:
五、Guee把With Zen1翻译成“主频4.0GHz左右的Zen 1架构的CPU”显然和作者表达的意思不相符,原文根本没有提到频率,而且CC测试时7-Zip 6000只有Zen1 四核1800X的86%性能,人家显然不会做这样的描述。
Guee也改了后面句话的翻译,从英文字面意思看,非常明显,表达的是each core(每个核心)only has a single hardware thread active.(只有一个硬件物理线程活动)
CC为什么要加这样一句话,主要是在7-Zip测试时,8线程情况下6000只有1800X(4核心)的86%性能,但是如果在4C4T情况下,两者基本是差不多的,所以CC加上这一句让自己的描述更严谨(毕竟前面测试结果是86%,只有四线程情况下两者性能才类似)。
1800X 8线程多核性能提升较大,超过6000的8线程,只有在4线程情况下两者成绩才类似:
当然其他细节应该还有,精力有限,先写这些。
最后:在技术文章夹带私货一直是Guee擅长的,本吧吧友要好好学习。