Parallel Computing Toolbox では、マルチコアプロセッサ、GPU、およびコンピューター クラスターを使用して計算量の多いデータ集約型の問題を解決できます。並列 for ループ、特殊な配列型、並列数値アルゴリズムなどの高度な機能を使用して、CUDA や MPI のプログラミングを行うことなく、MATLAB アプリケーションを並列化できます。 このツールボックスで MATLAB と他のツールボックスの並列処理対応の関数を使用することが可能です。また、このツールボックスを Simulink と併用すれば、1 つのモデルの複数のシミュレーションを並列して実行できます。プログラムとモデルは対話型とバッチモードの両方で実行可能です。
このツールボックスでは、ローカルで実行されるワーカー (MATLAB 計算エンジン) 上でアプリケーションを実行することにより、マルチコア デスクトップの処理能力をフル活用できます。コードを変更することなく、同一アプリケーションをクラスターまたはクラウドで実行できます (MATLAB Parallel Server を使用)。また、このツールボックスを MATLAB Parallel Server と併用して、過大で単一マシンのメモリでは処理しきれない行列計算を実行することもできます。
マルチコア コンピューターで MATLAB を高速化
パラメータースイープ、最適化、およびモンテカルロ シミュレーションなど問題に対して、並列 for ループ(parfor
) を使用して、マルチコア CPU で並行的に独立した反復処理を実行します。parfor は並列プールの作成とファイル依存の管理を自動化するので、他の作業に集中できます。MATLAB と Simulink 製品のいくつかの主要な関数は 並列処理に対応しています。Parallel Computing Toolbox でこれらの関数を使用することにより、使用可能な並列処理リソース全体に演算を分散できます。並列アプリケーションを対話形式およびバッチジョブとして実行できます。
GPU で MATLAB を高速化
Parallel Computing Toolbox で、gpuArray
により MATLAB から直接 NVIDIA® GPU を使用できます。fft
、要素ごとの操作、lu
やバックスラッシュ演算子 (\) とも呼ばれる mldivide
のような線型代数演算など、500 を超える MATLAB 関数が NVIDIA GPU で自動的に実行されます。Deep Learning Toolbox など、いくつかの MATLAB と Simulink 製品の主要な関数は GPU に対応しています。追加コードを記述することなく GPU リソースを使用できるため、パフォーマンス チューニングよりも自身のアプリケーションに注力できます。上級の開発者は、MATLAB から作成した CUDA コードを直接呼び出すことができます。デスクトップ、コンピューター クラスター、およびクラウド環境で複数の GPU が利用できます。
大規模データの処理
Parallel Computing Toolbox では、MATLAB に組み込まれた tall
配列と mapreduce
の機能が拡張されるので、ローカルワーカーで実行して性能を改善できます。そして、tall
配列と mapreduce
を MATLAB Parallel Server で追加のリソースにスケールアップできます。これは、従来型のクラスターまたは Apache Spark™ と Hadoop® クラスターで可能です。また、分散型配列をデスクトップでプロトタイプ作成して、MATLAB Parallel Server で追加のリソースにスケールアップすることもできます。
複数のシミュレーションを並行して実行
parsim
関数を使用して、シミュレーションを並行して実行します。この関数は複数のシミュレーションをマルチコア CPU に分散し全体のシミュレーション時間を短縮します。また、parsim
は並列プールの作成を自動化して、ファイルの依存関係を特定し、ビルド アーティファクトを管理するので、設計作業に集中することが可能になります。並列シミュレーションを対話形式およびバッチジョブとして実行できます。
シミュレーション マネージャー
シミュレーション マネージャーは parsim
と統合されているので、単一のウィンドウで複数のシミュレーションを監視して可視化するために使用できます。個別のシミュレーションを選択して仕様を参照、またシミュレーション データインスペクターを使用してシミュレーション結果を調べることができます。また、便利な機能として、診断タスクの実行またはシミュレーションの停止もできます。
並列処理に対応した Simulink 機能の利用
parsim
と batchsim
関数を使用した Simulink シミュレーションの実行に加え、Simulink Design Optimization、Reinforcement Learning Toolbox、Simulink Test、および Simulink Coverage など数多くの Simulink 製品で並列化された機能が提供されているので、コードの作成なしでシミュレーションの並列実行が可能です。
MATLAB デスクトップのパブリッククラウドまたはプライベートクラウドでの実行
複数の高性能 CPU および GPU マシンをオンデマンドで活用して分析とシミュレーションを高速化します。MATLAB と Simulink を Amazon Web Services® (AWS) 環境または Microsoft Azure® 上の仮想マシンで直接実行します。
また NVIDIA GPU クラウド または NVIDIA DGX 上の MATLAB Deep Learning Container でニューラル ネットワークの学習をすることで、ディープラーニング アプリケーションを高速化することもできます。
MATLAB Parallel Server のあるクラスターに拡張
デスクトップでプロトタイプを開発すると、そのコードを作成し直すことなくコンピューティング クラスターまたはクラウドに拡張できます。クラスター プロファイルを変更するだけで、デスクトップからさまざまな実行環境にアクセスできます。