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
550
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
220
プログラムを高速化する話Ⅱ ~GPGPU編~
primenumber
1
1.1k
プログラムを高速化する話
primenumber
0
790
オセロを速く解く話/solveothello
primenumber
2
2.8k
コンピュータで問題をサッと解きたい!
primenumber
0
370
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
580
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
110
RTSPクライアントを自作してみた話
simotin13
0
600
OSもどきOS
arkw
0
560
A2UI という光を覗いてみる
satohjohn
1
130
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
130
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
490
Oxlintのカスタムルールの現況
syumai
6
1.1k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
320
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Building the Perfect Custom Keyboard
takai
2
790
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Docker and Python
trallard
47
3.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
HDC tutorial
michielstock
2
710
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
We Have a Design System, Now What?
morganepeng
55
8.2k
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
おわり