Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
thread_parallel_with_free-threaded_Python_and_N...
Search
Riku Sakamoto
September 10, 2026
Programming
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
Riku Sakamoto
September 10, 2026
More Decks by Riku Sakamoto
See All by Riku Sakamoto
物理量次元を持つテンソルをサポートした 深層学習ライブラリ Phlower の紹介
riku_sakamoto
0
130
論文紹介 “CKGConv: General Graph Convolution with Continuous Kernels"
riku_sakamoto
0
420
dagstreamでデータ前処理の順序関係を解決する #stapy105
riku_sakamoto
0
210
論文紹介“Infinite-Fidelity Coregionalization for Physical Simulation ”, Shibo. L. et, al
riku_sakamoto
0
500
Other Decks in Programming
See All in Programming
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
Performance Optimization With LLMs
xleitix
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
300
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Seven New Principles of Software Engineering
yegor256
0
120
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Domain-Driven Transformation
hschwentner
2
2.3k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.7k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
890
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
3
600
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
880
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
The SEO identity crisis: Don't let AI make you average
varn
0
590
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
For a Future-Friendly Web
brad_frost
184
10k
A Modern Web Designer's Workflow
chriscoyier
699
190k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
A Tale of Four Properties
chriscoyier
163
24k
WENDY [Excerpt]
tessaabrams
14
40k
The Limits of Empathy - UXLibs8
cassininazir
2
730
Transcript
Free-Threaded Python とNumPyによる スレッド並列処理の紹介 みんなのPython勉強会#122 坂本 陸 2026-09-10
自己紹介 坂本 陸(Sakamoto Riku) • Tech Lead(所属:株式会社 RICOS) ◦ ◦
• 数値シミュレーション結果を予測する機械学習モデルの 研究開発 機械学習ツールの開発、管理 OSS活動: ◦ ◦ (Maintainer) Phlower, dagstream (Contributor) NumPy, PyVista GitHub: @riku-sakamoto 2
プロセス並列とスレッド並列 プロセス並列 スレッド並列 プロセス プロセス1 プロセス2 メモリ メモリ メモリ スレッド
スレッド スレッド 処理A 処理B スレッド 処理A 処理B スレッド並列を使うことで、同じメモリ空間を参照する処理を 同時に実行することができる 3
Free-Threaded Python • • Global Interpreter Lock (GIL)により、1つのPython Interpreter内では、 同時にPython
bytecodeを実行できるスレッドが1つに制限される GIL を外したFree-Threaded Python を利用することで、マルチコアを利用 したスレッド並列な処理を実現できる プロセス uv でinstall した例 メモリ スレッド 処理A スレッド 処理B 4
NumPy におけるマルチスレッド対応 • • NumPy では早くからFree-threaded Python への対応が行われていた 同一プロセス内のスレッド間では、NumPy配列をコピーせず共有できる 5
スレッド並列の注意点 • Race Conditions (データの競合) ◦ ◦ • 配列を Readonly
にして共有する スレッドが同時に書き込むデータを減らす CPU Oversubscription ◦ ◦ 各Pythonスレッドから呼び出したBLAS等が、内部でさらに複数のスレッドを生成する場合 に並列化効率が悪化する threadpoolctl を使うことでBLAS などが使用するスレッド数を制限できる 6
まとめ Free-Threaded Python と NumPy を用いることで、Pythonコードから スレッド並列な処理を広く活用できるようになる • Writing Performant
NumPy Code with Multi-Core CPUs ◦ ◦ • Scaling NumPy on Free-Threaded Python ◦ • NumPy の 公式ドキュメント PR-30820 (私が書きました) NumPy、CPython のコア開発者による実装の解説記事 Python Free-Threading Guide ◦ ◦ Free-Threaded Python 全般に関するドキュメント Quansight社(NumPy や SciPy のコアDeveloper やMaintainer が所属する会社)が管理す る記事 7
8