Wolfram製品を実行するコンピュータの選び方
利用可能なさまざまなオプションを組み合せることができる中,どのようなマシンを購入,または構築するかを決定するのは容易ではありません.ここではコンピュータの主なコンポーネントがどのようにWolfram製品の性能に通常影響を及ぼすかを説明します.
ここでの説明は一般的に当てはまりますが,Wolfram言語コードがある特定のマシン上でどのように実行されるかを予測するのは困難です.特定のマシン上でコードがどのように動作するかをテストする最善の方法は,実際に実行してみることです.
オペレーティングシステム
Wolfram言語は,最新のWindows,macOS,特定のLinuxディストリビューションのリリースでサポートされています.ユーザインターフェースは,オペレーティングシステムの設計によって生じる違いを除いて,ほぼ同じです.Wolframのデスクトップ製品はサポートされるオペレーティングシステムに最適化されており,それぞれにおける性能も同様です.
中央処理装置(CPU)
一般的な計算
一般にパワフルなCPUほどシステムのあらゆる部分における性能が向上します.これはWolfram製品,他のアプリケーション,オペレーティングシステム自体についても言えることです.
よりパワフルなCPUを使うことによって性能が実際どのくらい向上するのかは,ワークロードにもよります.Wolfram言語において最も向上が見られるのは,マルチスレッドを利用する機能,つまりさまざまな数値計算関数,画像処理関数,並列化コンパイル関数等です.
カーネルは,Intel MKL,IPP等の高度に最適化されたマルチスレッドライブラリを使います.これらは最高性能のために調整され,利用できる場合は高度なCPU機能を利用します.これは,多くの計算タスクの基本的な構成要素である,ベクトル化された機械計算および数値線形代数(BLAS, …)のルーチンにとって重要です.
並列計算
Wolfram言語にはマルチコアプロセッサを利用する並列計算ツール一式が備わっています.お使いのマシンで利用できるプロセッサコアの数は,$ProcessorCount
を評価すると分かります.
ハイパースレッディングによってスピードアップする場合はそれを利用するカーネル機能もありますが,Wolfram言語の並列計算ツールは必ずしもハイパースレッディングの恩恵を受けるわけではありません.
グラフィックス処理ユニット(GPU)
Wolfram製品には専用のGPUは必要ありませんが,専用のGPUがあると多くの領域において性能が向上します.CUDALinkやGPUベースのニューラルネットワーク訓練等の特定の分野では,必要最低限の計算機能を持つCUDA対応のNVIDIA GPUが必要です.
よりパワフルなGPUを使うことで,ほとんどすべての3Dグラフィックスの描画およびそれらとのインタラクトや,画像機能が大きく向上することが期待できます.パン,ズーム,回転,リサイズ等のインタラクトがより迅速かつスムーズにできるようになるのです.3Dコンテンツが複雑になればなるほど,パワフルなGPUの差が顕著になります.パワーのないGPUを使うと,負荷が増えるにつれてシステムのラグが大きくなります.
AppleがmacOS 10.14 MojaveからCUDAのサポートを中止したため,Wolfram言語12.2では,CUDALinkの評価およびGPUベースのニューラルネットワーク訓練がmacOSでサポートされなくなりました.
システムメモリ(RAM)
必要なシステムメモリ(RAM)の量は使い方によって異なります.一般に,大きいデータ集合を操作したり,より複雑な可視化を作成したりする場合はRAMが大きい方が便利です.
Wolfram製品の動作環境ページにはさまざまなバージョンの必要最小限のRAMが記載されていますが,ほとんどの用途ではそれ以上のRAMが推奨されます.
ハードドライブ
最新のハードドライブは通常,Wolfram言語のインストールがサポートできる十分な大きさがあります.動作環境ページにはさまざまなバージョンの必要最小限の空きディスク容量が記載されています.
Wolframシステムに影響を与えるハードドライブの一番の仕様は,ドライブの読み書き速度です.速度が速いほどスタートアップ時のロードが速い上,Wolframシステムがファイルをロードしたり保存したりすることが速くできます.
ディスクに負荷がかかる操作の性能およびWolframシステムのスタートアップ時間を向上させるためには,ソリッドステートドライブ(SSD)の使用が推奨されます.HDDとSSDの信頼できる比較はオンラインで見ることができ,それぞれの長所・短所はドライブとWolframシステムのインタラクションについても当てはまります.
ベンチマーク
Wolfram言語には,お使いのコンピュータにおけるベンチマーク測定のためのWolframMarkパッケージが装備されています.これは数値・記号計算一式を含んでおり,比較レポートを生成します.
Needs["Benchmarking`"]
BenchmarkReport[]
また,Wolfram言語にはマシン間でコードの実行時間を比較するのに便利なタイミング関数も含まれています.
[English]