衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Why Julia?同元軟控科學計算環境Syslab助推Julia開源社區發展

華聲電子網 ? 來源:華聲電子網 ? 作者:華聲電子網 ? 2023-01-05 17:45 ? 次閱讀

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

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

一、JuliaCN 2022 報告盤點

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

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

1、同元軟控與 Julia

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

報告人:郭俊峰 (產品總監)

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

pYYBAGO2nCSAZ95KAAIEAWiSya0387.png

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

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

Julia 可以寫出極其高效的代碼,但這需要經過一定的觀念轉變與編程訓練。

報告人:陳久寧

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

poYBAGO2nCWAauX6AAFNDG5wMqI241.png

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

3、TyMLang.jl:將 MATLAB 代碼導入 Julia 生態

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

報告人:趙王宏楦

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

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

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

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

報告人:宋家豪

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

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

5、TyPlot: 使用 Julia 實現自定義繪圖模塊

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

報告人:陳志強

向社區介紹了同元軟控在數據可視化方面的迫切需求,引出了圖形庫開發的必要性。從如何開發圖形庫、現有的技術調研、圖形庫最終的開發目標介紹了圖形庫的背景。

pYYBAGO2nCaACfAjAAI1a_6OYKY365.png

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

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

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

報告人:陳久寧

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

poYBAGO2nCeAGgOZAAFlcE44o9U248.png

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

二、Julia 社區貢獻

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

1、JNumpy: julia-numpy

作者:趙王宏楦、宋家豪

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

2、ObjectOriented.jl

作者:趙王宏楦

ObjectOriented.jl 是同元軟控為 Julia 語言實現的一套完整的、機制性 (mechanical) 的面向對象宏庫,能夠讓用戶以貼近 Python 的語法進行面向對象編程,以訪問諸如繼承/多繼承、getter/setter,接口編程等功能。

pYYBAGO2nCeAfRPtAADHBbSrLLw146.png

由于該庫是 Julia 中第一個完整實現常見面向對象特性的庫,在向社區征求命名意見時,被一致認同冠以 ObjectOriented.jl 這個明顯具有生態主導地位的名字。

3、UnzipLoops.jl

作者:陳久寧、趙王宏楦

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

poYBAGO2nCiALVstAAEGnlxAC2w418.png

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

三、寄語

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


