精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产亚洲激情视频在线| 国产精品九九| 国产精品乱人伦| 久久精品视频网站| 日韩在线一区视频| 黄色av电影在线播放| 久久一区二区中文字幕| 欧美妇女性影城| 91在线视频免费| 国产精品久久久久9999小说| 狠狠v欧美ⅴ日韩v亚洲v大胸| 成人在线电影在线观看视频| 色综合久久综合中文综合网| 秋霞久久久久久一区二区| 日本少妇高清视频| 欧美男人天堂| 欧美国产乱子伦 | 国产富婆一级全黄大片| 久久97精品| 欧美激情综合五月色丁香小说| 欧美疯狂xxxx大交乱88av| 成人av一级片| 高清福利在线观看| 亚洲啪啪91| 欧美日韩成人综合在线一区二区| av电影一区二区三区| 99久久免费国产精精品| 在线亚洲成人| 日韩中文字幕国产精品| 18禁免费无码无遮挡不卡网站| 九九热视频在线观看| 国产精品77777| 在线成人一区二区| 亚洲人成无码网站久久99热国产| 天天干视频在线观看| 午夜精品影院| 伊人激情综合网| 制服丝袜在线第一页| 丁香久久综合| 五月综合激情网| 91丝袜美腿美女视频网站| 日韩伦理在线视频| 影音成人av| 99久久精品久久久久久清纯| 午夜精品美女自拍福到在线| 亚洲不卡的av| 精品一区在线| 精品女同一区二区| 欧美s码亚洲码精品m码| 麻豆网在线观看| 丝袜美腿高跟呻吟高潮一区| 亚洲天堂网在线观看| 精品人妻一区二区免费| 国产精品日本一区二区不卡视频| 色哟哟一区二区| 精品无码国模私拍视频| 亚洲黄色在线观看视频| 99国产精品久久久久久久| 菠萝蜜影院一区二区免费| 色一情一交一乱一区二区三区 | 亚洲视频精选| 在线播放视频一区| 国产91色在线观看| 搜成人激情视频| 一本高清dvd不卡在线观看 | 免费久久99精品国产自在现线| 亚洲国产精品专区久久| 日韩久久一级片| www555久久| 亚洲乱码一区二区三区在线观看| 亚洲综合欧美日韩| 日本在线免费| 国产精品一卡二卡在线观看| 国产中文字幕亚洲| 亚洲网站免费观看| 日韩国产一区二| 欧美中文字幕精品| 国产一级一级国产| 久久这里有精品15一区二区三区| 日韩暖暖在线视频| 艳妇乳肉豪妇荡乳av无码福利| 日韩av电影天堂| 亚洲视频在线播放| 91激情视频在线观看| 99久久久成人国产精品| 91精品国产综合久久久久久| www.偷拍.com| 欧美区一区二区| 亚洲成va人在线观看| 鲁丝片一区二区三区| 亚洲色欧美另类| 国产黄色精品视频| 国产精品一区二区av| 色就是色亚洲色图| 国产精品污www在线观看| 一级一片免费播放| 国产在线看片| 亚洲超丰满肉感bbw| aaaaaa亚洲| 婷婷av在线| 亚洲理论在线观看| 欧洲精品在线播放| 91caoporm在线视频| 亚洲视频你懂的| 污污污污污污www网站免费| 日韩伦理在线| 一本高清dvd不卡在线观看| 国产又黄又猛的视频| 精品三级av在线导航| 这里只有精品丝袜| 久久久久久久久精| 老司机一区二区三区| 日本亚洲欧美三级| 国产精品乱码久久久| 国产精品五区| 国产在线视频一区| 亚洲色大成网站www| 综合久久久久久| 91精品国产毛片武则天| 亚洲天堂一区二区| 天天做天天摸天天爽国产一区| av天堂永久资源网| av日韩一区| 亚洲欧美中文日韩在线v日本| 91麻豆免费视频网站| 成人在线国产| 午夜精品美女自拍福到在线| 国产又大又黑又粗| 大尺度一区二区| 亚洲一卡二卡三卡四卡无卡网站在线看| av毛片在线免费| 日本精品一级二级| 成熟妇人a片免费看网站| 欧美成人自拍| 97国产suv精品一区二区62| 国产日韩免费视频| 亚洲国产高清在线| 乱妇乱女熟妇熟女网站| 日韩精品三级| 在线精品播放av| 日韩综合在线观看| 不卡高清视频专区| 超碰97国产在线| 韩国av在线免费观看| 国产精品天天看| 免费午夜视频在线观看| 欧美大胆视频| 欧美黑人视频一区| 国产欧美一区二区三区视频在线观看| 久久午夜羞羞影院免费观看| 日韩第一页在线观看| av在线一区不卡| 精品视频在线播放免| 国产在线观看免费av| 国产精品456露脸| 视频一区二区精品| 三级成人黄色影院| 亚洲美女av在线播放| 亚洲久久在线观看| 国产一区二区三区在线观看免费视频| 色综合影院在线观看| 中文在线最新版地址| 日韩一区二区在线看片| 欧美日韩色视频| 狠狠色综合日日| 一本色道久久综合亚洲精品婷婷| av在线一区不卡| 色噜噜国产精品视频一区二区| 一级黄色片网址| 日韩在线观看一区二区| 日韩av一区二区三区在线| 天天免费亚洲黑人免费| 亚洲人精选亚洲人成在线| 国产又粗又猛又黄视频| 国产日韩影视精品| 99久久国产宗和精品1上映| 亚洲理论电影| 国产精品高精视频免费| 国产乱子伦三级在线播放| 欧美日韩亚洲精品内裤| 黑丝av在线播放| 精品国产一区二区三区久久久蜜臀 | 9l国产精品久久久久麻豆| 久久综合伊人77777麻豆| 日本资源在线| 日韩成人性视频| 中文字幕在线观看视频免费| 国产精品色在线观看| 色姑娘综合天天| 欧美在线网址| 国产视频不卡| 久久精品国产亚洲a∨麻豆| 色婷婷国产精品综合在线观看| 日本少妇xxxxx| 久久成人免费网站| 日韩中文字幕在线不卡| av一级亚洲| 欧洲s码亚洲m码精品一区| 在线观看精品一区二区三区| 日韩亚洲欧美成人一区| 日韩aaaaaa| 日本一区免费视频| 四川一级毛毛片| 先锋影音久久| 9999在线观看| 精品三级av在线导航| 国产狼人综合免费视频| 国产极品人妖在线观看| 精品无人国产偷自产在线| 一区二区www| 国产无遮挡一区二区三区毛片日本| 亚欧激情乱码久久久久久久久| 在线中文字幕亚洲| 久久久av水蜜桃| 亚洲色图综合| 91精品国产高清久久久久久久久| 成黄免费在线| 在线观看视频91| 麻豆视频在线观看| 国产精品一区二区久久精品爱涩 | 久久精品伊人| 亚洲国产精品www| 加勒比色老久久爱综合网| 国产欧美日韩视频| 激情av在线播放| 日韩最新在线视频| 天天干天天草天天射| 在线播放中文一区| 免费日韩一级片| 亚洲欧洲av在线| 亚洲av综合一区二区| 激情av综合网| 一区二区三区免费播放| 亚洲一区欧美激情| 男人天堂a在线| 91精品国产91久久久久久黑人| 欧美成人蜜桃| 欧美日韩一区二区三区不卡视频| 91在线高清免费观看| 亚洲三级欧美| 精品国产乱码91久久久久久网站| 天天操天天干视频| 一区二区高清免费观看影视大全| 国产福利在线导航| eeuss鲁片一区二区三区在线观看| 国产精品嫩草影院8vv8 | 午夜精品中文字幕| 爽好多水快深点欧美视频| 精品久久一二三| 黄色亚洲免费| 一区二区日本| 欧美gvvideo网站| 亚洲欧洲日韩综合二区| 免费一区二区三区视频导航| 精品国产一二| 国产丝袜一区| 国内精品久久久久久久果冻传媒| 三级欧美日韩| 97久久人人超碰caoprom欧美| 亚洲妇熟xxxx妇色黄| 亚洲图片欧美日产| 国产精品四虎| 乱亲女秽乱长久久久| 欧美理论电影| 午夜欧美不卡精品aaaaa| 中文字幕高清在线播放| 国产精品视频xxxx| 99久久久国产| 国产一区精品在线| 国产在线日韩精品| 一区高清视频| 国内一区二区三区| 日韩欧美精品在线观看视频| 日本中文字幕不卡| 国产999免费视频| www.亚洲色图.com| 国产精品久久久视频| 一区二区三区在线免费观看| 国产精品久久久久久久妇| 欧美少妇性性性| 成人午夜福利视频| 亚洲色图13p| a级影片在线| 欧美亚洲另类在线| 爱情电影网av一区二区| 精品国产一区二区三区麻豆小说| 日韩精品久久久久久久电影99爱| 男女爱爱视频网站| 麻豆亚洲精品| 中文字幕av一区二区三区人妻少妇 | 欧美体内she精高潮| 99久久免费视频.com| 91视频免费看片| 婷婷综合在线观看| 一级黄色大片网站| 日韩电影中文字幕一区| 日韩欧美小视频| 欧美亚洲视频在线看网址| 伊人久久大香| 欧美精品与人动性物交免费看| 亚洲情侣在线| 黄色高清无遮挡| 国产成人av在线影院| 人妻无码一区二区三区免费| 亚洲一区二区三区国产| 在线观看中文字幕码| 亚洲精品91美女久久久久久久| 老司机在线永久免费观看| 欧洲日本亚洲国产区| 亚洲精品黑牛一区二区三区| 亚洲精品一品区二品区三品区| 99视频精品| 粗大的内捧猛烈进出视频| 国产精品毛片高清在线完整版| 美日韩一二三区| 亚洲精品一区二区三区福利 | 国产91精品视频在线观看| 日韩精品中文字幕吗一区二区| 日日夜夜精品网站| 欧美资源在线| 一本加勒比波多野结衣| 一区二区欧美在线观看| 国产精品无码久久av| 宅男66日本亚洲欧美视频| 日韩电影大全网站| 欧美日韩精品免费观看| 亚洲激情精品| 97中文字幕在线观看| 亚洲精品第一国产综合野| 国产精品毛片一区二区在线看舒淇 | 午夜av在线免费观看| 91在线视频九色| 一区二区影院| 在线视频日韩欧美| 中文字幕在线观看不卡| 中文字幕av片| 一区二区三区视频免费| 欧美色网在线| 午夜久久资源| 久久草av在线| 二区三区四区视频| 欧美精品久久99久久在免费线| а天堂8中文最新版在线官网| 国产精品9999| 日本午夜一区| 九九九九九国产| 亚洲码国产岛国毛片在线| 国产成人a人亚洲精品无码| 欧美另类第一页| 91麻豆精品激情在线观看最新| 国产一区二区三区乱码| 97精品久久久午夜一区二区三区| 日本少妇在线观看| 日韩经典中文字幕在线观看| 六月婷婷综合| 亚洲aⅴ天堂av在线电影软件| 美女在线一区二区| 日本一级大毛片a一| 亚洲专区一二三| 午夜视频免费在线| 国产99久久精品一区二区永久免费| 国产一卡不卡| 午夜啪啪小视频| 亚洲综合精品久久| 天堂网www中文在线| 国产精品久久久久久久久久东京 | 久久久久久久999| 国产精品4hu.www| 日韩第一页在线观看| 成人午夜视频在线| 亚洲精品久久久久久久蜜桃| 久久精品99无色码中文字幕 | 都市激情亚洲综合| 亚洲免费久久| 国产99精品国产| 日本特级黄色片| 中文字幕久久久| 免费观看性欧美大片无片| 国产精品网站免费| 国产精品美女久久久久久2018| 国产高潮流白浆喷水视频| 91超碰caoporn97人人| 欧美疯狂party性派对| 亚洲少妇一区二区| 欧美图区在线视频| 国产啊啊啊视频在线观看| 青娱乐国产91| 粉嫩av一区二区三区| 色老头在线视频| 欧美理论电影在线播放| 国产精品欧美三级在线观看| 欧美日韩久久婷婷| 日本韩国欧美三级| 性国产高清在线观看| 青青草久久网络| 99久久国产综合精品色伊| 91在线你懂的| 日本欧美国产在线| 在线看片日韩| 91香蕉视频在线播放|