国产传媒18精品免费观看,欧美人妻精品一区二区三区,999热线在线观看,www四虎最新成人永久网站

Why Julia?同元軟控科學計算環(huán)境Syslab助推Julia開源社區(qū)發(fā)展

首頁 > 快訊 > > 正文

日期:2023-01-05 13:25:11    來源:晶報網(wǎng)    

自發(fā)布基于 Julia 的科學計算環(huán)境 MWORKS.Syslab 以來,同元軟控在科學計算語言、多語言統(tǒng)一編譯和融合、AI 和機器學習等技術(shù)方向上開展了深入研究。任何技術(shù)的發(fā)展都離不開良好的生態(tài),依賴生態(tài)并建設(shè)生態(tài),是同元軟控所堅持的發(fā)展理念。2022 年,同元軟控跟 Julia 開源社區(qū)開展了多層次的合作,包括發(fā)起開源項目和開源贊助等。

本期,我們來盤點一下同元軟控在 Julia 編程語言方面的一些社區(qū)工作。

一、JuliaCN 2022 報告盤點

Julia 中文社區(qū)組織的冬季會議于2022年12月3日至12月9日舉行,國內(nèi)使用 Julia 的開發(fā)者聚集在一起分享與 Julia 有關(guān)的技術(shù)報告。作為 JuliaCN 的黃金贊助商,同元軟控在這次會議中給予了大力支持,并在這次會議貢獻了 6 場精彩的報告。

下面對每場報告的內(nèi)容進行概述,對相關(guān)內(nèi)容感興趣的朋友可以直接觀看 B 站視頻了解更多內(nèi)容。

1、同元軟控與 Julia

我們(同元軟控)非常看好 Julia 的發(fā)展,也會持續(xù)不斷地與 Julia 社區(qū)一起勇攀未來的高峰。

報告人:郭俊峰 (產(chǎn)品總監(jiān))

這個報告向社區(qū)介紹了同元軟控發(fā)展歷程,以及同元軟控為什么選擇 Julia 作為科學計算基礎(chǔ)語言,報告就 CPS(信息物理融合系統(tǒng))的發(fā)展做了簡要探討,縱觀國際科學計算軟件的發(fā)展,都發(fā)端于數(shù)學計算,然后走向廣泛的科學計算并最終走向系統(tǒng)仿真,三大數(shù)學軟件:MathWorks、 WOLFRAM 和 Maple 無不如此。同元深耕系統(tǒng)建模 20 年,在系統(tǒng)建模技術(shù)上積累深厚,需要尋找跟系統(tǒng)建模相匹配的下一代科學計算語言。Julia語言恰好在各方面都符合 CPS 對科學計算的訴求:動態(tài)、高性能、開源而且面向未來。

報告分享了 Modelica 和 Julia 現(xiàn)階段的融合進展,更對未來做了展望。同元軟控堅定的看好 Julia 的發(fā)展,也希望跟 Julia 社區(qū)一起推動科學計算工具和生態(tài)的發(fā)展。

2、新手教程: 寫出糟糕好的 Julia 代碼的N種思路

Julia 可以寫出極其高效的代碼,但這需要經(jīng)過一定的觀念轉(zhuǎn)變與編程訓練。

報告人:陳久寧

Julia 初學者關(guān)于 Julia 最大的困惑可能在于 “為什么 Julia 聲稱很快,但是我隨便試著把我舊的 Python/MATLAB 代碼翻譯過來之后發(fā)現(xiàn)并不快,甚至比 Python/MATLAB 還慢”。這個教程的目的是為了介紹那些 Julia 與其他語言在使用上最核心的差異。這個教程的內(nèi)容取材于陳久寧在同元軟控日常代碼評審中的頻繁發(fā)現(xiàn)的問題,這些問題背后實際上是那些高級 Julia 開發(fā)者必知必會的一些內(nèi)容。

這個教程當天收到了一位社區(qū)中 Julia 初學者的高度評價:“一個 Julia 基礎(chǔ)語法不全會的人,這場報告竟然聽懂了。Julia 性能很大程度上需要人來操作:固定類型、不可變結(jié)構(gòu)體等等... 說實話不聽這一場,我可能就會按照其他語言那樣去學習,不去提升 Julia 性能了。”

3、TyMLang.jl: 將 MATLAB 代碼導(dǎo)入 Julia 生態(tài)

你可以在 Julia 下執(zhí)行 .m 文件,而這完全不需要 MathWorks。

報告人:趙王宏楦