審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電子
    +關注

    關注

    32

    文章

    1899

    瀏覽量

    89622
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69044
收藏 人收藏

    評論

    相關推薦

    如意玲瓏社區2024年度工作總結

    2024年,如意玲瓏社區社區發展及軟件生態建設領域邁出了堅實的步伐。作為開放原子開源基金會的孵化項目,在這一年里穩步推進各項工作,在多個關鍵層面取得了切實的成果。
    的頭像 發表于 02-05 11:45 ?164次閱讀
    如意玲瓏<b class='flag-5'>社區</b>2024年度工作總結

    共榮開源生態!通動力子公司鴻湖萬聯榮獲“2024年度開源鴻蒙社區卓越單位”

    OpenHarmony建設成果,吸引更多力量加速推動開源生態高質量發展。作為OpenHarmony項目群A類捐贈人及社區核心貢獻單位,通動力子公司鴻湖萬聯亮相會議,
    的頭像 發表于 01-21 16:32 ?178次閱讀
    共榮<b class='flag-5'>開源</b>生態!<b class='flag-5'>軟</b>通動力子公司鴻湖萬聯榮獲“2024年度<b class='flag-5'>開源</b>鴻蒙<b class='flag-5'>社區</b>卓越單位”

    通動力榮獲“2024年度開源鴻蒙社區卓越單位”

    近日,一場聚焦開源生態發展的重要盛會——OpenHarmony年度工作會議在深圳成功舉行。本次會議由開放原子開源基金會指導,OpenHarmony社區主辦,匯聚了眾多OpenHarmo
    的頭像 發表于 01-15 15:53 ?231次閱讀

    RT-Thread榮登2024開源創新榜單,躋身中國十大開源社區

    日前,由中國科協科學技術傳播中心、中國計算機學會、中國通信學會和中國科學院軟件研究所聯合主辦,CSDN承辦的2024年開源創新榜評選活動圓滿落幕。在眾多優秀候選者中,RT-Thread
    的頭像 發表于 01-08 19:06 ?257次閱讀
    RT-Thread榮登2024<b class='flag-5'>開源</b>創新榜單,躋身中國十大<b class='flag-5'>開源</b><b class='flag-5'>社區</b>

    通動力榮膺“openGauss社區突出貢獻單位”

    ,匯聚思想引領者、商業精英、技術專家、合作伙伴以及全球開源基金會等業界同仁,凝聚全國乃至全球產業發展力量,共同探討數據庫產業發展方向和未來機遇。 通動力作為openGauss的重要參
    的頭像 發表于 12-27 18:47 ?423次閱讀

    黃鶴開源社區正式發布

    近日,在2024開放原子開發者大會暨首屆開源技術學術大會開幕式上,基于開放原子開源基金會旗下AtomGit開源協作平臺搭建的黃鶴開源社區正式
    的頭像 發表于 12-23 11:33 ?324次閱讀

    deepin榮獲2024年度開源社區

    近日,由中國科協科學技術傳播中心、中國計算機學會、中國通信學會和中國科學院軟件研究所聯合主辦、CSDN 承辦的 2024 年開源創新榜評選活動圓滿落幕。經過嚴格的評選過程,deepin
    的頭像 發表于 12-20 15:13 ?326次閱讀

    deepin社區落地開源生態發展合作倡議

    )五大操作系統開源社區聯合發起的開源生態發展合作倡議,deepin(深度)社區在操作系統構建工程落地上已有重要進展,彰顯了 deepin(深
    的頭像 發表于 12-17 09:35 ?280次閱讀

    OpenHarmony人才生態大會南向生態社區發展論壇在武漢圓滿舉辦

    11月27日,OpenHarmony人才生態大會2024在武漢隆重舉行。當日下午的 OpenHarmony南向生態社區發展論壇(以下簡稱“論壇”)上,眾多社區伙伴、企業代表、技術專家與優秀開發者齊聚,深度分享OpenHarmony硬件生態與人才建設經驗,為其
    的頭像 發表于 11-29 10:06 ?237次閱讀
    OpenHarmony人才生態大會南向生態<b class='flag-5'>社區發展</b>論壇在武漢圓滿舉辦

    OpenHarmony人才生態大會南向生態社區發展論壇在武漢圓滿舉辦

    11月27日,OpenHarmony人才生態大會2024在武漢隆重舉行。當日下午的 OpenHarmony南向生態社區發展論壇(以下簡稱“論壇”)上,眾多社區伙伴、企業代表、技術專家與優秀開發者齊聚
    發表于 11-29 09:54

    香蕉派開源社區與矽昌通信共推BPI-Wifi5 低成本路由器開源方案

    和其他網絡環境。由Banana Pi 開源硬件社區與矽昌通信聯合推出,采用開源方式運作,所有的軟件都公開在Github上,開發者與用戶可以自由編譯自己的軟件。 BPI-Wifi5 Ro
    發表于 11-28 10:37

    通動力榮膺2024年度openEuler社區突出貢獻單位

    近日,主題為“以智能 致世界”的操作系統大會2024在北京中關村國際創新中心舉辦,大會由openEuler社區和全球計算聯盟主辦,通動力參與協辦。作為開放原子開源基金會白金捐贈人
    的頭像 發表于 11-20 11:50 ?458次閱讀

    Arm加入OpenCloudOS操作系統開源社區

    基于 Arm 架構的應用。近期,Arm 加入 OpenCloudOS 操作系統開源社區,共同推進開源云操作系統的發展。 Arm 作為全球領先的計算
    的頭像 發表于 11-15 11:34 ?435次閱讀

    國際簽署CLA,正式加入OpenCloudOS操作系統開源社區

    近日,中國際簽署 CLA(Contributor License Agreement 貢獻者許可協議),正式加入 OpenCloudOS 操作系統開源社區
    的頭像 發表于 04-15 11:42 ?774次閱讀

    從MATLAB到MWORKS,科學計算與系統建模仿真平臺的中國選項

    一、控:敢擔重任,研制中國自主的科學計算與系統建模仿真平臺 “中國需要自主的科學
    的頭像 發表于 03-11 13:06 ?673次閱讀
    外围博彩| 试用的百家乐官网软件| 威尼斯人娱乐平台反| 红宝石百家乐官网的玩法技巧和规则| 新云顶国际| 百家乐牌九| 名人百家乐官网的玩法技巧和规则| 99真人娱乐城| 狮威百家乐娱乐平台| 百家乐官网的最佳玩| 在线真人娱乐| 克拉克百家乐的玩法技巧和规则 | 文成县| 威尼斯人娱乐城进不了| 做生意店铺风水好吗| 肯博88国际网| 时时博百家乐的玩法技巧和规则 | 玩百家乐技巧看路| 澳门百家乐官网赌客| 本溪棋牌娱乐网| 百家乐稳赢投资法| 2404这个房号 风水| 百家乐官网决战推筒子| 丰合网上娱乐| 威尼斯人娱乐 老品牌| 百家乐官网真人秀| 久胜娱乐| 大发888 dafa888| 百家乐赌场赌场网站| 58百家乐官网的玩法技巧和规则 | 百家乐官网游戏试| 乐宝百家乐官网游戏| 大发888充值网站| 贵宾百家乐的玩法技巧和规则 | 财神百家乐娱乐城| 百家乐官网论坛官网| 百家乐官网机器昀程序| 凯旋国际| 大发888最新网站| 百家乐电子发牌盒| 百家乐视频游戏账号|