SPVMでPerlのforループを100倍高速化する

 SPVMでPerlのforループを100倍高速化する

SPVMという静的型プログラムミング言語を使ってPerlのforループを100倍高速化する方法を解説。

6e85e396c2fca10e469e67cbede8104e?s=128

Yuki Kimoto

July 21, 2020
Tweet

Transcript

  1. SPVMでPerlのforループを 100倍速くする 吉祥寺.pm 2020年7月21日 木本裕紀

  2. 自己紹介 •Perlゼミ •Perlプログラミングちゃんねる – YouTube •プログラミング言語開発

  3. Ubuntuサーバー構築入門 – Perlゼミ講座

  4. Perlプログラミングちゃんねる - YouTube

  5. SPVM - プログラミング言語開発

  6. SPVMの目的 • Perlの数値計算と配列演算を高速化する • XSを書かなくてもC/C++/cudaをバインディング

  7. SPVMのソースコード これはPerl? いえ、SPVM。 SPVM Language Specificationで検索。

  8. Perlからの呼び出し SPVMのサブルーチンは、Perlのメ ソッドとして呼び出せる SPVM Exchange API

  9. SPVMの高速化 – プリコンパイル C言語のソースコードに 変換され機械語にコンパ りう

  10. C言語バインディング ネイティブ呼び出し

  11. C言語ソースコード C言語呼び出し バインディングも可能

  12. 和を求めるforループのベンチマーク結果 100倍速くなった!

  13. バインディングを試したライブラリ • zlib - 圧縮ライブラリ C言語 • GSL – GNU科学技術計算ライブラリ

    C言語 • Eigen 行列演算ライブラリ C++ • OpenMP - CPU並列計算ライブラリ • cuda – NVIDIA GPGPU並列計算用のコンパイラ
  14. SPVM 1.0は、8月末リリース目標

  15. ご清聴、ありがとうございました。