- 主题:痛斥龙芯在新架构LoongArch上的摇摆性和软弱性
很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,那就该跟MIPS彻底一刀两断算了。
可是不知怎么的,龙芯好像就是放不下 MIPS 似的,在软硬件接口的ABI上耍小聪明,最后被人集体抵制,愣是搞出了一个“旧世界”和“新世界”的问题,给在 LoongArch 上开发软件的人挖个坑。这个问题就不再说了,反正龙芯现在也已经认识到错误了,老老实实搞“新世界”了。但这一番折腾就是很多人力和时间浪费了。
再说说这 LoongArch 指令集的事,作为一个后起的指令集,通过向前辈和优秀架构学习借鉴,吸取别人的教训,LoongArch 这点做的应该还好,至少某些部分值得表扬,学得好抄的好。 但不彻底的旧毛病又来了。就比如说LoongArch 的所谓向量指令,纯粹就是挂羊头卖狗肉,其实就是 SIMD。 在向量指令方面,RISC-V的先进经验真正的向量处理龙芯却不学习了。那这二者的差别在哪里呢?太专业的在这里就不说了,简单说就是真向量比假向量的SIMD 优越太多了,特别是从软件人员的角度来说。 第一就是指令数量会少,用户的学习负担减轻,我每次看到鼓吹什么“新增了成千上万的指令”的吹嘘时就想掐死处理器的设计者----你他娘的就是想累死给你写软件的吗? 第二呢,就是当硬件寄存器宽度加倍时,SIMD每次都得新增成千上万条新指令,那就意味着软件必须至少重新编译才能提升性能,而RISC-V用的真向量软件不用任何修改就能利用硬件实现性能提升,从软件人员的角度来看太幸福了。 第三呢,这个向量技术还有个最大的好处,不用考虑知识产权,随便用随便抄,因为那是上世纪70年代的,不论是20年专利还是50年著作权全部过期了,就是你直接一字不漏抄别人的手册也没事,当然结合现在技术实现如果做出创新,知识产权属于自己。
那有人会问英特尔等等大家这些年不都搞的SIMD吗?不错,好像还真是从RISC-V才又在除了特定领域内重新提起了传统的向量。这其实有些就是历史包袱问题。但 LoongArch 产生在 RISC-V之后,本该没什么历史包袱的,可偏偏因为龙芯曾经在MIPS 时代搞了些SIMD之类的包袱,舍不得丢掉一直拖到了 LoongArch 之中。 不过现在龙芯不公开它的SIMD指令集资料,也许是它意识到了这个问题;假如龙芯一直不公开其SIMD相关指令集,最后直接发布给出一个真正的RISC-V类似的真向量指令那就太好了。在SIMD和向量指令上,龙芯又一次摇摆了(确切说是站SIMD的贼船了)。
最后再说说龙芯LoongArch这指令集的设计思想好像还停留在MIPS刚出来时或者之前那个年代。那个年代处理器指令怎么设计,完全是硬件人员自己说了算,从来不考虑软件人员的感受。软件人员呢,硬件处理器有什么指令就用什么指令,硬件没有的指令只能通过软件人员的各种花式操作自己克服。软件人员对于处理器该有什么指令几乎没有发言权。龙芯的指令设计几乎看不出有考虑软件方面的创新,一些新指令的增加基本就是跟风和攀比,或许加上一些拍脑袋。要不要增加新指令/增加什么新指令,真的需要好好考虑一下软件的需求。盲目增加一堆甚至成千上万条新指令,除了增加软件人员的负担看不出有别的用处。过度增加软件人员负担的后果就是没人陪你玩,只能自己开发所有软件了。
总之,龙芯在新架构LoongArch上总还是不愿摆脱之前的包袱,许多方面老是想耍点小聪明偷懒,结果最后可能不得不从头老老实实做起。
--
FROM 218.16.203.*
说得很好。龙芯除了硬件模拟其它指令集之外,现在还没看到太多的创新之处。
【 在 quene 的大作中提到: 】
: 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,
: 那就该跟MIPS彻底一刀两断算了。
: 可是不知怎么的,龙芯好像就是放不下 MIPS 似的,在软硬件接口的ABI上耍小聪明,最后被人集体抵制,愣是搞出了一个“旧世界”和“新世界”的问题,给在 LoongArch 上开发软件的人挖个坑。这个问题就不再说了,反正龙芯现在也已经认识到错误了,老老实实搞“新世界”了。但这
: ...................
--
FROM 120.33.8.*
RISC-V的向量指令抄的ARM SVE
【 在 quene 的大作中提到: 】
: 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,
: 那就该跟MIPS彻底一刀两断算了。
: 可是不知怎么的,龙芯好像就是放不下 MIPS 似的,在软硬件接口的ABI上耍小聪明,最后被人集体抵制,愣是搞出了一个“旧世界”和“新世界”的问题,给在 LoongArch 上开发软件的人挖个坑。这个问题就不再说了,反正龙芯现在也已经认识到错误了,老老实实搞“新世界”了。但这
: ...................
--
FROM 107.204.171.*
编程的人一般不关注底层机器代码的实现,最关注的应该是做编译和优化的开发人员。
【 在 quene 的大作中提到: 】
: 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,那就该跟MI
: ..................
发自「今日水木 on MI 8」
--
FROM 106.121.163.*
一直没搞明白这个新世界和旧世界是啥意思。。。?好像是linux abi前后不兼容,还把debian的人搞毛了把loongarch从支持列表里移出去了?
--
FROM 111.198.57.*
现在有在关注龙芯的,都是像我们这样对底层感兴趣的。
如果做编译和优化的,对龙芯都不感兴趣就糟糕了。龙芯的生态可能就永远做不起来。
比如现在阻碍我使用龙芯的一个因素是 python-gevent 尚不支持龙芯。
【 在 zhangwei108 的大作中提到: 】
: 编程的人一般不关注底层机器代码的实现,最关注的应该是做编译和优化的开发人员。
: ,那就该跟MI
: 发自「今日水木 on MI 8」
: ...................
--
FROM 183.253.147.*
龙芯架构之前的设计都是基于MIPS的,哪怕改成loongarch,积累还是那些基于MIPS的,想彻底改不容易吧。
它幻想的应该是两种都支持,增量去做;可能确实捉襟见肘,左右无法逢圆。
【 在 quene 的大作中提到: 】
: 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,那就该跟MIPS彻底一刀两断算了。
: 可是不知怎么的,龙芯好像就是放不下 MIPS 似的,在软硬件接口的ABI上耍小聪明,最后被人集体抵制,愣是搞出了一个“旧世界”和“新世界”的问题,给在 LoongArch 上开发软件的人挖个坑。这个问题就不再说了,反正龙芯现在也已经认识到错误了,老老实实搞“新世界”了。但这一番折腾就是很多人力和时间浪费了。
: 再说说这 LoongArch 指令集的事,作为一个后起的指令集,通过向前辈和优秀架构学习借鉴,吸取别人的教训,LoongArch 这点做的应该还好,至少某些部分值得表扬,学得好抄的好。 但不彻底的旧毛病又来了。就比如说LoongArch 的所谓向量指令,纯粹就是挂羊头卖狗肉,其实就是 SIMD。 在向量指令方面,RISC-V的先进经验真正的向量处理龙芯却不学习了。那这二者的差别在哪里呢?太专业的在这里就不说了,简单说就是真向量比假向量的SIMD 优越太多了,特别是从软件人员的角度来说。 第一就是指令数量会少,用户的学习负担减轻,我每次看到鼓吹什么“新增了成千上万的指令”的吹嘘时就想掐死处理器的设计者----你他娘的就是想累死给你写软件的吗? 第二呢,就是当硬件寄存器宽度加倍时,SIMD每次都得新增成千上万条新指令,那就意味着软件必须至少重新编译才能提升性能,而RISC-V用的真向量软件不用任何修改就能利用硬件实现性能提升,从软件人员的角度来看太幸福了。 第三呢,这个向量技术还有个最大的好处,不用考虑知识产权,随便用随便抄,因为那是上世纪70年代的,不论是20年专利还是50年著作权全部过期了,就是你直接一字不漏抄别人的手册也没事,当然结合现在技术实现如果做出创新,知识产权属于自己。
: ...................
--
FROM 58.247.119.*
【 在 quene 的大作中提到: 】
: 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,那就该跟MIPS彻底一刀两断算了。
: 可是不知怎么的,龙芯好像就是放不下 MIPS 似的,在软硬件接口的ABI上耍小聪明,最后被人集体抵制,愣是搞出了一个“旧世界”和“新世界”的问题,给在 LoongArch 上开发软件的人挖个坑。这个问题就不再说了,反正龙芯现在也已经认识到错误了,老老实实搞“新世界”了。但这一番折腾就是很多人力和时间浪费了。
: 再说说这 LoongArch 指令集的事,作为一个后起的指令集,通过向前辈和优秀架构学习借鉴,吸取别人的教训,LoongArch 这点做的应该还好,至少某些部分值得表扬,学得好抄的好。 但不彻底的旧毛病又来了。就比如说LoongArch 的所谓向量指令,纯粹就是挂羊头卖狗肉,其实就是 SIMD。 在向量指令方面,RISC-V的先进经验真正的向量处理龙芯却不学习了。那这二者的差别在哪里呢?太专业的在这里就不说了,简单说就是真向量比假向量的SIMD 优越太多了,特别是从软件人员的角度来说。 第一就是指令数量会少,用户的学习负担减轻,
---------------------------------
真假simd什么意思,你想说的是编译器自动优化吧!
我每次看到鼓吹什么“新增了成千上万的指令”的吹嘘时就想掐死处理器的设计者----你他娘的就是想累死给你写软件的吗? 第二呢,就是当硬件寄存器宽度加倍时,SIMD每次都得新增成千上万条新指令,那就意味着软件必须至少重新编译才能提升性能,而RISC-V用的真向量软件不用任何修改就能利用硬件实现性能提升,从软件人员的角度来看太幸福了。
---------------------------------
指令集/硬件都不同了,不重新编译还能咋地?
第三呢,这个向量技术还有个最大的好处,不用考虑知识产权,随便用随便抄,因为那是上世纪70年代的,不论是20年专利还是50年著作权全部过期了,就是你直接一字不漏抄别人的手册也没事,当然结合现在技术实现如果做出创新,知识产权属于自己。
: ...................
--
FROM 111.183.115.*
RISCV 的 SIMD 是不限制数据宽度的,由 CPU 自动优化。
由编译器搞优化的是 MIMD 类似于安腾和 AMD GCN 这些指令集。
【 在 lambdago 的大作中提到: 】
: ,那就该跟MIPS彻底一刀两断算了。
: 庖环厶诰褪呛芏嗳肆褪奔淅朔蚜恕
: SIMD。 在向量指令方面,RISC-V的先进经验真正的向量处理龙芯却不学习了。那这二者的差别在哪里呢?太专业的在这里就不说了,简单说就是真向量比假向量的SIMD 优越太多了,特别是从软件人员的角度来说。 第一就是指令数量会少,用户的学习负担减轻,
: ...................
--
FROM 120.33.8.*
嗯,允许处理器实现采取变长vector length ,代码不变。
这个看起来很美,实际性能还是有差别。对比同128 bit的neon和sve
neon,sve,sve2 ,sme(streaming sve mode),sme2。记得arm也有guide,写sve vector 固定长度的优化代码。
估计龙芯里面没有专门研究ISA演进的团队,或者技术积累?
【 在 BigCarrot (大萝卜1号) 的大作中提到: 】
: RISC-V的向量指令抄的ARM SVE
:
: 【 在 quene 的大作中提到: 】
: : 很多关心龙芯发展的人都知道龙芯在大约两年前推出了LoongArch 架构,本该彻底地而实际上不彻底地跟MIPS分手了。本来这是一件大好事,MIPS本来就日落西山,到现在基本被大家都抛弃了,还在中美贸易战后通过芯联芯不断挑事。既然推出LoongArch架构,吸收了诸如RISC-V等的优点,
--
FROM 114.92.189.*