Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
SPVMでPerlのforループを 100倍速くする 吉祥寺.pm 2020年7月21日 木本裕紀
Slide 2
Slide 2 text
自己紹介 •Perlゼミ •Perlプログラミングちゃんねる – YouTube •プログラミング言語開発
Slide 3
Slide 3 text
Ubuntuサーバー構築入門 – Perlゼミ講座
Slide 4
Slide 4 text
Perlプログラミングちゃんねる - YouTube
Slide 5
Slide 5 text
SPVM - プログラミング言語開発
Slide 6
Slide 6 text
SPVMの目的 • Perlの数値計算と配列演算を高速化する • XSを書かなくてもC/C++/cudaをバインディング
Slide 7
Slide 7 text
SPVMのソースコード これはPerl? いえ、SPVM。 SPVM Language Specificationで検索。
Slide 8
Slide 8 text
Perlからの呼び出し SPVMのサブルーチンは、Perlのメ ソッドとして呼び出せる SPVM Exchange API
Slide 9
Slide 9 text
SPVMの高速化 – プリコンパイル C言語のソースコードに 変換され機械語にコンパ りう
Slide 10
Slide 10 text
C言語バインディング ネイティブ呼び出し
Slide 11
Slide 11 text
C言語ソースコード C言語呼び出し バインディングも可能
Slide 12
Slide 12 text
和を求めるforループのベンチマーク結果 100倍速くなった!
Slide 13
Slide 13 text
バインディングを試したライブラリ • zlib - 圧縮ライブラリ C言語 • GSL – GNU科学技術計算ライブラリ C言語 • Eigen 行列演算ライブラリ C++ • OpenMP - CPU並列計算ライブラリ • cuda – NVIDIA GPGPU並列計算用のコンパイラ
Slide 14
Slide 14 text
SPVM 1.0は、8月末リリース目標
Slide 15
Slide 15 text
ご清聴、ありがとうございました。