MATLAB 是迄今為止最具影響力的數(shù)值計算集成開發(fā)環(huán)境,它在工程領(lǐng)域遺留了大量代碼資產(chǎn),在各行各業(yè)的老一代專業(yè)人員中有相當高的普及度。隨著時代發(fā)展,MATLAB 在以深度學習為代表的新興科學計算分支中呈現(xiàn)明顯的頹勢;而 Julia 語言作為一個面向未來的科學計算語言,同時很好地繼承 Python 等語言的歷史遺產(chǎn),具有非常廣闊的發(fā)展空間。

我們希望 MATLAB 的老用戶,和他們的部分代碼資產(chǎn)能參與到新一代生態(tài)的發(fā)展中來。正因如此,我們破除萬難,在 Julia 中實現(xiàn)了一個高度兼容 MATLAB 的編程語言——同元軟控 M 語言。使用同元軟控 M 語言,可以讓那些掌握 MATLAB 技巧的工程師和科學家快速投入到最新的科學計算生態(tài)中工作,讓他們訪問并應(yīng)用 Julia 生態(tài)中那些新穎的技術(shù)和工具。

4、JNumPy: 使用 Julia 為 Python/Numpy 編寫擴展模塊

對于 Python 社區(qū)來說,JNumpy 是一個更好的 C/Numba 方案——更少的代碼封裝和更高的性能。

報告人:宋家豪

本次報告向社區(qū)介紹了由同元軟控開發(fā)的 JNumPy 工具庫,首先介紹了 JNumPy 的使用場景,即提供高效且易用的封裝工具,將 Julia 代碼以封裝成 Python 庫,使得 Python 用戶能夠調(diào)用 Julia 得到更好的計算性能。報告演示了使用 JNumPy 封裝 Julia 代碼的示例,JNumPy 的使用方法,Julia 和 Python 之間的數(shù)據(jù)轉(zhuǎn)換規(guī)則,性能對比,以及未來優(yōu)化的工作方向等。

由于 JNumPy 在啟動速度,運行速度,跨平臺支持等特性上相比其他 Python 調(diào)用 Julia 的方案 (PyCall, PythonCall) 具有明顯的優(yōu)勢,在追求性能以及工程化的應(yīng)用場景下,JNumPy 提供了目前最強大的解決方案。

5、TyPlot: 使用 Julia 實現(xiàn)自定義繪圖模塊

同元基于自身需求開發(fā)的一個繪圖框架。

報告人:陳志強

向社區(qū)介紹了同元軟控在數(shù)據(jù)可視化方面的迫切需求,引出了圖形庫開發(fā)的必要性。從如何開發(fā)圖形庫、現(xiàn)有的技術(shù)調(diào)研、圖形庫最終的開發(fā)目標介紹了圖形庫的背景。

這個報告主要介紹了同元軟控圖形庫已具備的能力,包括豐富的圖形種類,友好的交互界面以及一體化的用戶體驗。選取了專業(yè)庫的幾個典型應(yīng)用,直觀的展示了圖形庫對復(fù)雜圖形的支持能力。報告最后提出了圖形庫進一步發(fā)展方向,從能用變成好用、二維輻射三維、常用繪圖擴展到專業(yè)圖形繪圖、離線繪圖到實時繪圖、桌面繪圖到網(wǎng)頁繪圖。

6、為什么我推薦使用 Julia ? —— 可組合性與生成函數(shù)

在 Julia 中 1 + 1 > 2 的場景隨處可見 —— 更少的代碼、更好的可讀性、更高的效率。

報告人:陳久寧

今年在 Julia 社區(qū)最出圈的一篇博客大概是 Yuri 的“為什么我不再推薦使用 Julia”,一針見血地指出了 Julia 的可組合性在正確性方面的風險。在這個報告中,我們介紹了一個同元內(nèi)部通信工具箱的一個核心組件及其設(shè)計思路——用不到 300 行代碼實現(xiàn)在 Galois 域上的數(shù)值計算中得到超越 MATLAB 的 C 代碼 1000 倍的性能優(yōu)勢。

這一組件背后的核心思路在于:1) 利用 Julia 生成函數(shù)帶來的無運行時開銷的泛型支持,以及更重要的 2) Julia 的可組合性。圍繞性能和可組合性這兩個核心特征設(shè)計的 Julia 允許我們用更少的代碼、更清晰的編程實現(xiàn)和更少的硬編碼假設(shè)來完成日常編碼工作的需求,而這是我們始終推薦 Julia 的原因。相比而言,Yuri 文章指出的是一個普遍但并不關(guān)鍵的場景——它只會出現(xiàn)在實驗性代碼階段。

