並列計算

Julia がサポートする並列かつ並行な計算のための機能は大きく三つのカテゴリに分けられます:

  1. 非同期なタスク (コルーチン)
  2. マルチスレッディング
  3. 分散計算

タスクを使うと計算の停止と再開が行えます。例えば IO・イベント処理・生産者-消費者プロセスといったパターンでタスクは利用できます。タスクの同期は waitfetch で行い、タスク同士の通信は Channel で行います。

マルチスレッディングはタスクを使って実装される機能であり、複数のタスクを複数のスレッドあるいは CPU コアでメモリを共有しながら同時に実行します。

最後の分散計算は分離されたメモリ空間を持つ複数のプロセスを実行します。プロセスが異なるマシンで実行される場合もあります。この機能は標準ライブラリの Distributed パッケージや外部パッケージの MPI.jlDistributedArrays.jl で提供されます。


日本語 Julia 書籍 (Amazon アソシエイト)
1 から始める Julia プログラミング
Julia プログラミングクックブック―言語仕様からデータ分析、機械学習、数値計算まで
スタンフォード ベクトル・行列からはじめる最適化数学