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
最小限の実装で試す MetalによるGPUコンピューティング
Search
yuky_az
February 15, 2017
Technology
2
2.2k
最小限の実装で試す MetalによるGPUコンピューティング
potatotips #37 (iOS/Android開発Tips共有会)での発表に用いたスライドです。
yuky_az
February 15, 2017
Tweet
Share
More Decks by yuky_az
See All by yuky_az
AGI福岡 第3回
yukinaga
0
63
AGI福岡 第2回
yukinaga
0
59
生成AIの現状と展望: AIと共生する未来への道程
yukinaga
3
1.1k
BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能
yukinaga
0
360
iOSアプリは「感情」を宿すのか? AIとアプリの未来について
yukinaga
2
1k
iOSアプリに「意識」は宿るのか? ディープラーニングの先にある人工知能(AI)
yukinaga
6
5.6k
ヒトとAIの共生、そしてシンギュラリティ
yukinaga
0
980
iOSと(深層)強化学習
yukinaga
6
8.7k
iOSと人工知能(AI) -GPU並列演算の仕組みと機械学習-
yukinaga
0
3.1k
Other Decks in Technology
See All in Technology
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
140
re:Invent 2024のふりかえり
beli68
0
110
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
540
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
200
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
860
Amazon Route 53, 待ちに待った TLSAレコードのサポート開始
kenichinakamura
0
170
DMMブックスへのTipKit導入
ttyi2
1
110
【Oracle Cloud ウェビナー】2025年のセキュリティ脅威を読み解く:リスクに備えるためのレジリエンスとデータ保護
oracle4engineer
PRO
1
100
新卒1年目、はじめてのアプリケーションサーバー【IBM WebSphere Liberty】
ktgrryt
0
130
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
380
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
360
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Agile that works and the tools we love
rasmusluckow
328
21k
Adopting Sorbet at Scale
ufuk
74
9.2k
Scaling GitHub
holman
459
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Facilitating Awesome Meetings
lara
51
6.2k
How STYLIGHT went responsive
nonsquared
96
5.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Transcript
࠷খݶͷ࣮Ͱࢼ͢ .FUBMʹΑΔ(16ίϯϐϡʔςΟϯά :VLJOBHB"[VNB !ZVLZ@B[ QPUBUPUJQT
ࣗݾհ :VLJOBHB"[VNB ʢզ࠺ʣ J04ΤϯδχΞϓϩάϥϛϯάΠϯετϥΫλʔ !ZVLZ@B[ J0%$ͰεϚϗ͚73ΞϓϦͷ։ൃʹ͍ͭͯൃද 6EFNZͰʮΈΜͳͷ"*ߨ࠲ʯ։ߨத
Metalͱʁ Φʔόʔϔουͷখ͍͞ϩʔϨϕϧͳ ίϯϐϡʔλάϥϑΟοΫε"1* 0QFO(-ͱ0QFO$-ʹࣅͨػೳΛҰͭͷ"1*ʹ౷߹
ࠓճͷൃද༰ 1. ඳըॲཧ 2. ฒྻԋࢉ MetalʹΑΔ
GPUฒྻԋࢉͱʁ GPUͷԋࢉϦιʔεΛը૾ॲཧҎ֎ʹར༻
CPUͱGPUͷ࿈ܞ EFWFMPQFSBQQMFDPNNFUBM
Metal CPUଆͷొਓ 1 .5-%FWJDF୯Ұͷ(16ͷΠϯλʔϑΣΠε .FUBMؔ࿈ͷ"1*ଟ͕͘ϓϩτίϧͰهࡌ EFWJDF.5-$SFBUF4ZTUFN%FGBVMU%FWJDF QSJOUEFWJDFOBNF"QQMF"(16
Metal CPUଆͷొਓ 2 .5--JCSBSZγΣʔμʔͷΠϯλʔϑΣΠε .5-'VODUJPO.FUBM4IBEJOH-BOHVBHFͰॻ͔Εͨؔ .5-$PNQVUF1JQFMJOF4UBUF.5-'VODUJPOΛίϯύΠϧ͞Εͨίʔυʹม .5-$PNQVUF$PNNBOE&ODPEFSίϚϯυΛ(16༻ʹΤϯίʔυ .5-$PNNBOE#V⒎FS(16Ͱ࣮ߦ͞ΕΔίϚϯυΛ֨ೲ .5-$PNNBOE2VFVF্هͷΩϡʔɺίϚϯυͷ࣮ߦॱΛཧ .5-%FWJDF
ੜ
Metal Shading Language JODMVEFNFUBM@TUEMJC VTJOHOBNFTQBDFNFUBM LFSOFMWPJEBEE0OF DPOTUEFWJDFqPBU JOQVU%BUB<<CV⒎FS >>
EFWJDFqPBU PVUQVU%BUB<<CV⒎FS >> VJOUJE<<UISFBE@QPTJUJPO@JO@HSJE>> \ qPBUSFTVMUJOQVU%BUB<JE> SFTVMU G PVUQVU%BUB<JE>SFTVMU ^
GPU vs CPU ɾೖྗʹΛͯ͠Ҿ͘Λ܁Γฦ͢ ɾ$16ଆͰɺ্هΛສY/ճ ɾ(16ଆͰສεϨουY/ճ LFSOFMWPJEBEE"OE4VCUSBDU DPOTUEFWJDFqPBU JOQVU%BUB<<CV⒎FS
>> EFWJDFqPBU PVUQVU%BUB<<CV⒎FS >> VJOUJE<<UISFBE@QPTJUJPO@JO@HSJE>> \ qPBUSFTVMUJOQVU%BUB<JE> GPS VJOUJJ/J \ SFTVMU G SFTVMUG ^ PVUQVU%BUB<JE>SFTVMU ^
CPU vs GPU ഒఔ
CPU vs GPU ʢରʣ $16(16ؒͷΓͱΓΛ࠷খݶʹ͢Δ͜ͱ͕େࣄ
࣮ํ๏ɺಛੑ͕͔͖ͬͯͨͱ͜ΖͰ Կ͔Ԡ༻ͯ͠ΈΑ͏ʂ
܈ೳͱʁ ਓೳͷҰछɺूஂͱͯ͠ߴͳৼΔ͍
܈Εͷ3ͭͷϧʔϧ Bڑ֤ݸମ͕ڑΛอͭΑ͏ʹಈ͘ Cฒߦ֤ݸମ͕ଞͷݸମͱಉ͖͡ʹͳΔΑ͏ʹಈ͘ D֤ݸମଞͷݸମͱಉ͡ʹͳΔΑ͏ʹಈ͘
ࣜԽ Bڑ Cฒߦ D
γΣʔμʔͷίʔυ LFSOFMWPJENPWF ʜ GPS VJOUJJOPEF$PVOUJ \ ʜ ڑ qPBUBUUSBDUJPOFYQ C
EJTUBODFB EJTUBODFB qPBUSFQVMTJPOFYQ C EJTUBODF EJTUBODF E"OHMF BMQIB OFBS"OHMF BUUSBDUJPO GBS"OHMF SFQVMTJPO JOUFSWBM ฒߦ qPBUQBSBMMFM"OHMF%JGHFU3BOHFE"OHMF OPEFBOHMFDVSSFOU/PEFBOHMF E"OHMF CFUB QBSBMMFM"OHMF%JG FYQ C EJTUBODF EJTUBODF JOUFSWBM qPBUOPEF7FMPDJUZTRSU OPEFWFMPDJUZ9 OPEFWFMPDJUZ9 OPEFWFMPDJUZ: OPEFWFMPDJUZ: WFMPDJUZ HBNNB OPEF7FMPDJUZWFMPDJUZ FYQ C EJTUBODF EJTUBODF ^
ߏ ʢ6**NBHF7JFXͷαϒΫϥεʣ 7JFX$POUSPMMFSTXJGU .FUBM.BOBHFSTXJGU 4IBEFSNFUBM
࣮ԋ case1 IUUQTZPVUVCFD"60+XNF6" ЋЌЍ
࣮ԋ case2 IUUQTZPVUVCF(KES:&3:,7D ЋЌЍ
࣮ԋ case3 IUUQTZPVUVCF8M.J+%[$G ЋЌЍ
ύϑΥʔϚϯεʹ͍ͭͯ ͷݸମΛ༻ɺͦΕͧΕͷ૬ޓ࡞༻Λߟ͑ͨͷͰ YͰճͷԋࢉΛຖϑϨʔϜ͝ͱ ඵؒʹճ࣮ߦ GQTΛΩʔϓɺ$16༗ఔ FYQ͚ؔͩͰສճඵʢʣ
·ͱΊ ຊͷൃද༰ɺৄࡉ2JJUBͰ .FUBMͰϋΠύϑΥʔϚϯεͳ(16ฒྻԋࢉ͕Մೳ ෳࡶͳݱΛJ1IPOFʹ࠶ݱͰ͖Δ ਓೳͳͲͷԠ༻ɺظେ IUUQRJJUBDPNZVLZ@B[
ͯͯ͘͘ษڧձ #tekutekustudy ҟۀछΤϯδχΞ͕ू·Δษڧձ
Metal Advent Calendar
ιʔείʔυ HJUIVCDPNZVLJOBHB4XBSN*OUFMMJHFODF