二、Julia 社區(qū)貢獻

2022年,同元軟控開源的 Julia 相關(guān)工具箱或組件一共有三個,均存放在 GitHub: Suzhou-TongYuan項目下。

1、JNumpy: julia-numpy

作者:趙王宏楦、宋家豪

JNumPy 是同元軟控針對 Python 調(diào)用Julia語言問題給出的一個工程化的解決方案。在所有 Python 調(diào)用 Julia 的方案中,JNumPy 以啟動速度最快、運行速度遙遙領(lǐng)先、支持跨平臺及特殊的 Python 發(fā)行版、具有編譯可移植性、對 NumPy 類型兼容性最佳、嚴格可控的類型轉(zhuǎn)換關(guān)系等特點脫穎而出。在較為“嚴肅”的 Python 調(diào)用 Julia 工程中,JNumPy 是將 Julia 數(shù)據(jù)及函數(shù)暴露給 Python 的最佳選擇。

2、ObjectOriented.jl

作者:趙王宏楦

ObjectOriented.jl 是同元軟控為 Julia 語言實現(xiàn)的一套完整的、機制性 (mechanical) 的面向?qū)ο蠛陰?,能夠讓用戶以貼近 Python 的語法進行面向?qū)ο缶幊?,以訪問諸如繼承/多繼承、getter/setter,接口編程等功能。

由于該庫是 Julia 中第一個完整實現(xiàn)常見面向?qū)ο筇匦缘膸?,在向社區(qū)征求命名意見時,被一致認同冠以 ObjectOriented.jl 這個明顯具有生態(tài)主導(dǎo)地位的名字。

3、UnzipLoops.jl

作者:陳久寧、趙王宏楦

針對以下這類將廣播結(jié)果拆分到不同矩陣的典型需求,UnzipLoops.jl 給出了社區(qū)中最高效的解決方案:

在給出高效方案的同時,UnzipLoops 是一個零依賴的輕量包——源代碼僅僅不到100行。

三、寄語

2022年是同元軟控跟 Julia 開源社區(qū)合作的元年。同元軟控堅定看好 Julia 的發(fā)展,也堅定地將Julia作為下一代科學計算環(huán)境的支撐語言。同元軟控會持續(xù)跟 Julia 社區(qū)開展多層次合作,也歡迎 Julia 社區(qū)以及有志于建設(shè)開源科學計算生態(tài)的同道中人,一起推進 Julia社區(qū)和科學計算環(huán)境Syslab的發(fā)展,讓中國在新一代科學計算中做出更大的貢獻與成就。

免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據(jù)。

關(guān)鍵詞:

下一篇:HyperX于CES 2023中推出Clutch Gladiate角斗士Xbox有線游戲手柄和旋火2系列鼠標
上一篇:有溫度有擔當 區(qū)塊鏈公司趣鏈科技筑起疫情防控“紅色防線”

科技

 
少妇挑战3个黑人叫声凄惨| 一男一女做爰高潮a片| 人人澡超碰碰97碰碰碰| 第一次处破女18分钟高清| 丰满岳跪趴高撅肥臀| 张行长不戴套最后阅读| 久久精品国产亚洲av麻豆蜜芽| 翁与小莹浴室欢爱51章| 巨爆乳中文字幕巨爆区巨爆乳| 野外吮她的花蒂两男一女| 欧美人禽性动交异族另类| 久久99热狠狠色av蜜臀| 波多野结衣乱码中文字幕| 白灵大尺度人体150p| 国产sm鞭打折磨调教视频| 日韩99在线 | 中文| 欧美大屁股喷潮水xxxx| 麻豆国产传媒61国产av| 美女视频网站永久免费观看| 四虎成人精品永久免费av| 国产精品视频一区| 女性自慰网站免费观看| 精品熟女少妇av免费久久| 无码人妻久久一区二区三区免费丨| 国产欧美久久久精品影院| 精品无码黑人又粗又大又长| 把腿扒开让我添30分钟视频| 极品yin荡人妻合集h| 人人人妻人人澡人人爽欧美一区| 色综合久久88色综合天天| 亚洲精品一区二区| 人人妻人人爽日日人人| 伊人久久大香线蕉AV不卡 | 女人站着被舌头伺候| 精品国产自在天天线2019| 成人做爰视频www| 国产精品久久久久无码av色戒| 丰满的已婚女人hd中字| 下乡供我的发泄村妇| 日韩精品一区二区av在线观看| 粗大的内捧猛烈进出沈块池汐|