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
プログラミング言語 Tlangの開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tkclimb
May 05, 2020
Technology
0
640
プログラミング言語 Tlangの開発
2020年のGWハッカソンで発表した内容です。
tkclimb
May 05, 2020
Tweet
Share
More Decks by tkclimb
See All by tkclimb
コンピューティングの基礎と高速化入門
tkclimb
17
9.4k
Other Decks in Technology
See All in Technology
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
120
Meshy Proプラン課金した
henjin0
0
170
みんなだいすきALB、NLBの 仕組みから最新機能まで総おさらい / Mastering ALB & NLB: Internal Mechanics and Latest Innovations
kaminashi
0
170
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.2k
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1k
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
140
SMTP完全に理解した ✉️
yamatai1212
0
160
Databricks Free Edition講座 データサイエンス編
taka_aki
0
270
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
5
1.7k
Tebiki Engineering Team Deck
tebiki
0
23k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
180
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
0
220
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
150
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Deep Space Network (abreviated)
tonyrice
0
38
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
How to build a perfect <img>
jonoalderson
1
4.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
[SF Ruby Conf 2025] Rails X
palkan
0
730
Transcript
ϓϩάϥϛϯάݴޠ Tlangͷ։ൃ Takato Yamada
͍͖ͳΓͰ͕͢ɺ ϓϩάϥϜΛߴԽେมͰ͢
΅͔͠ॲཧ (ߴԽͳ͠)
΅͔͠ॲཧ (खͰߴԽ)
΅͔͠ॲཧ (HalideͰߴԽ)
΅͔͠ॲཧ (HalideͰߴԽ) ·ͩਓखͰߴԽ (εέδϡʔϦϯά)͕ඞཁ
Tlang (Tensor language) ͱ • ΞϓϦέʔγϣϯࢥߟͳςϯιϧϕʔεɺϓϩάϥϛϯάݴޠ • ΞϧΰϦζϜͱεέδϡʔϦϯάΛͯ͠ॻ͚Δ • εέδϡʔϦϯάΛࣗಈͰߦ͑Δ
(ͪΖΜखॻ͖Ͱ͖Δ) • ϔςϩδχΞεͳڥͰಈ͖ɺϢʔβࠩҟΛҙࣝ͠ͳͯ͘ྑ͍ • ϞμϯͳϓϩάϥϛϯάݴޠͰ࣮͢Δ͜ͱͰՄಡੑɺ։ൃޮΛվળ • هड़ՄೳͳυϝΠϯΛը૾ॲཧσΟʔϓϥʔχϯά͚ͩͰͳͯ͘ɺ HPC·Ͱ͍͛ͨ
ࠩผԽ • Tlang: ։ൃݴޠ͕Ϟμϯ(Swift, Rust)ɺϧʔϓൖґଘ͕هड़ՄೳͳϧʔϓϨϕϧDSL ΦʔτνϡʔχϯάΛࡌ ࢄܭࢉܭࢉΧʔωϧͷඇಉظ࣮ߦʹରԠ͢Δ (શͯئ) • Tensorflow,
Pytorch: ։ൃݴޠ͕C++ ɺϧʔϓϨϕϧهड़Ͱ͖ͳ͍ (XLAՄೳ?) • Halide: ։ൃݴޠ͕C++ɺϧʔϓൖґଘ͕ॻ͚ͳ͍(ϑϩϯτΤϯυͰ)ɺ Φʔτνϡʔχϯάͦ͜·Ͱڧ͘ͳ͍ɺࢄܭࢉͰ͖ͳ͍ • TVM: ։ൃݴޠ͕C++ͱPythonɺϧʔϓൖґଘ͕ॻ͚ͳ͍ɺࢄܭࢉͰ͖ͳ͍ • Tiramisu: ։ൃݴޠ͕C++ɺΦʔτνϡʔχϯά͕ͳ͍
• Tlang: ։ൃݴޠ͕Ϟμϯ(Swift, Rust)ɺϧʔϓൖґଘ͕هड़ՄೳͳϧʔϓϨϕϧDSL ΦʔτνϡʔχϯάΛࡌ ࢄܭࢉܭࢉΧʔωϧͷඇಉظ࣮ߦʹରԠ͢Δ (શͯئ) • Tensorflow, Pytorch:
։ൃݴޠ͕C++ ɺϧʔϓϨϕϧهड़Ͱ͖ͳ͍ (XLAՄೳ?) • Halide: ։ൃݴޠ͕C++ɺϧʔϓൖґଘ͕ॻ͚ͳ͍(ϑϩϯτΤϯυͰ)ɺ Φʔτνϡʔχϯάͦ͜·Ͱڧ͘ͳ͍ɺࢄܭࢉͰ͖ͳ͍ • TVM: ։ൃݴޠ͕C++ͱPythonɺϧʔϓൖґଘ͕ॻ͚ͳ͍ɺࢄܭࢉͰ͖ͳ͍ • Tiramisu: ։ൃݴޠ͕C++ɺΦʔτνϡʔχϯά͕ͳ͍ ࠩผԽ (স) ݸਓͰશͯΛ࣮͢Δ͜ͱ΄΅ෆՄೳ. ݁ہͷॴͳʹ͔࡞Γ͍͚ͨͩস
ϥ ϯ λ Π Ϝ ߏ ؔܕελΠϧ ϑϩϯτΤϯυ ίʔυੜ LLVM
ݴޠϑϩϯτΤϯυ ߴϨϕϧ IR ࠷దԽػ 1 Ϩϕϧ IR ࠷దԽػ 2 GPU CPU ࢄ ୯Ұ ࣗಈ࠷దԽػ ϥ Π ϒ ϥ Ϧ
ؔܕελΠϧ ϑϩϯτΤϯυ ίʔυੜ ݴޠϑϩϯτΤϯυ ߴϨϕϧ IR ࠷దԽػ 1 Ϩϕϧ IR
࠷దԽػ 2 ࣗಈ࠷దԽػ ߏ ϥ ϯ λ Π Ϝ ϥ Π ϒ ϥ Ϧ LLVM GPU CPU ࢄ ୯Ұ
ϥ ϯ λ Π Ϝ ϥ Π ϒ ϥ Ϧ
ؔܕελΠϧ ϑϩϯτΤϯυ ίʔυੜ ݴޠϑϩϯτΤϯυ ߴϨϕϧ IR ࠷దԽػ 1 Ϩϕϧ IR ࠷దԽػ 2 ࣗಈ࠷దԽػ ͜͜ΛՃ͍ͨ͠! ݟੵΓ LLVM GPU CPU ࢄ ୯Ұ
ϥ ϯ λ Π Ϝ ϥ Π ϒ ϥ Ϧ
ؔܕελΠϧ ϑϩϯτΤϯυ ίʔυੜ ݴޠϑϩϯτΤϯυ ߴϨϕϧ IR ࠷దԽػ 1 Ϩϕϧ IR ࠷దԽػ 2 ࣗಈ࠷దԽػ ͕͜͜ݮͬͨ ݁Ռ LLVM GPU CPU ࢄ ୯Ұ
• ࢀߟϓϩδΣΫτΛॻ͖͍ͯͨ͠ॴɺDeep copy͕Ͱ͖ͳ͍͜ͱ ͕͔ͬͨ →ίϯύΠϥͷIRϥϕϧ͖༗ޮάϥϑͰද͞Ε͍ͯΔ͕ɺάϥ ϑΛίϐʔ͢ΔͨΊʹɺઌߦΛશͯίϐʔ͠ͳ͍ͱ͍͚ͳ͍… • ϊʔυͷछྨ͕ଟ͍͠ɺࠓޙ૿͑Δͷख࣮େม ࣗಈͰੜͯ͠Ζ͏! ͑ͬͳʹͬͯͨͷʁ
• ࢀߟϓϩδΣΫτΛॻ͖͍ͯͨ͠ॴɺDeep copy͕Ͱ͖ͳ͍͜ͱ ͕͔ͬͨ →ίϯύΠϥͷIRϥϕϧ͖༗ޮάϥϑͰද͞Ε͍ͯΔ͕ɺάϥ ϑΛίϐʔ͢ΔͨΊʹɺઌߦΛશͯίϐʔ͠ͳ͍ͱ͍͚ͳ͍… • ϊʔυͷछྨ͕ଟ͍͠ɺࠓޙ૿͑Δͷख࣮େม ࣗಈͰੜͯ͠Ζ͏! ͑ͬͳʹͬͯͨͷʁ
ѱເͷ࢝·Γ
ͱΓ͋͑ͣਐḿ D {Add(C[Var(i), Var(j)], {C {Add(A[Var(i), Var(j)], {Input(A)}, B[Var(i), Var(j)],
{Input(B)})}}, IntConst(3))}
ίʔυΛੜ͢ΔͨΊͷίʔυ(ίϯύΠϥ)Λ ੜ͢ΔίʔυΛॻ͘৬ਓʹͳΓ·ͨ͠ ݁