用Rust让numpy、scikit和pandas加快100倍!开源Weld技能揭秘
Weld 的 IR 最令人欢快的上风之一,在于其自身就支持数据并行性。这意味着在 Weld IR 傍边表达的轮回将始终可以安详确现并行化。这使 Weld 成为一种对新型硬件极具吸引力的 IR 办理方案。举例来说,NEC 公司的相助者们演示了怎样操作 Weld 在自界说高内存带宽矢量加快器上运行 Python 事变负载——进程很是简朴,只必要向现有 Weld IR 添加新的后端即可。另外,IR 还可用于在数据库内实现物理执行层,我们也在打算添加一系列新的成果,使开拓职员可以或许将 Python 的部门子集编译为 Weld 代码。 这些库是否已经筹备好应用于现实项目?假如还没有,你以为或许什么时辰可以或许做好筹备? 我们测试过的大部门库示例与基准都提取自真实事变负载。因此,假如用户乐意在本身的应用措施傍边试用我们宣布的当前版本,提供反馈乃至编写开源补丁,我们将不胜谢谢。换句话说,我们并不指望全部成果都能在实际应用措施傍边当纵然用。在接下来的几个月内,我们将宣布一系列刊行版,专门存眷 Python 库的可用性与结实性。我们的方针是全力晋升这些库的质量,将其慢慢引入实际项目傍边,并在无法支持的环境下应承用户顺遂回退至非 Weld 库版本。 正如我在答复第一个题目时所提到,简化整个流程的途径之一,在于拆分注释这个重要的相干项目。拆分注释是一套体系,应承用户对现有代码举办注释以界说其详细拆分、转达与并行化要领。按照我们的调查,该体系可以或许发明 Weld 有望带来最佳结果的优化偏向(譬喻在函数挪用之间将大量数据保存在 CPU 缓存中,而非扫描完备数据集);更重要的是,因为其重用现有库代码,而非依靠于编译器 IR,因此其集成难度要比 Weld 低得多。正由于云云,拆分注释可以或许使作为优化方针的库更易于维护与调试,从而进步结实性程度。当无法支持 Weld 时,这些库也可退回至拆分注释,让我们按照用户提出的反馈以增量方法添加 Weld 支持,同时继承采纳可行的优化操纵。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |