Parallel Computing Toolbox

 

Parallel Computing Toolbox

マルチコア コンピューター、GPU、およびクラスターで並列処理を実行

Parallel Computing Toolbox™ では、マルチコアプロセッサ、GPU、およびコンピューター クラスターを使用して計算量の多いデータ集約型の問題を解決できます。並列 for ループ、特殊な配列型、並列数値アルゴリズムなどの高度な機能を使用して、CUDA や MPI のプログラミングを行うことなく、MATLAB® アプリケーションを並列化できます。 このツールボックスで MATLAB と他のツールボックスの並列処理対応の関数を使用することが可能です。また、このツールボックスを Simulink® と併用すれば、1 つのモデルの複数のシミュレーションを並列して実行できます。プログラムとモデルは対話型とバッチモードの両方で実行可能です。

このツールボックスでは、ローカルで実行されるワーカー (MATLAB 計算エンジン) 上でアプリケーションを実行することにより、マルチコア デスクトップの処理能力をフル活用できます。コードを変更することなく、同一アプリケーションをクラスターまたはクラウドで実行できます (MATLAB Parallel Server™ を使用)。また、このツールボックスを MATLAB Parallel Server と併用して、過大で単一マシンのメモリでは処理しきれない行列計算を実行することもできます。

MATLAB アプリケーションのスケールアップ

Parallel Computing Toolbox で、マルチコアプロセッサと GPU を備えたコンピューターを活用してアプリケーションを実行できます。

マルチコア コンピューターで MATLAB を高速化

パラメータースイープ、最適化、およびモンテカルロ シミュレーションなど問題に対して、並列 for ループ(parfor) を使用して、マルチコア CPU で並行的に独立した反復処理を実行します。parfor は並列プールの作成とファイル依存の管理を自動化するので、他の作業に集中できます。MATLAB と Simulink 製品のいくつかの主要な関数は 並列処理に対応しています。Parallel Computing Toolbox でこれらの関数を使用することにより、使用可能な並列処理リソース全体に演算を分散できます。並列アプリケーションを対話形式およびバッチジョブとして実行できます。

Parallel Computing Toolbox を使用して、追加の CPU と GPU リソースにより MATLAB と Simulink を高速化。

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 が利用できます。

GPUArray と GPU 対応の MATLAB 関数を使用することで、低レベルの CUDA プログラミングを行うことなく、MATLAB 演算を高速化。

大規模データの処理

Parallel Computing Toolbox では、MATLAB に組み込まれた tall 配列と mapreduce の機能が拡張されるので、ローカルワーカーで実行して性能を改善できます。そして、tall 配列と mapreduce を MATLAB Parallel Server で追加のリソースにスケールアップできます。これは、従来型のクラスターまたは Apache Spark™ と Hadoop® クラスターで可能です。また、分散型配列をデスクトップでプロトタイプ作成して、MATLAB Parallel Server で追加のリソースにスケールアップすることもできます。

MATLAB tall 配列を使用した大規模データの並列解析。 

Simulink シミュレーションを高速化

Parallel Computing Toolbox を使用すれば、同時に複数の CPU コアで、多数の Simulink シミュレーションを簡単に実行できます。 モンテカルロ解析、パラメータースイープ、モデルのテスト、実験計画、およびモデルの最適化では、異なった入力またはパラメーター設定で同じモデルを簡単に実行します。

複数のシミュレーションを並行して実行

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

parsim 関数を使用して、複数のシミュレーションを並行して実行。

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

シミュレーション マネージャーは parsim と統合されているので、単一のウィンドウで複数のシミュレーションを監視して可視化するために使用できます。個別のシミュレーションを選択して仕様を参照、またシミュレーション データインスペクターを使用してシミュレーション結果を調べることができます。また、便利な機能として、診断タスクの実行またはシミュレーションの停止もできます。

シミュレーション マネージャーの単一のウィンドウで、複数のシミュレーションを監視。

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

parsimbatchsim 関数を使用した Simulink シミュレーションの実行に加え、Simulink Design Optimization™、Reinforcement Learning Toolbox™、Simulink Test™、および  Simulink Coverage™ など数多くの Simulink 製品で並列化された機能が提供されているので、コードの作成なしでシミュレーションの並列実行が可能です。

フラグまたは環境設定により Simulink アプリを並列処理化。

クラスターとクラウドでの並列処理

デスクトップまたはバーチャル デスクトップでアプリケーションのプロトタイプ作成およびデバッグを行い、コードを作成し直すことなくクラスターやクラウドに拡張できます。また、インタラクティブに開発を行い、バッチ ワークフローで実運用に移行できます。

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

複数の高性能 CPU および GPU マシンをオンデマンドで活用して分析とシミュレーションを高速化します。MATLAB と Simulink を Amazon Web Services® (AWS) 環境または Microsoft Azure® 上の仮想マシンで直接実行します。

また NVIDIA GPU クラウド または NVIDIA DGX 上の MATLAB Deep Learning Container でニューラル ネットワークの学習をすることで、ディープラーニング アプリケーションを高速化することもできます。

Amazon Web Services (AWS) 環境の EC2 インスタンスで直接 MATLAB と Simulink を実行。

MATLAB Parallel Server のあるクラスターに拡張

デスクトップでプロトタイプを開発すると、そのコードを作成し直すことなくコンピューティング クラスターまたはクラウドに拡張できます。クラスター プロファイルを変更するだけで、デスクトップからさまざまな実行環境にアクセスできます。 

コード変更なしに追加のクラスターとクラウドリソースを使用して簡単にアプリケーションをスケールアップ。

Parallel Computing Toolbox の実行例

Latest Features

Enhanced GPU Functionality for Sparse

Use new and enhanced gpuArray functions, such as sparse diag, sparse trace, and others

NVIDIA CUDA Toolkit 10.1 Support

Update to NVIDIA CUDA Toolkit 10.1

gpuArray Data Loading on CPU

Load gpuArray data on CPU, when no GPU is present

Distributed Array Functionality

Use new and enhanced distributed array functionality, such as decomposition, mink, maxk, topkrows, and more

Batch Jobs Documentation

Explore batch workflows with new examples such as Run Batch Job and Access Files from Workers

Common Job Schedulers Performance

Improved performance of vectorized task creation for local and third-party schedulers

Mexcuda Enhancement

Compile mexcuda functions without installing the CUDA toolkit

See the release notes for details on any of these features and corresponding functions.

無料評価版を入手する

30 日間の無料評価版はこちら

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink 学生向けソフトウェアの入手

詳細を見る