Stata/MPパフォーマンステスト

Stata/MPはお使いのコンピュータのマルチコアプロセッサ機能を活用することにより、計算を並列に行います。それによりコマンドによっては実行速度がかなり向上します。比較的低価格なデュアルコアのデスクトップやラップトップの場合には1/2の時間で、クアッドコアのデスクトップの場合には1/4の時間で、それ以上のワークステーションやサーバ(最大64コアまで)においてはさらにそれより短い時間で、データが分析できる可能性が出ます。

Stata 社が公開しているStata/MP についてのレポートには、Stata に実装されている各コマンドの処理速度の向上度合いが掲載されています。

Stata/MPのコア数による速度の比較

Stata/MPのコア数による速度の比較
コア数 全てのコマンド 推定コマンド ロジスティック回帰
2 1.7倍 1.8倍 2.0倍
4 2.4倍 2.9倍 3.8倍
8 3.1倍 4.1倍 6.9倍
※上記の数字はスピードアップした要素の中央値です。実際にはコマンドによって上記の数字よりも早く、または遅くなります。

変数と観測数

Stata/SEでは最大20憶の観測数を扱うことができますが、Stata/MPは100-200億の観測数を持つ、大規模なデータセットで解析を行うことが可能です。さらに、扱える変数の数では、Stata/SEが32,767であるところを、Stata/MPでは12万もの変数を扱うことができます。

変数の上限数(列数) 右辺の変数の上限数 観測データの上限数(行数)
Stata/MP 120,000 65,532 200億
Stata/SE 32,767 10,998 21.4億
Stata/BE 2,048 798 21.4億

(参考)ハイパースレッディング(hyper-threading)について

Intel社製CPUにはハイパー・スレッディング・テクノロジー(Hyper-Threading Technology)という仮想的にコア数を倍にする技術が実装されている場合があります。ハイパースレッディングが実装されているCPUは見かけ上はコア数が倍になりますが、この仮想のコアには様々な制約があるため、一般的に実コア数が倍になった場合と同様の性能向上は見込めません。

Stata においては多くのコマンドで浮動小数点演算を行う際にFPU(浮動小数点演算処理装置)を使用しますが、このFPUが物理1コアにつき1つしかないため、ハイパースレッディングでコアが仮想的に倍になっても仮想2コアで1つのFPUを利用しなければならず、物理2コアより速度が低下します。浮動小数点演算が必要ないコマンド(例:predict)ではハイパースレッディングが有用ですが、こういったコマンドは少数ですのでStataでは物理コア数が重要となっています。

(参考)どのStataが良いのか? PCの目安は?

どのStataが良いのかPCの目安は

 

 

Stata is a registered trademark of StataCorp LLC, College Station, TX, USA, and the Stata logo is used with the permission of StataCorp.

page_top_icon