精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Rust讓numpy、scikit和pandas加速100倍!開源Weld技術揭秘

新聞 前端
在利用 Python 與 R 的數據科學堆棧工作了幾個禮拜之后,我開始問自己:有沒有可能存在一種通用的中間表示形式(類似于 CUDA),能夠在多種語言之間同時起效?

在利用 Python 與 R 的數據科學堆棧工作了幾個禮拜之后,我開始問自己:有沒有可能存在一種通用的中間表示形式(類似于 CUDA),能夠在多種語言之間同時起效?現在我必須得在不同語言中重新實現并優化已經存在的方法,難道就不能更高效一點?除此之外,我希望通過通用的運行對程序進行整體優化,而不是像現在這樣只能針對函數進行優化。經過幾天的研究和測試,我發現了 Weld。令我意外的是,Weld 的締造者之一正是 Matei Zaharia,也就是 Spark 的發明者。

正因為如此,我聯系并采訪了 Weld 項目的主要貢獻者 Shoumik Palkar。Shoumik 目前是斯坦福大學計算機科學系的博士生,在 Matei Zaharia 的推薦下加入了 Weld 項目。

Weld 還遠沒有達到生產就緒級別,但其發展愿景卻是一片光明。如果大家對數據科學的未來以及 Rust 抱有興趣,相信這次訪談會給你帶來不少啟示。 

開發 Weld 項目的動機是什么,它又能夠解決哪些問題?

項目的開發動機,在于為依賴現有高級 API(例如 NumPy 與 Pandas)的應用程序提供裸機級別的性能表現。其解決的主要問題,是實現跨函數與跨庫層面的優化,而這正是目前其他庫所無法實現的。具體來講,當下有不少常用庫以各個函數為基礎提供算法的最新實現(例如以 C 語言在 Pandas 中實現的快速連接算法,或者以 NumPy 語言實現的快速矩陣乘法),但市面上卻還不存在能夠跨越這些函數實現優化的可用工具(例如在執行矩陣乘法后進行聚合時,防止不必要的內存掃描)。Weld 希望提供一個可通用的運行時,使各個庫能夠在通用 IR 當中進行計算表達;接下來,開發人員還可以利用編譯器優化程序對 IR 進行優化,而后通過循環融合、矢量化等優化手段將 JIT 與并行本機代碼加以對接。Weld 的 IR 具備本機并行特性,因此開發人員可以隨時對其中表示的程序進行常規并行化處理。

我們還建立了一個名為拆分注釋(split annotations)的新項目,該項目將與 Weld 相集成,旨在降低對現有庫進行優化的實施門檻。

對 Numpy、Pandas 以及 Scikit 進行優化困難嗎?速度方面能有多大提升?

Weld 跨越各個函數對這些庫進行優化,而對庫的整體優化也能讓單一函數的調用速度更快。實際上,不少此類數據庫都已經立足函數層面進行了高度優化,只是由于其沒有充分利用并行性或者內存結構,所以性能表現仍然低于現代硬件的極限水平。舉例來說,目前已經有不少 Numpy ndarray 函數可以在 C 語言中實現,但調用每一項函數都需要對每一條輸入進行完整掃描。如果這些數組不適用于 CPU 緩存,那么大多數執行時間就都被耗費在了從主內存中加載數據上,計算的執行反而成了次要耗時因素。Weld 能夠查看各個函數調用并執行優化,例如循環融合,從而將數據保留在 CPU 緩存或者寄存器當中。憑借著更好的擴展能力,這些類型的優化能夠在多核心系統上將性能提升一個數量級甚至更高。

用Rust让numpy、scikit和pandas加速100倍!开源Weld技术揭秘

與 Weld 原型方案進行集成之后,Spark(左上)、NumPy(右上)以及 TensorFlow(左下)的性能相較于原始框架提高了 30 倍,且無需對用戶的應用程序代碼做出任何調整。此外,Pandas 與 NumPy 之間的跨庫優化(右下)則可將性能提升達兩個數量級。

