Skip to content

Commit

Permalink
modify README
Browse files Browse the repository at this point in the history
  • Loading branch information
subarutaro committed Aug 6, 2020
1 parent 50deaa8 commit 5f7b996
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# PIKG (Ver 0.0)
# PIKG
本プロジェクトは,FDPS( https://github.com/FDPS/FDPS )およびその他の粒子系シミュレータの粒子間相互作用カーネル関数の自動ジェネレータである.
粒子間相互作用をDSLで記述し,パラメータを指定すると,任意のアーキテクチャ(Intel CPU, Fujitsu A64FX, NVIDIA GPU, PEZY-SC2, etc.)向けのカーネルを生成する.
開発チームではぱいくじーもしくはぱいくと読んでいます.

# 動作環境
Ruby環境が必要.ruby 2.3.7で動作確認.
Expand Down Expand Up @@ -60,9 +61,16 @@ N体計算カーネルのシングルスレッド性能をアセンブラレベ

| | AVX2 | AVX-512 | ARM SVE |
|----|------|---------|---------|
| Ref| 7.86 |
|----|------|---------|---------|
| PG| 59.4 | 97.0 | N/A |
|PIKG| 66.8 | 108.6 | 34.3 |

性能計測にはFDPSのサンプル「nbody」を利用.
AVX2/AVX-512の計測ではIntel Xeon Gold 6140を,ARM SVEでの計測にはFujitsu A64FXを利用.単位はGflops.n_group_limit(FDPSに渡されるパラメータ.この数までの粒子の相互作用リストを一つにまとめる)は512.
ARM SVEに関しては,A64FX向けに専用の最適化オプションやプラグマを利用(詳しくは仕様書を参照).

# TODO
- GPUカーネル生成機能を追加
- ドキュメントを英語に一本化
- Cインターフェース対応

0 comments on commit 5f7b996

Please sign in to comment.