跳到主要內容

黃金級贊助商 - 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.








留言

這個網誌中的熱門文章

COSCUP 2019 CfP is now open, submit your proposal before May 6th, 2019.

We are looking for talks in several open-source related areas, please submit your proposal before May 6th, 2019. After the review process from the coordinators, we will publish the full programme in early June.一如往常,在今年的 COSCUP 我們徵求各式各樣不同的 Open Source 相關稿件。請於 5 月 6 日前投稿,或可參考本頁下方各議程軌資訊。Submit your proposalImportant DatesSubmission deadline: May 6th, 2019 (截稿時間)Full programme published: Early June (預定公佈時間)COSCUP 2019: Aug 17-18 (with welcome party at 16th night), at National Taiwan University of Science and TechnologyPartner conferences / 合作研討會特別軌We are gladly welcome HKOSCon (Hong Kong Open Source Conference,) COSCon (China Open Source Conf,) and OSPN OSC (オープンソースカンファレンス) join us with a special track. Please check their CfP form for more information about the track.今年 COSCUP 與 OpenSource HK 的「HKOSCon」、開源社的「COSCon」及 OSPN 的「OSC」合作推出特別軌,以期邀請各地的開源愛好者前來與大家一會。其各自的徵稿資訊,請參考下方連結。opensource.hk "HKOSCon" Special Track開源社 "COSCon" Special TrackOSPN "オープンソースカンファレンス" Spe…

2016 Unconference 議程公告!

嗨、各位親朋好友們
今年的 Unconference 名單出爐啦! 由於每一個 Talk 都相當精彩,因此我們想了辦法讓所有投稿的人都有舞台可以分享。 Unconference 演講場地為中研院活動中心的平面會議室。 對於其中的講題有興趣的朋友們請不要錯過囉 :-D
8/21 Unconference 活動中心的平面會議室時間 講題 講者 10:45
|
11:05 用開放原始碼技術翻轉傳統產業IT架構 Derek Hsu11:10
|
11:30 會自動飛行的"神奇寶貝"and飛行技巧 gavin 11:45
|
12:05 ProbeDroid: Crafting Your Own Dynamic Instrument Tool on Android for App Behavior Exploration | 沈宗賢 (AndyShen)12:10
|
12:30 蒙地卡羅模擬與志願運算 趙元13:30
|
13:50 Runtime PM for CPU idling in Linux kernelfreedom Koan-Sin Tan 13:55
|
14:15 Fuzzing and Mozilla GARY KWONG gkw14:30
|
14:50 無良房東一度電收你 5.5 元,你難道不生氣嗎?——從自幹智慧電表講起 Felix and Timo14:55
|
15:15 COSCUP + AppDevKit Jeff Lin C 備註:議程時間可能會調動。

COSCUP 2019 開源貢獻者保留票申請 / Open Source Contributors (OSC) Tickets Application

開源貢獻者資格 由 2018/5/12 到現在,實際針對開源專案提供開發、推廣、或其他有助專案進展之貢獻者,提出貢獻相關證明即可報名。
開源專案意指專案成果以 FSFOSI 認同之公眾授權條款釋出者 所提出之貢獻,必須可以經由公開途徑查證(例如提供 GitHub、Google Code、SourceForge 等公開專案平台上的討論紀錄、網址、commit log、信件文本、公開釋出之演講投影片紀錄等。) 海外參與者 你身在海外,雖想回台參與 COSCUP,但並非貢獻者又害怕搶不到票嗎?COSCUP 歡迎所有的海外人士前來參加!只要你居住在海外、承諾與會,並願意於 SNS 或個人 blog 公佈自己即將與會之訊息,即使非貢獻者或講者,也將優先獲得我們的 VIP 邀請。請在報名表上註明您的出發地,我們將再與您聯絡。

海外參與者請於第四個 Section 告訴我們您從哪裡來,並勾選相關選項。
Key dates5/12 報名截止。5/13 ~ 5/18 審查期間。5/19 第一次審查完畢,開始補件。5/26 前補件完成。6/2 公告開源貢獻者正式名單,通過的開源貢獻者可以在 KKTIX 上報名。 申請表單 申請方法與詳細資訊:https://goo.gl/forms/x7rmsEPsooBSK46T2

Who can apply for OSC tickets? Your participation in an open source project since 2018/5/12 makes you eligible for applying for a Registration Code. The open source project and your participation must meet the following conditions:
The project source code must be released with a license approved by Free Software Foundation or Open Source InitiativeThe project must be hosted on a public repository such as GitHub, Google Code, Sour…