Baloo 是什么?

Baloo 是一個庫,負責利用 Weld 實現 Pandas API 中的一個子集。Baloo 由阿姆斯特丹 CWI 研究所碩士生 Radu Jica 開發完成,其目標是在 Pandas 當中完成之前提到的各項優化,從而提高其單線程性能、減少內存占用量并引入并行性。

Weld/Baloo 是否支持利用核外計算(例如 Dask)處理不適合駐留在內存中的數據?

Weld 與 Baloo 目前都還不支持核外計算,但我們歡迎更多開源貢獻者能夠實現這一功能!

你們為什么選擇利用 Rust 與 LLVM 來實現 Weld?Rust 一直是你們的第一選擇嗎?

我們之所以選擇 Rust,是因為:

  • Rust 的運行時很小(基本上只負責對數組進行邊界檢查),而且易于嵌入到其他語言(例如 Java 與 Python)當中。
  • Rust 包含函數式編程范式,例如模式匹配,能夠使代碼編寫(例如模式匹配編譯器優化)更輕松。
  • Rust 擁有強大的技術社區與高質量的工具包(在 Rust 中被稱為“crates”),這使我們能夠更容易地進行系統開發。

在另一方面,之所以選擇 LLVM,是因為它擁有一套用途廣泛且廣受支持的開源編譯器框架。我們能夠直接生成 LLVM 以替代 C/C++,因此不必依賴于 C 編譯器,從而縮短編譯時間(過程中不需要解析 C/C++ 代碼)。

Rust 并不是 Weld 采用的第一款實現語言;最初,我們選擇的是 Scala,當時主要考慮到它擁有代數數據類型以及強大的模式匹配機制。這能夠極大簡化編譯器核心部分優化器的編寫過程。我們最初的優化器基于 Catalyst 設計,該設計器屬于 Spark SQL 的可擴展優化器。但最終之所以放棄了 Scala,是因為我們發現很難將基于 JVM 的語言嵌入至其他運行時與語言當中。

如果 Weld 主要針對 CPU 與 GPU,那么它與 RAPIDS 這類專門面向 GPU 的 Python 數據科學實現庫有什么不同?

Weld 項目與 RAPIDS 等其它系統的最大區別,在于它專注于跨越多種由 JIT 編譯代碼編寫的內核實現應用程序優化,而非針對每一項獨立函數提供優化效果。舉例來說,Weld 的 GPU 后端能夠為端到端應用程序 JIT 編譯出經過優化的單一 CUDA 內核,而不像其它系統那樣直接調用現有獨立內核。此外,Weld 的 IR 意欲設計為硬件無關的,使其既能夠面向 GPU,也可以面向 CPU 或者矢量加速器等其它定制化硬件。當然,Weld 也與其它系統有著不少交集,同時也受到了 RAPIDS 等其他同類項目的影響與啟發。Bohrium(一種懶惰評估式的 NumPy)以及 Numba(一套可實現數字代碼 JIT 編譯的 Python 庫)就與 Weld 有著相同的高級目標,而 Spark SQL 等優化器系統則直接影響著 Weld 的優化器設計思路。

除了數據科學庫優化之外,Weld 項目是否還有其他應用?

Weld 的 IR 最令人興奮的優勢之一,在于其自身就支持數據并行性。這意味著在 Weld IR 當中表達的循環將始終可以安全實現并行化。這使 Weld 成為一種對新型硬件極具吸引力的 IR 解決方案。舉例來說,NEC 公司的合作者們演示了如何利用 Weld 在自定義高內存帶寬矢量加速器上運行 Python 工作負載——過程非常簡單,只需要向現有 Weld IR 添加新的后端即可。此外,IR 還可用于在數據庫內實現物理執行層,我們也在計劃添加一系列新的功能,使開發人員能夠將 Python 的部分子集編譯為 Weld 代碼。

