Rust 1.27释出,开发者能直接撰写低阶SIMD语法了!
2018-06-22 19:20:46 | 来源:ithome | 投稿:小艾 | 编辑:dations

原标题:Rust 1.27释出,开发者能直接撰写低阶SIMD语法了!

官方今日释出Rust△1.27更新,其中包括了社交期盼已久的功能,首先是单指令流多资料流(Single△Instruction△Multiple△Data,SIMD)现在基本可用,另一个则是#[must_use]属性获得升级,已经进入函式的行列。套件管理器Cargo也有小更新,现在会尝试探索使用者专案的测试、范例以及二元档。

有了SIMD加持,Rust将能加速运算。官方举例,假设存在两个Slice△a和b并进行数字相加,再将结果放置在第3个Slice△c中。最基本的方法就是走访每组元素,将他们相加后储存为结果。但其实编译器可以做的更好,像是LLVM就经常会进行自动向量化(Automatic△vectorization),分析程式码中的回圈,并且尝试在电脑上使用向量暂存器和指令,执行这些回圈。这个动作可以加速程式码执行效率,而这也是SIMD带来的优点。

假设Slice△a和b都是16个元素长,而每个元素都是u8,也就是说每个Slice都是128位元组的资料,使用SIMD,开发者可以把待相加的两个Slice放进128位元组暂存器中,并使用单一指令把他们相加在一起,再把结果复制到第三个Slice△c中。

虽然Rust本来就具备自动向量化,但官方表示,编译器无法在所有情况都完美发挥这个功能,而且也不是所有CPU都支援,因此LLVM也可能不会使用自动向量化,以确保开发者的程式能在广泛的硬件中执行。而在Rust△1.27中,官方直接开放这类指令,增加std△:: arch模组让开发者能够直接控制,而不需要依赖智慧编译器的判断。

而这个函式具有两个版本,其中一个是特殊类型的SIMD功能AVX2,可以供开发者进行256位元的操作,is_x86_feature_detected巨集能让开发者侦测电脑的CPU是否支援AVX2,是则呼叫foo_avx2函数,否则退回non-AVX的实作,这样让支援AVX2的系统能够快速的执行程式,但即便系统不支援也没关系,照样也能正常执行程式。官方提到std△:: arch语法很低阶,他们希望未来可以提供更高阶的std△:: simd模组,但开发者可以先适应这个功能。

在Rust△1.27中,#[must_use]属性被升级为函式,过去他只适用于诸如Result△T,E△的类型。另外,Cargo也有两个小更新,Cargo现在接受-target-dir标签,用来改变给定调用的目标目录。还有Cargo现在会尝试自动探索专案中的测试、范例和二进位档案,虽然有时候需要明确的配置,但多数时可以自动运行的很好。

官方提到,在1.27.0发布前夕,他们发现在1.26.0中加入的预设匹配绑定功能,可能造成系统不稳定的错误,但由于发现的时间太晚,并且从1.26就存在了,因此官方还是维持版本发布节奏,照原定计划释出1.27.0版本,但很快的,就会释出1.27.1来修正这个臭虫,需要的话还会有1.27.3,开发者可以随时注意接下来版本发布的讯息。

tags:

上一篇  下一篇

相关:

微软研究院释出开放资料集储存库,不只能下载还能直接复制到Azure平台使用

为促进全球科学研究,微软释出新的开放资料储存库,其中包含了微软研究院累积多年用来发表研究的资料集,而开放资料集能够简化资料取得的门槛,帮助基于云端技术研究人员间的协作,实现研究的可重复性。微软提到,由

Google开源UI框架Flutter释出预览版

能帮应用程序快速换皮的UI框架Flutter,在3月Google△I/O大会释出测试版后,现在释出预览版第一版,就离正式版1.0不远了。Flutter持续在工具上进行更新,并且获得社交的强力支援,Google表示,在Google△I/O之后活跃

【E3 2018】PS4《只狼》Sekiro: Shadows Die Twice 开发者专访 剌客教条日本版 | 香港 UNWIRE.HK 玩生活.乐科技

Dark Souls 其神秘的中世纪世界观极受欢迎,制作商 FromSoftware 就同 Activision 制作以日本战国为背景的动作冒险游戏《Sekiro: Shadows Die Twice》中文名:只狼。Unwire 记者就在会场同制作人员包括 FromSoftware

开源云端开发平台Pulumi释出,主打多语言、多云端的开发体验

Pulumi创办人Joe△Duffy在博客宣布,其多开发语言与多云端环境的开源云端开发平台Pulumi正式上线,开发者可以在Pulumi上使用自己习惯的语言撰写云端运算程式,甚至还能不使用模板语言基础架构,Joe△Duffy提到,使用

Hortonworks资料平台3.0释出,加强容器化及跨云架构布局

图片来源: Hortonworks 近日Hortonworks的Dataworks用户大会在美国圣荷西开跑,而高峰会上Hortonworks宣布,自家的资料平台解决方案Hortonworks△Data△Platform(HDP)3.0版已经释出,这次产品发布除了强调容器化、

站长推荐: