Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pelemay Backend: A memory-saving, fault-toleran...
Search
Susumu Yamazaki (ZACKY)
September 07, 2023
Programming
280
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pelemay Backend: A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems
Susumu Yamazaki (ZACKY)
September 07, 2023
More Decks by Susumu Yamazaki (ZACKY)
See All by Susumu Yamazaki (ZACKY)
新規のC言語処理系を実装することによる 組込みシステム研究にもたらす価値 についての考察
zacky1972
1
560
ザキ研Elixir研究動向2023
zacky1972
0
440
Elixir/Nerves衛星を打ち上げる日
zacky1972
1
380
Robust, Distributed, and Parallel Processing for Enormous Images Using Supervisor, Node, Flow, Nx, and Evision
zacky1972
0
430
人工衛星高速画像処理で 社会問題を解決しよう
zacky1972
0
420
長い機械学習/画像処理でも メモリ不足を起こさないElixir新技術
zacky1972
0
330
Future Possibilities and Effectiveness of JIT from Elixir Code of Image Processing and Machine Learning into Native Code with SIMD Instructions
zacky1972
0
390
世界は意外と近い!? 「遠くへ行くならみんなで行こう」 次は貴方が発表する番だ
zacky1972
0
120
スーパーコンピュータが組込みシステムに降りてくる! 〜新時代の高性能組込みシステムの SIMD/ベクトル処理の要点を押さえる
zacky1972
0
390
Other Decks in Programming
See All in Programming
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
240
霧の中の代数的エフェクト
funnyycat
1
410
初めてのKubernetes 本番運用でハマった話
oku053
0
130
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
620
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
520
AIエージェントで 変わるAndroid開発環境
takahirom
2
690
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
350
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
600
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Fireside Chat
paigeccino
42
4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Side Projects
sachag
455
43k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Transcript
Pelemay Backend: A memory-saving, fault- tolerant and distributed collection of
Nx compilers and backends for embedded systems Susumu Yamazaki (ZACKY) This work was partially supported by the Asahi Kohsan Group Research Support Program of the Kitakyushu Foundation for the Advancement of Industry Science and Technology. 1 ©︎ 2023 Susumu Yamazaki
About Susumu Yamazaki (ZACKY) • This slides are in my
Speaker Deck https://speakerdeck.com/zacky1972 • From Japan 🇯🇵. • An organizer of ElixirConf JP. • Associate Professor at Univ. of Kitakyushu. • My hobby in my childhood was to describe science fiction stories! • I wanted to write longer stories, like Perry Rhodan, but my advantage was to write shorter stories… 2 ©︎ 2023 Susumu Yamazaki
Background • You know that de facto standard frameworks of
machine learning for Elixir are Nx, Axon and their ecosystem. • The talk by Sean Moriarity at this ElixirConf showed the positioning strategy of MLOps towards distributed and parallel computing with multiple GPUs for LLM! • We are quite much inspired by his talk. • However, current focuses of Nx, Axon and their ecosystem, especially EXLA, are unsuitable for most embedded systems due to lack of GPUs. • So, we have been developing Pelemay Backend, a lightweight Nx backend specialized for embedded systems, since 2022. 3 ©︎ 2023 Susumu Yamazaki
Our Positioning Strategy 4 ©︎ 2023 Susumu Yamazaki
Lesson Learned of Pelemay Backend 1st ed. • We developed
Pelemay Backend 1st ed. in 2022. • This proves utilization of OpenBLAS as an Nx backend. • BLAS means Basic Linear Algebra Subroutines, which has been developed and sophisticated since the FORTRAN era. • OpenBLAS is an open-source software compatible with BLAS, and has faster implementation with SIMD or vector instructions for most ISAs, including ARM and RISC-V, than that written in C. • We implemented a partial builder that can compile only necessary modules of OpenBLAS, and a prototype backend using it. 5 ©︎ 2023 Susumu Yamazaki
Lesson Learned of Pelemay Backend 2nd ed. • Next, we
have developed Pelemay Backend 2nd ed. since 2023. • One of its concepts is component-based for maintainability, based on Aspect-oriented programming (AOP). • That is, we will develop a backend generator to decorate the specified based backend with the functions before and after a set of functions in the backend. • The set can be specified with the style of AspectJ, an AOP language, and with grouping written in HexDocs of Nx, for example, Aggregates, Backend, Conversion, and so on. • The another is memory-saving. We proved that converting ONNX for ResNet to Axon and loading it require 9GB memory. That is too much to execute them on an embedded system. • However, the Sean’s talk shows the roadmap to realize memory-saving processing for LLM. Then, we will wait for the realization. 6 ©︎ 2023 Susumu Yamazaki
What Pelemay Backend focuses on • Thus, now, we’ll focus
on implementation of the component-based architecture with OpenBLAS. • Some module focuses on only multiplication of matrix and matrix. • Some module focuses on only addition with vectors or matrices with scalar multiplication. • Some module focuses on only scalar multiplication. • Some module focuses on only dividing large vectors or matrices into smaller pieces. • Other unfrequent operations are delegated to the default backend. • Such many simple modules collaborate to operate given numerical functions. • This makes architecture simpler to maintain than monolith. • This approach is to accumulate shorter stories towards a longer and longer story! 7 ©︎ 2023 Susumu Yamazaki
To get source of Pelemay Backend • https://github.com/zeam-vm/pelemay_backend • Look
forward to our future progress of such accumulated stories! • Thank you! 8 ©︎ 2023 Susumu Yamazaki