高速に実行するための推奨マシンはありますか?
60 views (last 30 days)
Show older comments
MathWorks Support Team
on 9 May 2013
Edited: MathWorks Support Team
on 11 Nov 2020
MATLAB を高速に実行するために、コンピュータの購入を考えていますが。推奨の構成(メモリ、プロセッサ、コア数等)を教えてください。
Accepted Answer
MathWorks Support Team
on 11 Nov 2020
Edited: MathWorks Support Team
on 11 Nov 2020
まず、最小限の時間で計算タスクを完了するために、MATLAB パフォーマンスを最適化する必要がありますが、アプリケーションのパフォーマンスは、システムリソースが十分にあるかどうかに依存します。他の多くのプロセスとともに MATLAB を実行すると、パフォーマンスは低下します。
MathWorks では、特定のメーカーを推奨することはしていませんが、MATLAB を実行させるのに必要なシステム要求のページが、下記URLにあります(2番目のドキュメントは、メモリやプロセッサ等について MATLAB への影響が記載されています)。
・System Requirements for MATLAB
・Choosing a Computer to Run MATLAB and Simulink Products:
以下に記載されている回答は、パフォーマンス向上に対する絶対的なソリューションではなく、影響を与えるものについてのみ記載しています。特定の構成で MATLAB の BENCH コマンドを実行しない限り、事前に MATLAB のパフォーマンス指標を予測することはできません。
BENCH コマンドを使用することで、万全な評価ができる、ということではありませんが、このコマンドを使用すると、いくつかのマシンとのパフォーマンス比較を行うことができます。BENCH コマンドにリストされているシステムは、MathWorks にて評価を実施したものの例です。
MATLAB ご購入前に、評価を行いたい場合には、MATLAB の評価版をダウンロードし、その構成で BENCH コマンドを実行することをお勧めします。
評価版のご利用については、下記をご覧ください。
・評価版の MathWorks 製品は利用できますか?
https://jp.mathworks.com/matlabcentral/answers/154451-mathworks
また、MATLAB7.4(R2007a) 以降のバージョンでは、MATLAB の一部の機能・関数がプロセッサのマルチスレッド機能に対応しており、パフォーマンスが向上する可能性があります。
詳細は、下記をご覧ください。
・マルチスレッド計算に対応している関数はどれですか?
https://jp.mathworks.com/matlabcentral/answers/95893-?s_tid=answers_rcts
以下に、MATLAB のパフォーマンスに強く相関のある事象と、さほど大きく影響しない事象をリストします。
1. 強い相関がある事象
1-1. CPUのクロックスピード / CPUファミリー
パフォーマンスは以下のように計算されます。\n分母の値は、プロセッサの命令セット・アドレス指定方式・ハードウェア実装の機能です。
Performance = Clock Rate / (# of CPU instructions * cycles per CPU instruction)
プロセッサファミリのクロックレートが早ければ、パフォーマンスは向上します。ただし、おそらくクロックレートの変更によるパフォーマンスの増加率は、メインメモリやバス速度など、重要な役割を担う箇所の変更に比べれば、少なくなります。このため、例えば、600MHz の Pentium プロセッサから、1.1GHz の Pentium プロセッサへ変更した場合、そのレートの比に相当するまでのパフォーマンスの向上を示すことにはならないでしょう。一般的に、別のプロセッサファミリとのクロック数を比較することはできません。たとえば、多くの RISC プロセッサは1つのクロックサイクル中に多くの命令を実行することができます。これは、クロックレートが小さくても1クロックの間にいくつかの命令を処理できることを意味しますので、これらのプロセッサは潜在的に多くの処理を行います。
1-2. MATLAB 以外の必要なハードウェア
MATLAB は、リアルタイムシミュレーション内でのデータ収集カードからのデータ読み込みや、グラフィックカードによるデータの即時表示のような、最も遅いハードウェアの処理よりも早く処理することができます。その場合、MATLAB グラフィックスから最大の性能を得るには出来るだけ速いグラフィックカードと、出来るだけ多くの OpenGL 処理が可能なハードウェアを検討してください。
1-3. 十分なメインメモリ( RAM )
メモリは、アプリケーションによって大きく変わる要素ですが、必要な量を超えてメモリを大幅に増やしたとしてもパフォーマンスはさほど変わりません。同じシステムにて MATLAB とは別のアプリケーションが動作している場合は、より多くのメモリが必要になります。上記 URL で紹介した動作環境ページには、推奨する最小メモリサイズが記述されています。また、RAM にアクセスできる速度も、MATLAB のパフォーマンスを決定する重要な要素です。
以下の URL には、MATLABがどのようにメモリを利用するかについての記載があります。
・ MATLAB ドキュメンテーション:パフォーマンスとメモリ
2-1. プロセッサ数
Parallel Computing Toolbox の利用や、BLAS 演算の一部はマルチスレッド対応しておりますが、それ以外のマルチスレッド化されていない演算についてのパフォーマンスの向上は期待できません。しかし、同じマシンで多くのアプリケーションを動作させている場合は、システムのスループットが向上します。
2-2. システムバスの帯域幅
ここは評価が難しいですが、ページングにメインメモリの大規模なデータ入出力、またはデータベース操作によるファイル入出力操作が発生する場合は重要になります。
2-3. キャッシュメモリの量
キャッシュメモリは早いですが高価なため、通常は限度があります。それよりも遅い RAM は、キャッシュが全て利用されたときにアクティブになります。これは、ベンチマークされた結果もなく、評価することも困難です。特別な事情がない限り、システムは多くの一般的なアプリケーションを実行するのに十分なキャッシュメモリを持っています。
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!