這些庫是否已經準備好應用于實際項目?如果還沒有,你認為大概什么時候能夠做好準備?

我們測試過的大部分庫示例與基準都提取自真實工作負載。因此,如果用戶愿意在自己的應用程序當中試用我們發布的當前版本,提供反饋甚至編寫開源補丁,我們將不勝感激。換句話說,我們并不指望所有功能都能在現實應用程序當中立即使用。在接下來的幾個月內,我們將發布一系列發行版,專門關注 Python 庫的可用性與健壯性。我們的目標是努力提升這些庫的質量,將其逐步引入現實項目當中,并在無法支持的情況下允許用戶順利回退至非 Weld 庫版本。

正如我在回答第一個問題時所提到,簡化整個流程的途徑之一,在于拆分注釋這個重要的相關項目。拆分注釋是一套系統,允許用戶對現有代碼進行注釋以定義其具體拆分、傳遞與并行化方法。根據我們的觀察,該系統能夠發現 Weld 有望帶來最佳效果的優化方向(例如在函數調用之間將大量數據保留在 CPU 緩存中,而非掃描完整數據集);更重要的是,由于其重用現有庫代碼,而非依賴于編譯器 IR,因此其集成難度要比 Weld 低得多。正因為如此,拆分注釋能夠使作為優化目標的庫更易于維護與調試,從而提高健壯性水平。當無法支持 Weld 時,這些庫也可退回至拆分注釋,讓我們根據用戶提出的反饋以增量方式添加 Weld 支持,同時繼續采取可行的優化操作。

 

責任編輯:張燕妮 來源: AI前線
相關推薦

2021-07-27 10:10:21

CuPyNumpyPython

2022-08-09 09:10:31

TaichiPython

2018-11-26 14:56:15

云計算UCloud云主機

2022-09-20 10:50:34

PandasNumPy

2023-05-04 07:34:37

Rust代碼CPU

2020-04-03 13:50:19

數據分析PandasNumPy

2019-08-06 17:19:22

開源技術 趨勢

2019-12-25 14:08:50

Pandas數據計算

2021-09-08 08:00:00

PyPolars數據開源

2021-04-21 18:57:16

二進制存儲空間

2013-02-28 10:35:59

hadoop大數據Hortonworks

2019-06-06 10:19:33

谷歌開源計算庫

2024-07-17 08:25:44

2022-05-26 08:12:39

PandasApply技巧

2023-07-31 11:44:38

Pandas性能數組

2020-03-10 08:55:50

PandasNumPy函數

2023-10-15 17:07:35

PandasPython庫

2023-09-22 14:33:24

微軟Rust開發工具

2022-07-18 17:37:27

字節跳動人工智能AI模型

2020-05-03 13:52:27

深度學習開源人工智能
點贊
收藏

51CTO技術棧公眾號

