Parallel Computing Toolbox

独立したタスクに並列計算を使用して高速化した MATLAB 計算のプロット。

マルチコア コンピューターを使用した MATLAB の高速化

パラメータースイープ、最適化、モンテ カルロ シミュレーションなどのタスクに parfor やその他の関数を使用して、MATLAB のスレッドやプロセスを並列実行します。MATLAB 言語の機能 (Parallel Computing Toolbox を使用) によりリソース、ファイル依存関係、その他の詳細を処理することで、本来の作業に集中できるようになります。

GPU の図。

GPU を使用した MATLAB の高速化

コードを追加することなく NVIDIA® GPU を使用できるため、パフォーマンス チューニングではなくアプリケーションに集中できます。MATLAB、Simulink、Deep Learning Toolbox などのアドオン製品の主要な関数には、GPU 対応関数があります。上級開発者は、CUDA コードを含む MEX 関数を作成することもできます。デスクトップ、計算クラスター、クラウド環境で複数の GPU を使用します。

分類学習器アプリの並列処理を有効にするボタン。

MATLAB の追加の並列処理機能

MATLAB やアドオン製品の多くの機能で自動並列処理がサポートされており、多くのアプリケーションが並列処理機能に対応しています。Parallel Computing Toolbox には、アルゴリズムの再コーディングが不要な、関数の並列実行からデータの並列処理までの実行モデルをカバーする広範な並列処理言語が含まれています。

シミュレーションを並列実行する関数 parsim。

複数の Simulink シミュレーションの並列実行

関数 parsim を使用して、シミュレーションを並列実行します。この関数は、複数のシミュレーションをマルチコア CPU に分散し、全体的なシミュレーション時間を短縮します。parsim を使用すると、並列プールの自動作成、ファイル依存関係の特定、ビルド アーティファクトの管理も実行できるため、設計作業に集中できます。並列シミュレーションは、対話的に実行することも、バッチで実行することもできます。

シミュレーション マネージャーを使用して、複数のシミュレーションを 1 つのウィンドウで監視。

シミュレーション マネージャー

parsim と統合されているシミュレーション マネージャーを使用して、複数のシミュレーションを 1 つのウィンドウで監視および可視化できます。個々のシミュレーションを選択してその仕様を表示したり、シミュレーション データ インスペクターを使用してシミュレーション結果を調べたりすることもできます。また、診断タスクの実行やシミュレーションの中止も簡単にできます。

[並列オプション] タブの環境設定またはフラグ設定で有効にされた並列シミュレーション。

並列処理に対応した Simulink 機能の使用

関数 parsimbatchsim を使用して Simulink シミュレーションを実行するほか、Simulink には、Simulink Design Optimization、Reinforcement Learning Toolbox、Simulink Test、Simulink Coverage など、コードを記述せずにシミュレーションを並列実行するための並列処理機能を提供する多くのアドオン製品があります。

クラウドリソース上で直接実行する MATLAB と Simulink の図。

パブリッククラウドとプライベートクラウドでの MATLAB デスクトップの実行

クラウドで利用可能なオンデマンドの高性能 CPU や GPU マシンを活用することで、解析やシミュレーションを高速化します。Amazon Web Services® (AWS) または Microsoft Azure® のバーチャルマシン上で MATLAB と Simulink を直接実行できます。

コードを変更しなくても、クラスターやクラウドリソースを追加してアプリケーションの処理能力を向上できることを示す 2 つのプロット。

MATLAB Parallel Server を使用したクラスターへの拡張

デスクトップでプロトタイプを開発し、再コーディングを行わずに計算クラスターやクラウドに拡張できます。クラスター プロファイルを変更するだけで、デスクトップから別の実行環境にアクセスできます。

分散配列を使用し、再コーディングを行わない、クラスター内の複数のマシンのメモリの概念を示す図。

MATLAB Parallel Server での分散配列の使用

アルゴリズムを再コーディングすることなく、1 台のマシンのメモリに収まり切らない計算を実行できます。分散配列の入力で呼び出されると分散計算として自動的に実行される、多くの関数を使用します。デスクトップでプロトタイプを作成し、MATLAB Parallel Server を使用して追加のリソースにスケールアップすることで、フルスケールでの実行が可能です。

「Parallel Computing Toolbox と MATLAB Parallel Server を使用して、56 プロセッサのクラスターに作業を分散しました。これにより、MATLAB と Deep Learning Toolbox を使用して最適なニューラル ネットワーク構成をすばやく特定し、移植データベースのデータを使用してネットワークを学習させ、シミュレーションを実行してリスク要因と生存率を分析できました。」