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
GPUを計算資源として使おう!
Search
prime number
July 11, 2025
Programming
580
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GPUを計算資源として使おう!
@エンジニア作業飲み集会LT 2025/07/11
prime number
July 11, 2025
More Decks by prime number
See All by prime number
Ray Tracing In One Hour
primenumber
0
250
プログラムを高速化する話Ⅱ ~GPGPU編~
primenumber
1
1.2k
プログラムを高速化する話
primenumber
0
820
オセロを速く解く話/solveothello
primenumber
2
2.8k
コンピュータで問題をサッと解きたい!
primenumber
0
380
Other Decks in Programming
See All in Programming
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
150
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
150
数百円から始めるRuby電子工作
tarosay
0
160
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
710
リアルな遅延を測る仕様
kota_yata
1
120
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
130
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
800
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
530
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Ruling the World: When Life Gets Gamed
codingconduct
0
300
Thoughts on Productivity
jonyablonski
76
5.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
530
Technical Leadership for Architectural Decision Making
baasie
3
490
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
The Limits of Empathy - UXLibs8
cassininazir
1
610
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Transcript
@エンジニア集会2025/07/11 GPUを計算資源 として使おう! 発表者:そすうぽよ
主にデジタル画像処理や、コンピューターグラフィックスの処理を ⾏う専⽤の装置 GrahpicProccessingUnitの略 GPUとは
CPUと同じチップ 上に組み込まれたGPU ※ ノートPCやスマートフォン、スタンドアロンのHMDなどに よく搭載されている 統合GPU(Integrated GPU, iGPU) 個別GPU(Discrete GPU,
dGPU) GPUの種類 独立したチップを持つGPU デスクトップPC、ノートPCのうちでもゲーミングPCと呼ばれるものなどに よく搭載されている iGPUとdGPUが両方搭載されていることもある
突然ですが、アンケートです! 当てはまる人は挙手 ✋・ジャンプ
GPUを使ったことは ありますか?
GPUを使ったことはある? VRChatで100人に聞いた(大嘘)! ある 99% ない(脳にLANケーブルを接続) 1% 圧倒的利用率! VRChatのシステム要件の一つ
GPUをグラフィック処理以外の計算にも使う悪だくみ技術 GPGPU: General Purpose GPU GPUはCPUに比べて高い演算性能と、広いメモリ帯域を持っているため、 うまくいけば何倍も性能が向上する GPUを計算に使うモチベーション GPUを計算に使おう
完全に同じ内容を実⾏したら意味がないので、 各スレッドは⾃分のIDをもとに動作を変える SPMD:SingleProgramMultipleData たくさんのスレッドが同じプログラムを実⾏する SPMDモデルの利点 GPGPUのプログラミング 各スレッドに対してそれぞれプログラムを書く必要がないため、 ⼤きな並列度のプログラムを実装するのが楽 GPUで効率的に実⾏しやすい
ハードウェアの構造等がCPUと⼤きく異なるため、 性能を出すためにある程度の知識が必要 そもそもGPGPUが向いていないタスクも多い ⼤変なところ GPUを計算に使おう
ハードウェアの構造等がCPUと⼤きく異なるため、 性能を出すためにある程度の知識が必要 そもそもGPGPUが向いていないタスクも多い ⼤変なところ GPUを計算に使おう あるある GPUを使ったら10倍になった!!!
ハードウェアの構造等がCPUと⼤きく異なるため、 性能を出すためにある程度の知識が必要 そもそもGPGPUが向いていないタスクも多い ⼤変なところ GPUを計算に使おう あるある GPUを使ったら10倍になった!!!実⾏時間が…
ハードウェアの構造等がCPUと⼤きく異なるため、 性能を出すためにある程度の知識が必要 そもそもGPGPUが向いていないタスクも多い ⼤変なところ GPUを計算に使おう あるある GPUを使ったら10倍になった!!!実⾏時間が… まずはGPUの特性・構造を知ろう!
たくさんのタスクを同時に処理するのに向いている 全タスクを終えるまでの時間が短ければ、 それぞれのタスクにかかる時間はあまり気にしない GPU:並列度⼤・スループット重視 並列度は⼩さめだが⼀つのタスクを⾼速に処理することに向いている CPU:並列度⼩・低レイテンシ重視 GPUとCPUの⽐較
GPUの大まかな構造 GPU CU PE CU CU GPU メモリ (VRAM) ホスト
CPU
実際に計算を⾏うユニット PE(Processing Element, NVIDIA用語: CUDAコア) PEを複数まとめて、演算内容を指⽰したりするCPUのコアに相当 CU(Compute Unit, NVIDIA用語: SM,
Streaming Multiprocessor) CUが複数集まってできている。メモリやホストCPUと接続されている。 GPU GPUの⼤まかな構造
SIMT:SingleInstructionMultipleThreadの略 各スレッドは特定のPEに紐づけられる 複数(8〜64程度)のPEで同⼀の命令を実⾏する 両⽅のパスを実⾏するが、 それぞれのスレッドで関係ない命令の結果を無視 →スレッドごとに全然違うことをしようとすると、効率が落ちる 条件分岐を避けるか、隣接するPEでは同じ⽅向に分岐するようなプログラムを書く 各スレッドで異なるパスを実⾏したいとき SIMTアーキテクチャ if
me.has_money? { go_shopping(); } else { stay_home(); }
CUDA,Vulkan,DirectCompute,OpenCL,SYCL,WebGPU,OpenMPOffload... いっぱいある GPGPUの開発環境
CUDA,Vulkan,DirectCompute,OpenCL,SYCL,WebGPU,OpenMPOffload... いっぱいある GPGPUの開発環境 今⽇ご紹介するのは…
CUDA,Vulkan,DirectCompute,OpenCL,SYCL,WebGPU,OpenMPOffload... いっぱいある GPGPUの開発環境 今⽇ご紹介するのは… VRChat
シェーダーの中で計算することでGPGPUが可能! ⼊⼒としてテクスチャやマテリアルパラメータを取ることができる 出⼒はレンダリング結果 VRChatではカスタムシェーダーが書けます 状態の保持はどうやるの? VRChatでGPGPU CustomRenderTextureを⽤いることで、 前フレームの出⼒をテクスチャとして受け取ることができる (他にもCameraとRenderTextureを使う⽅法もある)
ConwayʼsGameofLifeのシミュレーションを⾏う シミュレーション⽤の CustomRenderTexture・シェーダーと、 描画⽤のシェーダーの2つを使⽤ 実例:ライフゲーム VRChatでGPGPU
おわり