精品人妻一区二区三区免费| 成人在线免费观看一区| 国产精品815.cc红桃| 成人免费视频观看| 亚洲婷婷综合色高清在线| 99国产盗摄| www.国产毛片| 午夜精品婷婷| 国产一区二区三区在线视频| 亚洲一二三不卡| 亚洲插插视频| 亚洲精品免费看| 日韩福利视频| 欧美一级一区二区三区| 蜜臀精品一区二区三区在线观看| 久久久久久97| 成人无码精品1区2区3区免费看| 亚洲图色一区二区三区| 在线中文字幕一区| 日本阿v视频在线观看| 午夜免费视频在线国产| www.日韩在线| 亚洲tv在线观看| 最近免费中文字幕大全免费版视频| 亚洲女同中文字幕| 在线精品91av| 欧美熟妇一区二区| 成人在线视频你懂的| 在线不卡免费av| 国产成人av影视| 欧美日韩在线观看首页| 亚洲精品欧美专区| 亚洲一区二区在线免费观看| 色视频在线观看福利| 大美女一区二区三区| 亚洲va欧美va在线观看| 亚洲在线视频播放| 蜜臀av亚洲一区中文字幕| 日韩免费在线播放| 午夜精品三级久久久有码| 欧美精品偷拍| 欧美xxxx18性欧美| 97在线观看免费高| 99久久综合狠狠综合久久aⅴ| 亚洲性av在线| 日本aaa视频| 色老板在线视频一区二区| 精品久久久久久无| wwwww在线观看| 精品久久国产一区| 日韩午夜在线影院| 久久精品亚洲天堂| 欧美一级片网址| 欧美一区二区网站| av在线网站免费观看| 成人日韩视频| 日韩一级片在线播放| 久久综合在线观看| 亚洲精品观看| 亚洲电影在线看| 日本黄色免费观看| 三级小说欧洲区亚洲区| 亚洲色在线视频| 欧美福利第一页| 日韩精品欧美| 久久综合88中文色鬼| 成年人av电影| 亚洲高清二区| 日韩美女中文字幕| 中文字幕有码无码人妻av蜜桃| 美女视频黄频大全不卡视频在线播放| 国产精品欧美久久久| 91亚洲精品国偷拍自产在线观看| 激情六月婷婷综合| 高清国产在线一区| 亚洲三区在线播放| 中文av一区特黄| 2021狠狠干| 91美女精品| 色噜噜狠狠色综合欧洲selulu| 天天色综合天天色| 韩国一区二区三区视频| 精品av综合导航| 丝袜美腿中文字幕| 久久久久久久久久久9不雅视频| 欧美另类xxx| 欧美日韩乱国产| 蜜臀99久久精品久久久久久软件| 97超碰最新| 男女网站在线观看| 亚洲欧美视频在线观看| 免费无码毛片一区二三区| 国产 日韩 欧美一区| 正在播放一区二区| 人妻体内射精一区二区三区| 国产亚洲一卡2卡3卡4卡新区| www.欧美精品一二三区| 国产精品7777| 蜜桃av噜噜一区二区三区小说| 97影院在线午夜| 国产中文字幕在线视频| 一区二区三区国产精品| 男人女人黄一级| 91精品尤物| 综合久久五月天| 日韩欧美第二区在线观看| 国产亚洲色婷婷久久| 国产成人精品亚洲线观看| 亚洲午夜未满十八勿入免费观看全集| 欧美日韩色视频| 久久久夜精品| 风间由美一区二区三区| 久做在线视频免费观看| 日韩欧美成人免费视频| 欧美一级大片免费看| 俺要去色综合狠狠| 欧美性受xxxx黑人猛交| 国产99久一区二区三区a片| 国产无遮挡一区二区三区毛片日本| 特级西西444| 日韩欧美三区| 国产一区二区三区直播精品电影 | 国产精品一区二区小说| 国产伦理久久久久久妇女| 日韩在线免费视频| 国产熟妇一区二区三区四区| av影院午夜一区| 国产高清不卡无码视频| 日韩大陆av| 国产成人福利av| 欧美夫妻性生活| 亚洲专区区免费| 激情欧美日韩一区| 91国产在线播放| 免费大片在线观看www| 欧洲生活片亚洲生活在线观看| av网页在线观看| 亚洲激情视频| 国产精品一区二区三区四区五区 | 亚洲人成网亚洲欧洲无码| 欧美疯狂做受xxxx高潮| 国产女人18毛片18精品| 国产精品国产自产拍高清av王其 | 久久综合激情网| 国产一区二区三区四区五区入口| 亚洲欧美日韩精品久久久| 91看片一区| 中文字幕亚洲无线码a| 亚洲精品毛片一区二区三区| 国产视频一区在线播放| www.日日操| 欧美呦呦网站| 国产久一一精品| 视频免费一区| 欧美精品在线一区二区三区| www.xx日本| 国模娜娜一区二区三区| 玖玖精品在线视频| 中文字幕av一区二区三区四区| 九九热精品在线| 亚洲精品国产suv一区| 午夜精品一区在线观看| av网页在线观看| 日日摸夜夜添夜夜添国产精品 | 色偷偷久久一区二区三区| 西西444www无码大胆| 日韩精品成人一区二区在线| 亚洲砖区区免费| 国产专区精品| 大陆成人av片| 琪琪亚洲精品午夜在线| 国产在线一二| 欧美日韩1234| 久久97人妻无码一区二区三区| 成人黄色在线视频| 爱福利视频一区二区| 第一sis亚洲原创| 91原创国产| 亚洲性受xxx喷奶水| 色婷婷综合成人| 超碰在线观看99| 色婷婷精品久久二区二区蜜臂av| 亚洲一级片在线播放| 国产jizzjizz一区二区| aⅴ在线免费观看| 亚洲高清资源在线观看| 国产一区二区不卡视频在线观看| 日韩电影免费观| 久久成人一区二区| 日韩黄色影片| 欧美一区二区美女| 无码人妻精品一区二| 亚洲精品视频在线观看网站| 欧美图片一区二区| 国产成人综合网| 国产成人精品无码播放| 国产精品99免费看| 亚洲日本精品一区| 久久国产精品色av免费看| 国产精品美女免费| 91福利区在线观看| 久久国产精品免费视频 | 国产一区二区欧美日韩| 精品人妻一区二区三区换脸明星| 日韩欧美中文字幕在线观看| 亚洲伦理一区二区三区| 久久免费视频一区| 午夜影院免费版| 蜜臀精品一区二区三区在线观看 | 从欧美一区二区三区| 亚洲天堂网一区| 亚洲久久一区| 天堂а√在线中文在线| 成人精品久久| 久久99国产精品99久久| 久久av网站| 国产欧美日韩综合精品| xxx欧美xxx| 久久久免费观看视频| 蜜桃视频在线观看免费视频网站www| 日韩精品视频三区| 亚洲欧美高清视频| 日韩亚洲欧美一区| 97视频免费在线| 91黄色激情网站| youjizz在线视频| 亚洲电影一区二区三区| 私库av在线播放| 一区二区中文视频| 国产黄a三级三级| 国产精品你懂的在线| 国产特级黄色录像| 久久影院视频免费| 性欧美成人播放77777| av男人天堂一区| av免费观看不卡| 成人免费视频视频在线观看免费| 国产乱国产乱老熟300部视频| 韩日精品视频一区| av在线免费看片| 精品一区二区影视| 人人爽人人爽av| 韩国理伦片一区二区三区在线播放| 波多野结衣xxxx| 蜜臀av性久久久久av蜜臀妖精| 欧美大尺度做爰床戏| 奇米精品一区二区三区在线观看| 别急慢慢来1978如如2| 秋霞av亚洲一区二区三| 亚洲欧美久久久久| 黄一区二区三区| 操人视频免费看| 成人综合激情网| 中文字幕一区二区人妻电影丶| 波多野结衣视频一区| 人妻无码中文久久久久专区| av电影天堂一区二区在线| xxxx黄色片| 久久网这里都是精品| 久久久久亚洲av成人无码电影| 国产蜜臀97一区二区三区| 极品蜜桃臀肥臀-x88av| 亚洲同性gay激情无套| 九九久久免费视频| 欧美日韩在线影院| 日韩国产亚洲欧美| 欧美精品在线一区二区| 丰满人妻熟女aⅴ一区| 日韩久久午夜影院| av片在线免费观看| 欧美裸身视频免费观看| 国产伦理精品| 国产精品久久999| 高清一区二区三区av| 国产伦理久久久| 精品99久久| 公共露出暴露狂另类av| 韩日视频一区| 少妇性l交大片| 国产一区二区在线电影| xxxx黄色片| 中文字幕一区在线| 日本网站在线免费观看| 色婷婷av一区二区三区大白胸| 亚洲在线精品视频| 日韩av影视综合网| 日本美女高清在线观看免费| 欧美黄色三级网站| 91国拍精品国产粉嫩亚洲一区| 亚洲最大av网| 国产亚洲电影| www.日本少妇| 另类小说综合欧美亚洲| 波多野结衣有码| 亚洲天堂福利av| 日韩久久中文字幕| 91精品一区二区三区在线观看| 天堂a√中文在线| 久久手机免费视频| 蜜桃精品在线| 国产在线精品一区二区三区| 日本一二区不卡| 日本欧美黄色片| 韩日欧美一区二区三区| 好吊视频在线观看| 亚洲一区二区偷拍精品| 亚洲视频在线免费播放| 亚洲精品理论电影| 先锋成人av| 国产精品午夜国产小视频| 久久久久影视| 黄色片免费在线观看视频| 日本欧美一区二区三区乱码| 999精品免费视频| 亚洲欧美日韩在线不卡| 国产精品高清无码| 日韩激情av在线播放| 啦啦啦中文在线观看日本| 国产精品日韩一区| 国产一区二区在线| 欧美色图另类小说| av资源网一区| 久久久久久免费观看| 在线不卡一区二区| 第三区美女视频在线| 欧美在线一区二区三区四| av不卡一区二区| 国产91沈先生在线播放| 国产在线精品不卡| 我要看一级黄色录像| 欧美天堂一区二区三区| 国产资源在线播放| 日韩美女av在线免费观看| 亚洲第一二三区| 美女福利视频在线| 久久美女艺术照精彩视频福利播放 | 神马久久一区二区三区| 超碰97人人射妻| 91美女片黄在线| 国产精品久久久久久久久久久久久久久久久 | 国产精品国产高清国产| 性欧美长视频免费观看不卡| 9l视频自拍九色9l视频成人| 视色,视色影院,视色影库,视色网| 韩国v欧美v亚洲v日本v| 朝桐光av在线| 欧美v国产在线一区二区三区| а√天堂在线官网| 114国产精品久久免费观看| 欧美激情第8页| 色综合久久久无码中文字幕波多| 樱花草国产18久久久久| 亚洲高清视频在线播放| 午夜精品久久久久久久99黑人| 国产精品色在线网站| 亚洲熟妇av一区二区三区漫画| 26uuu国产电影一区二区| 人妻 日韩精品 中文字幕| 伊人久久久久久久久久久| 成人免费在线观看视频| 免费成人进口网站| 顶级嫩模精品视频在线看| 亚欧视频在线观看| 亚洲视频自拍偷拍| 视频91a欧美| 波多野结衣与黑人| 91亚洲国产成人精品一区二区三| 日批视频免费在线观看| 中文字幕日韩精品有码视频| 欧美风情在线视频| 玖玖精品在线视频| 2017欧美狠狠色| 最近中文字幕在线观看| 美女av一区二区| 日本午夜精品| 中文字幕成人在线视频| 一区二区免费在线播放| 免费在线毛片| 成人黄色片在线| 亚洲国内欧美| 精品成人无码一区二区三区| 91精品国产综合久久婷婷香蕉| 91色在线看| 亚洲视频电影| 不卡的av电影在线观看| 在线亚洲欧美日韩| 久久免费视频观看| 日韩成人激情| 日韩无码精品一区二区| 精品视频在线免费| 国产丝袜精品丝袜| 亚洲成人自拍视频| 成人在线一区二区三区| 中文亚洲av片在线观看| 久久久亚洲影院| 日韩精品免费一区二区三区| 欧美日韩人妻精品一区在线| 欧美日韩一区高清| 色网在线免费观看| 久久最新免费视频|