跳到主要內容

黃金級贊助商 - Skymizer 帶來 ONNC 通用的開放神經網路編譯器

「AI 創新需要開源生態系,而 ONNX 確保了 frameworks 之間的互通性,ONNC 的目標是將所有的 DLA ASIC 快速、簡單地與 ONNX 連結起來,確保所有的 DLA ASIC 都可以在 ONNX 上執行。」

由於 AI 的應用層面越來越廣,數百種新 AI 晶片將在不久的未來大量出現,目前市場上卻沒有一個能完整支援各家 DLA 的開源編譯器。根據統計,在 2018 年會有超過 34 家 IC 與 IP 廠商提供各式各樣的 AI 晶片與 deep learning accelerator (DLA) ASICs,因此急需一個開源的編譯器來支援各種不同的 AI 晶片。

成立於 2013 年的 Skymizer 一直都專注在 compiler 和 machine learning 領域,看到這個趨勢之後,建立了基於 ONNX 的編譯器 Open Nerual Network Compiler – ONNC,將所有的 AI 晶片與 ONNX 連結起來。

ONNX 是開放類神經網路交換格式,目前常見的 AI framework 如Caffe2、PyTorch…等等各有各的支持者,格式間互通性差,因此訓練出來的深度學習模型無法套用到別的 framework 上,但有了 ONNX,開發者可在不同格式之間輕鬆轉換。而透過 ONNX 支援多平台的特性,ONNC 可以支援各種不同的 AI frameworks,如 Caffe、Caffe2 與 PyTorch,幫助 DLA ASIC 廠商在短時間內就可以支援各種 AI frameworks,提升性能並縮短開發時間。  






想要更了解 ONNC,歡迎到 https://onnc.ai 追蹤最新的動態,
目前 ONNC 已在 GitHub https://repo.onnc.ai 釋出,而所有開發的相關討論,
將會在 mailing list 進行。


ONNC features:
Easy Backend Integration
ONNC is integrated with the LLVM bitcode runtime and compiler. If a DLA already supports the LLVM compiler, it can be connected to ONNC seamlessly. This helps most CPUs, GPUs, and DSPs ported to ONNC in a very short time. On the other hand, if a DLA has unique computation features and is not compatible to LLVM, ONNC also provides a modular framework to speed up the compiler development. DLA vendors can quickly customize an ONNC backend from a so called “vanilla” backend, which already provides some necessary optimization algorithms.


Reusable Compiler Optimizations
Two of ONNC’s contributions are dividing the AI compilation into several clear phases and giving the corresponding APIs for algorithm development.
There are five phases carefully defined, each of which is focused on a particular compiler problem: IR building, partitioning, scheduling, allocation, and code emitting.
ONNC also provides a series of optimization algorithms ready for use. They are general and reusable, including tensor selection, tensor liveness analysis, linear scan local memory allocation, etc. ONNC’s pass manager is flexible and similar to LLVM’s. AI researchers and engineers who are familiar with LLVM can intuitively contribute their general or target-specific optimization algorithms to ONNC.


Status and Future Work
Project ONNC is not mature yet.
Still, we have a lot to do and need the community together to make it better. In this preview release, we carefully designed the software architecture so as to simplify the future development and
maintenance.
The items we have done include:



  • Clear compilation phases and the corresponding APIs.
  • Well-defined and extensible intermediate representation (IR) of target-specific instructions.
  • A pass manager that supports automatic scheduling according to the dependency claimed by each pass.
  • A Sophon backend that supports BITMAIN AI ASIC.
  • Shim library such as ADT, Diagnostics, JSON, etc.

Project ONNC follows the “release early, release often” principle,
so the next release should come soon by the end of August.
We plan to finish the following items.

  • An x86 backend that enables the execution of AI models on an x86 machine. That backend should support both JIT and interpreter way of execution.
  • Improvements of memory allocation based on liveness analysis.

JOIN US
To keep up with the latest development or make suggestions, please join the ONNC mailing list. Also, please head over to the official website https://onnc.ai/ and GitHub https://repo.onnc.ai for more information.








留言

這個網誌中的熱門文章

虛擬場地開放時間表 / All virtual venue’s opening hours

以下是所有虛擬場地開放的時間表 Those are our all virtual venue’s opening hours. Opening Hours 7/30 7/31 8/01 入口區 ENTRANCE 24H 24H 24H 攤位區 Booth 1 / Booth 2 CLOSED 10:00 18:00 10:00 18:00 Party | BoF Party 1 / Party 2 17:30 22:00 17:30 22:00 CLOSED 如果你正在找線上議程轉播,可以直接前往 COSCUP’s YouTube Channel . If you are looking for the online conference streaming, please go to COSCUP’s YouTube Channel .

COSCUP x KCD Taiwan 2022 CfP is now open, submit your proposal before May 23th, 2022.

We have pleasure to work with KCD Taiwan to have a joint conference this year. We are looking for talks in several open-source related areas, please submit your proposal before May 23th, 2022. After the review process from the coordinators, we will publish the full programme in early June. Please note that the length of each agenda is preset to 30 minutes, only the specific tracks are open to other agenda lengths for selection, which will be filled in on the second page of the registration form.  In the submission type on the first page of the registration form, please select the default value (30 mins) . 今年 COSCUP 我們很榮幸與 KCD Taiwan 合作舉辦聯合研討會,並且如往常,徵求各式各樣不同的 Open Source 相關稿件。請於 5 月 23 日前投稿,或可參考本頁下方各議程軌資訊。    請注意,每場議程長度預設為 30 分鐘 ,惟指定議程軌開放其他議程長度進行選擇,會在報名表單第二頁進行填寫,報名表單第一頁的 提交型態 中,請選擇預設值。 Submit your proposal Important Dates Submission deadline: May 23th, 2022, Anywhere on Earth!(截稿時間) Full programme published: Early July (預定公佈時間) COSCUP x KCD 2022: July 30th - July 31th, at National Taiw

全線上舉辦!COSCUP x RubyConfTW 2021 will be an entirely Virtual Event.

COSCUP x RubyConfTW 2021 將於 07/31~08/01 線上舉辦! 籌備團隊針對 COVID-19 疫情之因應,依據指揮中心之警戒標準,決議今年將以 YouTube 直播加上 Live Q&A 的方式進行。 仍舊希望能讓大家參與我們的會期活動 (會前派對、聽議程、大拜拜、逛攤位),為此我們計畫使用 Gather Town 的服務,打造可以開心聊天交流、安心線上參與的遠距虛擬會議環境! In response to the COVID-19 level 3 warning from CECC Taiwan, COSCUP x RubyConfTW 2021 will change to a virtual event this year, from Jul 31 to Aug 1. We will use YouTube’s service: lectures will be uploaded, and the Q&A interaction part will be live streaming. For the pre-conf party and other exhibition interactions, we plan to use Gather Town to bring the best experience to our participants. Stay home, and enjoy the online version COSCUP x RubyConfTW 2021!