-
3D FFTライブラリ
-
PFFTなどの2D FFTライブラリは(Nx,Ny,Nz)プロセスの計算で自分でうまくデータ分散させないと(Nx,Ny)プロセスのペンシル形状しか使えない
-
3D FFTライブラリはライブラリ側で
$Nx\timesNy\timesNz$ の全部のプロセスを使って2D FFTを効率的に行うデータ領域の設定、転置などを行ってくれる -
自身で2D FFTライブラリでフルにプロセスを使い切るような面倒な事前、事後の設定をうまいことやってくれる
- 実験計画(experimental design)は、シミュレーションや機械学習での効率的なパラメータ探索において重要な役割を果たす
- どのデザインがいいかはケースバイケース
- 代表的なデザイン
- グリッドサンプリング(ここでは触れない)
- モンテカルロサンプリング(Monte Carlo Sampling, MCS)
- ラテン超方格サンプリング(Latin Hypercube Sampling, LHS)
- 準モンテカルロサンプリング(Quasi-Monte Carlo Sampling, QMC)
- サンプリング手法の性質(均一性、均等性、ランダム性)や収束保証の観点から比較・整理する
- https://docs.jax.dev/en/latest/
- https://github.com/jax-ml/jax
- JAXは、式を自動微分に対応させたうえでJIT(Just-in-time)コンパイルによりGPUやTPUへの最適化を簡便に行えるようにしたライブラリ
- 基本は関数型プログラミング志向で、状態を持たない
- JAX本体には高レベルAPIはあまり含まれず、必要な分野のモジュールと組み合わせて使う
- Flax : JAX公式MLモジュール
- Node.jsをインストール https://nodejs.org/
npm
コマンドが使えるようになったら以下を実行。ユーザー権限でいい。
npm install -g prettier
NewerOlder