主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

优化工具箱での並列計算の使用

マルチコアプロセッサでの並列計算の使用方法

マルチコアプロセッサを使用している場合は,並列処理を使用すると処理速度が向上することがあります。并行计算工具箱™ライセンスで,いくつかのワーカーの並列プールを設定できます。并行计算工具箱ソフトウェアの詳細は,并行计算工具箱入門(并行计算工具箱)を参照してください。

デュアルコアプロセッサが搭載されており,並列計算を使用するとします。次のコードをコマンドラインで入力します。

parpool

MATLAB®が,マルチコアプロセッサを使用してワーカーのプールを開始します。既定ではないクラスタープロファイルが既に設定されている場合は,次のコードを入力することによって,マルチコア(ローカル)コンピューティングを実行できます。

parpool (“本地”

メモ

基本設定によっては,MATLABは並列プールを自動的に起動できます。この機能を有効にするには,[ホーム]タブの[環境]グループで[並列]、[並列基本設定]を選択してから,[並列プールを自動的に作成する]をオンにします。

並列計算を使用するようにソルバーオプションを設定します。

选择= optimoptions(‘solvername’,‘UseParallel’,真的);

选项を使用して適用可能なソルバーを実行すると,そのソルバーは自動的に並列計算を使用します。

並列での最適化計算を停止するには,UseParallelに設定します。すべての並列計算を停止するには、次のコードを入力します。

删除(gcp)

メモ

ドキュメンテーションでは,金宝app仿真软件®を呼び出す場合はparforまたはparfevalを使用しないように推奨されています。parfor内での関数simの使用(金宝app模型)を参照してください。そのため,ソルバーの組み込み並列機能を使用して仿金宝app真软件シミュレーションを並列で最適化すると問題が発生する可能性があります。

マルチプロセッサネットワークでの並列計算の使用

ネットワーク上に複数のプロセッサがある場合は,并行计算工具箱関数とMATLAB并行服务器™ソフトウェアを使用して並列計算を設定します。

システムが並列計算用に正しく設定されていることを確認します。システム管理者にチェックを依頼するか,并行计算工具箱ドキュメンテーションを参照してください。

  1. 次のコードを入力して,基本チェックを実行します。ここで,教授はクラスタープロファイルです。

    parpool(教授)
  2. ワーカーは目的関数のファイルと,該当する場合は非線形制約関数のファイルにアクセスできなければなりません。確実にアクセスするため,次のステップのいずれかを実行します。

    • parpool(并行计算工具箱)AttachedFiles引数を使用してワーカーにファイルを分散する。この例では,objfun.mが目的関数ファイルで,constrfun.mが非線形制約関数ファイルです。

      parpool (“AttachedFiles”, {“objfun.m”“constrfun.m”});

      ワーカーはファイルの独自のコピーにアクセスします。

    • 目的または制約関数ファイルへのネットワークファイルパスを指定します。

      pctRunOnAll(“目录network_file_path”)

      ワーカーはネットワークを通じて関数ファイルにアクセスします。

  3. ファイルがすべてのワーカーのパス上にあるかどうかをチェックします。

    pctRunOnAll(即文件名)
    ワーカーにファイルへのパスがない場合は,次のように出力されます。
    文件未找到。

並列計算の使用を指定するようにソルバーオプションを設定します。引数“solvername”は,並列評価をサポートする非線形ソルバーを表します。

选择= optimoptions (“solvername”“UseParallel”,真正的);

並列計算環境を設定した後は,適用可能なソルバーは,选项を使用して呼び出したときにはいつでも自動的に並列計算を使用します。

並列での最適化計算を停止するには,UseParallelに設定します。すべての並列計算を停止するには、次のコードを入力します。

删除(gcp)

メモ

ドキュメンテーションでは,金宝app仿真软件を呼び出す場合はparforまたはparfevalを使用しないように推奨されています。parfor内での関数simの使用(金宝app模型)を参照してください。そのため,ソルバーの組み込み並列機能を使用して仿金宝app真软件シミュレーションを並列で最適化すると問題が発生する可能性があります。

並列計算のテスト

次の手順に従って,問題が並列で正しく動作するかどうかをテストします。

  1. 並列計算を使用せずに問題を試し,それが逐次実行されることを確認します。次のテストに進む前に,このテストが成功する(正しい結果が得られる)ことを確認します。

  2. UseParallel真正的に設定し,删除(gcp)を入力して並列プールが存在しないことを確認します。MATLABが並列プールを作成しないことを確認するには、[ホーム]タブの[環境]グループで[並列]、[並列基本設定]を選択してから,[並列プールを自動的に作成する]をオフにします。ループとは逆順のループの反復によりparforで逐次的に問題を実行します。次のテストに進む前に,このテストが成功する(正しい結果が得られる)ことを確認します。

  3. UseParallel真正的に設定し,parpoolを使用して並列プールを作成します。マルチコアプロセッサまたはネットワークを設定していない場合は,このテストの処理速度が向上しません。このテストは計算の正確性を検証するためのものです。

选项引数を使用してソルバーを呼び出し,並列機能をテストまたは使用するようにしてください。

関連するトピック