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.1k
最小限の実装で試す MetalによるGPUコンピューティング
potatotips #37 (iOS/Android開発Tips共有会)での発表に用いたスライドです。
yuky_az
February 15, 2017
Tweet
Share
More Decks by yuky_az
See All by yuky_az
生成AIの現状と展望: AIと共生する未来への道程
yukinaga
3
1k
BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能
yukinaga
0
340
iOSアプリは「感情」を宿すのか? AIとアプリの未来について
yukinaga
2
1k
iOSアプリに「意識」は宿るのか? ディープラーニングの先にある人工知能(AI)
yukinaga
6
5.4k
ヒトとAIの共生、そしてシンギュラリティ
yukinaga
0
940
iOSと(深層)強化学習
yukinaga
6
8.5k
iOSと人工知能(AI) -GPU並列演算の仕組みと機械学習-
yukinaga
0
3k
MetalでiOSアプリに宿る生命
yukinaga
2
1.3k
360°写真、動画を用いた VR 対応アプリの開発方法
yukinaga
5
5k
Other Decks in Technology
See All in Technology
JEP 480: Structured Concurrency
aya_ebata
0
130
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
930
『GRANBLUE FANTASY Relink』ソフトウェアラスタライザによる実践的なオクルージョンカリング
cygames
0
170
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
130
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
2
260
開発者の定量・定性データを組み合わせて開発者体験を把握するための取り組み
ham0215
1
130
20240912 JJUGナイトセミナー
mii1004
0
140
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
200
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
130
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
100
持続可能なソフトウェア開発を支える『GitHub CI/CD実践ガイド』
tmknom
7
1.4k
Discovering AI Models
picardparis
4
3.9k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
It's Worth the Effort
3n
182
27k
Testing 201, or: Great Expectations
jmmastey
36
7k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Happy Clients
brianwarren
96
6.6k
Infographics Made Easy
chrislema
239
18k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Documentation Writing (for coders)
carmenintech
65
4.3k
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