Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
SPVMでPerlのforループを100倍高速化する
Yuki Kimoto
July 21, 2020
Programming
1
300
SPVMでPerlのforループを100倍高速化する
SPVMという静的型プログラムミング言語を使ってPerlのforループを100倍高速化する方法を解説。
Yuki Kimoto
July 21, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
manfredsteyer
PRO
1
140
kodetr
0
160
progate
3
1.2k
dnskimo
8
1.5k
hamakou108
4
540
timeseriesfr
1
150
etagwerker
1
140
techharmony
0
210
shinnoki
0
1.1k
kulkarniankita09
0
280
pco2699
0
100
deepu105
0
240
Featured
See All Featured
tenderlove
55
3.5k
brettharned
93
3.1k
qrush
285
19k
orderedlist
PRO
330
36k
rmw
12
870
hursman
108
9.3k
addyosmani
1346
200k
ammeep
657
54k
sstephenson
146
12k
brad_frost
157
6.5k
paulrobertlloyd
71
3.7k
yeseniaperezcruz
302
31k
Transcript
SPVMでPerlのforループを 100倍速くする 吉祥寺.pm 2020年7月21日 木本裕紀
自己紹介 •Perlゼミ •Perlプログラミングちゃんねる – YouTube •プログラミング言語開発
Ubuntuサーバー構築入門 – Perlゼミ講座
Perlプログラミングちゃんねる - YouTube
SPVM - プログラミング言語開発
SPVMの目的 • Perlの数値計算と配列演算を高速化する • XSを書かなくてもC/C++/cudaをバインディング
SPVMのソースコード これはPerl? いえ、SPVM。 SPVM Language Specificationで検索。
Perlからの呼び出し SPVMのサブルーチンは、Perlのメ ソッドとして呼び出せる SPVM Exchange API
SPVMの高速化 – プリコンパイル C言語のソースコードに 変換され機械語にコンパ りう
C言語バインディング ネイティブ呼び出し
C言語ソースコード C言語呼び出し バインディングも可能
和を求めるforループのベンチマーク結果 100倍速くなった!
バインディングを試したライブラリ • zlib - 圧縮ライブラリ C言語 • GSL – GNU科学技術計算ライブラリ
C言語 • Eigen 行列演算ライブラリ C++ • OpenMP - CPU並列計算ライブラリ • cuda – NVIDIA GPGPU並列計算用のコンパイラ
SPVM 1.0は、8月末リリース目標
ご清聴、ありがとうございました。