|

【Arm的AI世界】GitHub與Arm為開發者徹底改變在Windows上的開發作業

   

作者:Pareena Verma,Arm解決方案總監暨傑出工程師;Eric Sondhi,Arm開發者行銷策略資深經理

GitHub與Arm緊密合作,致力於最佳化在Arm平台上開發的體驗,透過強化的工作流程,整合原生Arm runner、內建必要工具與函式庫的映像檔,以及GitHub Copilot Extensions,協助開發者運用AI加速開發。2025年4月,我們很興奮地看到GitHub發表了Windows Runners for GitHub Actions供大家預覽。由於它結合了如ONNX on Windows以及幾週前發表的Windows使用的Arm原生Pytorch建構版等由Arm促成的加速AI框架,使Windows on Arm平台上開發、測試與部署AI應用都比以往更為便利。

越來越多的企業為了提升能源效率與移動性,採用基於Arm技術架構的Windows裝置。然而,缺乏原生的持續整合/持續部署(CI/CD)流水線,始終是一大瓶頸。現在原生的runner已可促成與企業工作流程完成無縫整合,讓團隊能在與正式環境相同的環境中建置與測試軟體──透過GitHub提供的最具成本效益的runner執行器完成!

開源社群長期以來都在尋求更好的WoA支援性,特別是針對跨平台工具與套裝軟體。在公用儲存函式庫可免費取用的原生GitHub Arm runners,為有志為WoA提供支援的貢獻者與維護人員降低進入障礙,不用求助於複雜的工具鏈或仿真器。CPython專案則是第一個為WoA runners增加支援性的開源專案之一。

隨著Arm驅動的Windows筆電越來越受到歡迎,開發者需要強健的管線以支援Windows客戶端裝置上的應用。這些執行器以x64的工作流程取得同位,促成Windows圖形化使用者介面(GUI)應用程式、UWP與.NET等應用的原生建構。基於Arm 技術的這些runners由建構於Arm Neoverse N2之上的微軟Azure Cobalt 100處理器所驅動,它搭載4 vCPU與Armv9-A功能,包括可擴展的向量延伸指令集2(SVE2)。

以下的輸出資料顯示我們在基於Arm技術的runner上執行wmic指令的結果:

在高速且搭載SVE技術的雲端Arm伺服器的支援下,這些runner為WoA工作流程提供企業級的效能。這些基礎設施滿足當代CI/CD處理程序所需的規模與效率需求。

促成CI/CD工作流程

原生Arm runner與GitHub Actions的整合,促成:

  • 建構–為Arm64應用進行原生編譯。
  • 測試–在與生產環境相同的架構上,對單元、整合與使用者介面進行測試。
  • 部署–為Arm64裝置提供無縫的部署工作流程,包括從筆電到雲端與嵌入式系統。

由GitHub直接管理的windows-11-arm映像檔內含內容豐富的整套開發工具,例如:

  • 語言:Python、js、Go、Ruby、Java與 .NET
  • 建構工具:MSBuild、Ninja、CMake、Clang與LLVM
  • 軟體套件管理器:Chocolatey、pip、npm、vcpkg與NuGet
  • 開發維護工具:Azure CLI、AWS CLI、GitHub CLI、Docker與Bazel
  • 公用程式: Git、PowerShell、7zip、VSWhere與OpenSSL

完整清單,請詳見GitHub合作夥伴映像檔儲存庫。您可以使用此一儲存庫來回報問題,並可提出新增更多軟體套件的要求。

在工作流程中開始使用Arm架構GitHub runner

若您要在工作流程中使用Arm64 runner,請設定:


runs-on: windows-11-arm 

備註:此一標籤目前只供公用儲存庫(public repositories)使用。

使用針對GitHub Copilot推出的Arm擴充程式來加速遷移

為了賦予開發者更多能力,GitHub Copilot的Arm擴充程式可以協助簡化並加速應用朝Windows on Arm平台遷移。這個工具可以充當智慧助理、能分析您的程式庫,並針對應用情境提出建議,讓您產出的程式碼與Arm相容。

以下是您打造與部署應用時,可以協助激盪出想法的一些範例提示詞:

@arm Can I use native GitHub hosted runners for building and testing my Windows Applications on Arm?

@arm How do I build my Qt application natively on Windows on Arm?

此擴充程式可以提供即時修正以及架構感知的程式碼建議,讓遷移更為順暢。

有了原生由GitHub直接管理的Windows on Arm runners,以及像Arm Copilot擴充程式等AI輔助工具,以Arm技術進行原生開發的未來已經到來:

  • 不再需要依賴模擬器進行作業變通方法
  • 更快速的建構
  • 更簡易的遷移路徑
  • 對開發者提供更聰明的協助

現在就開始整合這些工具,並朝著現代高效能、Arm原生的軟體開發生命週期邁進。

針對Windows on ArmPyTorch MLOps

The new native PyTorch support, announced by Microsoft, means developers can now train and run models for a variety of use cases like directly on Arm64 Windows devices without relying on x64 emulation or cross-compilation. Learn how to install on your Windows machine today – PyTorch for Windows on Arm | Arm Learning Paths

微軟宣布對PyTorch提供的全新原生支援,代表開發者今後可以針對如Arm64 Windows裝置等各種使用場景,進行模型訓練與運行,毋需仰賴x64模擬器或跨平台編譯。想進一步了解如何在您的Windows裝置上安裝,請參考: Arm學習路徑:PyTorch for Windows on Arm

有了這些runner,機器學習開發者現在可以直接在Arm64 Windows基礎架構上執行自動化的測試與部署工作流程,這對於在Arm原生的環境中驗證模型與流水線極為重要。

這些軟體生態系的技術進展整合起來,為Windows on Arm平台提供了完善的端對端MLOps解決方案。

這些進展支援廣泛的機器學習使用場景,從Stable Diffusion等生成式AI模型,到自然語言處理(NLP)任務,再到傳統的分類與迴歸問題,讓Windows on Arm針對當代的機器學習工作流程,形成一個威力強大且生產就緒的平台。

開發者怎麼看

由於有數百個專案展開時就已經採用Windows runners,開發者在工作流程中發現到顯著的進展,同時也省下不少時間。軟體與應用安全架構師、Windows 開發和 .NET 領域微軟最有價值專家(MVP)Jeremy Sinclair,最近將一個runner遷移到全新的Windows Arm runner,就看到了顯著效益。

 「我能夠輕鬆無縫地在我的流水線中設定並加入一個適用 Windows-11-Arm runner。但為了確認結果,我重複跑了三、四次,結果發現新Windows 11 Arm64 runner的建構速度比原本的 Windows runner快了四倍!令人驚訝的是,我幾乎不用修改什麼就能讓runner正常運作。Arm GitHub 團隊,真的太棒了!」

-Jeremy Sinclair

讓開發者感到滿意正是Arm與GitHub合作的關鍵原因!

親自嘗試看看吧!

現在就透過Arm最新的Learning Path教程,來學習以GitHub Arm直接管理的runner自動化Windows on Arm建構作業;還有透過微軟的教學影片,了解如何使用GitHub Runner在Windows on Arm平台上原生運作PyTorch

還想了解更多有關開發者如何使用這些全新的Windows runners來加速建構,以及簡化他們Windows on Arm的CI/CD與MLOps流水線,敬請期待我們的更多分享!

(參考原文:GitHub and Arm are transforming development on Windows for developers;中文版校閱者為Arm首席應用工程師林宜均)

 

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Arm作者群

來自各方的Arm開發者社群專家。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *