causal-learnによる因果探索

2024/4/25

 【マネーサプライと物価上昇の因果推論】で、二つの時系列データ間のGranger因果性を調べました。ベクター自己回帰モデル(Vector Auto-Regression:VAR)を適用したものです。他にも、近年、新しい因果推論、因果探索アルゴリズムが提案されています。PythonやR上に実装された因果推論パッケージがAI関連技術に投資している企業や機関からリリースされています。  causalQueries, causalml, causal-learn等、【為替レートと地政学的リスク-割り込まれた時系列 ...

ReadMore

書評:Statistical Consequences of Fat Tails

2024/3/27

Statistical Consequences of Fat Tails Real World Preasymptotics, Epistemology, and Applications Nassim Nicholas Taleb Statistical Consequences of Fat Tails  タレブ氏の著書は、ビジネス書と一般向けの啓蒙書の印象がありますが、本書は統計の専門書になっています。  この著書は、不確実で複雑な現実社会をどのように生きるかという、著者のIncertoプロジェク ...

ReadMore

書評:BATTLEGROUND

2024/3/21

BATTLEGROUND Ten conflicts that explain the new Middle East. Christopher Phillips BATTLEGROUND - Ten conflicts that explain the new middle east  本書で示す中東は、14の異なる独立した国と地域からなります。著者は北アフリカのリビア、トルコも中東に拡張(モロッコ、アルジェリア、チェニジア)して論じています。イラン、イスラエル、トルコ、クルド等を除いて、多くの地域はア ...

ReadMore

為替レートと地政学的リスク- 割り込まれた時系列データのCausalPyによる分析

2024/2/19

 R版の因果推論パッケージCausalImpactの評価のために、軍事侵攻が外国為替レートに与えた影響を、counterfactual推論(注1)の例として紹介しました。このCausalImpactのPython実装版がgoogleから提供されました。これはTensorFlow Probabilityの上に実装されています。その他、Python用の因果推論パッケージが多くリリースされています。その中でPyMCの因果推論ライブラリCausalPyを取り上げ、前述のR版CausalImpactで用いたデータセ ...

ReadMore

金融政策によるドル円為替レート推移への影響

2024/2/9

 "マネーサプライと物価上昇の因果推論" で、CPIが為替レートに依存したモデルを示しました。このCPIモデルとは別に、ドル円為替レートが日米金利差に依存するモデルを階層モデルとして、CPIモデルと同様の手法でモデル化することができます。ここで上記ブログポストへの追加資料として、ドル円為替レートと日米金利差の関係をモデル化した結果を示します。 構造グラフモデル 図1 ドル円為替レートを経由したグラフ  金融政策が、CPIに影響する経路を有効グラフで表示します。 X:金融政策 M:ドル円為替レート Y: C ...

ReadMore

マネーサプライと物価上昇の因果推論

2024/1/31

「流動性の罠 再考」で示したようにマネタリーベースの増加が期待物価上昇率に影響する経路はあるのでしょうか。消費者物価(CPI)の過去20年間のデータに注目すると、ドル円為替レートと連動して推移しているのがわかります。金融緩和が日米の金利差の変動をドル円為替レートに反映して、間接的にCPIに影響にする経路はあります。CPIとドル円為替レートの関係を分析してモデルを構築してみます。 CPI - USDJPY為替レートの因果関係  日本の食料自給率はおよそ4割です。主食の米以外の多くの食品が輸入されています。国 ...

ReadMore

流動性の罠 再考

2024/1/29

金利と金融緩和 デフレーションに起因する流動性の罠 日本国債 10年債 日本国債 1年債 コールレート  図1 マネタリーベース、金利、GDP (1994年ー2014年)  図1は1994年から2014年の4半期ごとの金利、マネタリーベース、実質GDPの関係を示しています。金利は国債の流通利回りの四半期毎の値です。金利は1.0以下でGDP成長率にほぼ寄与していません。GDPは財政支出による景気対策に依存しています。例えば、2013年に政府は景気対策に20兆円の予算を支出していますが、これは4半期単位で5兆 ...

ReadMore

書評:Right Kind of Wrong: The science of failing well

2024/4/24

Right Kind of Wrong: The science of failing well Amy Edmondson Right Kind of Wrong: The science of failing well  某経済誌で2023年のベストビジネスブックに選出されています。  著者はハーバードのリーダーシップとマネジメントの教授で、心理的安全性(Psychological safety)という概念を提唱しています。組織の振る舞いと管理に関して、良いチームが良い結果を生むわけではないことに直面 ...

ReadMore

書評:Eighteen Days in October: The Yom Kippur War and How It Created the Modern Middle East

2023/12/7

Eighteen Days in October: The Yom Kippur War and How It Created Modern Middle East Uri Kaufman 2023年11月現在  中東での紛争の拡大懸念が緩和したことで原油価格が$80を切リました。前回もそうでしたが、原油価格が$80を切るとOPEC+が減産を決定するようになりました。  中東産油国が最初にエンバーゴを始めたのが第4次中東戦争の時でした。当時はOAPECでしたが、これを契機に石油の価格支配力はメジャーからO ...

ReadMore

書評:The Economic Weapon, The Rise of Sanctions as a Tool of Modern War

2024/5/15

The Economic WeaponThe Rise of Sanctions as a Tool of Modern War. Nicholas Mulder The Economic Weapon, The Rise of Sanctions as a Tool of Modern War  1914年、第一次世界大戦から第二次大戦の終戦と国連の誕生する1945年までの30年の経済制裁、封鎖についてのリサーチです。2022年に出版され、いくつかの経済、外交専門誌でその年のベストブックに選ばれています ...

ReadMore

システム

Apple Silicon M2 Mac のサーマルスロットリング対策

M2チップの発熱による性能低下の対策を検討しました。

M2 チップの動作条件

 M2チップは、他のプロセッサ同様、負荷が大きくなると表面温度も上昇するため、熱による損傷からチップを保護するために、動作クロックを落とします。これをサーマルスロットリングと言います。

 M2は、サーマルスロットリングの閾値を105°に設定してあります。

 CPU使用率が100%になるような高い負荷のかかる処理を実行した場合、ピーク周波数で実行できるのは2分程度です。

 チップの温度センサーが105°の閾値を超えた温度を検知し、サーマルスロットリングが働きます。このとき、チップの動作周波数は、3.5GHz->1.8GHzにフォールバックします。その後、温度が下がり、閾値を超えない程度の動作クロックで動作を続けます。

 M2の四つの高効率コアのフォールバックする動作周波数は、以下のようになっています。

123456789
3504MHz3408MHz3324MHz3204MHz3096MHz2988MHz2868MHz2724MHz2568MHz
1011121314151617
2400MHz2208MHz1968MHz1704MHz1452MHz1188MHz924MHz660MHz

 通常のモバイル環境での使用は、消費電力を抑えるために低い周波数で動作します。

高負荷時の問題

 高負荷処理の例として、モンテカルロシミュレーションを行い、サンプラー(NUTS)を動かします。

 以下のように、NUTS実行時にPythonのプロセスをCPUコア数分起動します。CPU使用率は100%になります。

 

 上のモニタ表示ではPythonのプロセスが四つ動いていますが、MCMCのライブラリがバックエンドの処理でプロセス当たり8個のスレッドを生成し、M2の8コアに各スレッドを割り当てています。

 Rのパラレルライブラリ(paralell)で並列処理のプログラムを組んで、データ処理に使った場合は、以下のようにM2の8コアすべてにプロセスを割り当てます。Rのparalellライブラリはコア数分、プロセスをforkします。UNIX系のfork()を使っているため、Windowsでは働きません。

 以下の表示はサンプラー実行時のものです。サンプラー開始後数十時間後に、フロントエンドのブラウザとの通信ができていないの状態になり、仕方なくリセットしました。
 ブラウザがリロードしてプログレスバーが進んでいません。

 問題は二点ありました。一つは高負荷時のブラウザの動作、もう一つはサーマルスロットリングのために処理が高い負荷状態が長時間続くことです。

  1. 高負荷時のブラウザの動作
  2. サーマルスロットリング

【高負荷時のブラウザ】

safari 「問題が起きたため、Webページが再読み込みされました」

 CPUの負荷が重い状態で、他の処理、例えば、mds_storeプロセスが重なった時に、ブラウザ(safari)に問題が起きてページをリロードします。

 ここでは、中断せずにNUTSを終了させたいので、上記問題を避けるため、一旦、safariの使用を中止し、JupyterのフロントエンドにChromeを使います。

 Safariの問題は別途調査し、ここではサーマルスロットリングにフォーカスします。

 上記アクティビティモニタに表示されているように、大量のデータをRで並列処理する場合も、NUTSを動かす時と同様に、CPU使用率は100%になります。CPU使用率が高くなると発熱のためサーマルスロットリングが働いてピーク性能で動くのは2分程度です。

サーマルスロットリング

 高負荷時、処理の進捗が、開始時に比べて遅くなります。ここではサーマルスロットリングの対策をして、ピーク性能の動作時間を伸ばす処置を行います。

ツール

温度

CPUの温度センサーの値を読みこんで表示するツールがあります。Hotというフリーウエアです。以下はスクリーンショットです。

メニューバーに温度を表示し、プルダウンメニューでグラフを表示します。動作チェック用に、使用しました。

ソースコードは以下のGitに公開されてあります。

https://github.com/macmade/Hot

最新バージョンは、1.9.1です。インストール後に更新してください。

動作周波数

M2の現在の動作クロックを見るために以下のコマンドを使います。

sudo /usr/bin/powermetrics -s cpu_power -n 1 

管理者権限で実行するため、パスワード入力画面でパスワードを入力してください。

出力は以下のようになります。

$ sudo /usr/bin/powermetrics -s cpu_power -n 1 
Machine model: Mac14,2
OS version: 22F82
Boot arguments: 
Boot time: Thu Jul  6 19:02:56 2023



*** Sampled system activity (Fri Jul  7 07:17:07 2023 +0900) (5003.61ms elapsed) ***


**** Processor usage ****

E-Cluster HW active frequency: 2423 MHz
E-Cluster HW active residency: 100.00% (600 MHz:   0% 912 MHz: .04% 1284 MHz: .02% 1752 MHz: .01% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
E-Cluster idle residency:   0.00%
E-Cluster instructions retired: 0
E-Cluster instructions per clock: 0
CPU 0 frequency: 2423 MHz
CPU 0 idle residency:   0.00%
CPU 0 active residency: 100.00% (600 MHz:   0% 912 MHz: .04% 1284 MHz: .02% 1752 MHz: .01% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 1 frequency: 2423 MHz
CPU 1 idle residency:   0.00%
CPU 1 active residency: 100.00% (600 MHz:   0% 912 MHz: .04% 1284 MHz: .02% 1752 MHz: .01% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 2 frequency: 2423 MHz
CPU 2 idle residency:   0.00%
CPU 2 active residency: 100.00% (600 MHz:   0% 912 MHz: .04% 1284 MHz: .02% 1752 MHz: .01% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 3 frequency: 2423 MHz
CPU 3 idle residency:   0.00%
CPU 3 active residency: 100.00% (600 MHz:   0% 912 MHz: .04% 1284 MHz: .02% 1752 MHz: .01% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)

P-Cluster HW active frequency: 1927 MHz
P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 0
P-Cluster instructions per clock: 0
CPU 4 frequency: 1927 MHz
CPU 4 idle residency:   0.00%
CPU 4 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
CPU 5 frequency: 1927 MHz
CPU 5 idle residency:   0.00%
CPU 5 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
CPU 6 frequency: 1927 MHz
CPU 6 idle residency:   0.00%
CPU 6 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
CPU 7 frequency: 1927 MHz
CPU 7 idle residency:   0.00%
CPU 7 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)

System instructions retired: 0
System instructions per clock: nan
CPU Power: 5247 mW
GPU Power: 33 mW
ANE Power: 0 mW
Combined Power (CPU + GPU + ANE): 5280 mW

 この出力で知りたいのは、高効率コア四つの動作周波数です。

 P -Clusterのハードウエア、CPU 4,5,6,7で番号が振られています。

実測値

MAC上で負荷の高いタスクとして、MCMCのサンプラーを実行します。この時、CPU使用率は100%を継続します。

  1. サンプラー起動時
P-Cluster HW active frequency: 3204 MHz
P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz: 100% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 0
P-Cluster instructions per clock: 0
CPU 4 frequency: 3504 MHz
CPU 4 idle residency:   0.00%
CPU 4 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz: 100%)

動作クロック:3504MHz

2. 2分経過後(温度108°表示後、低下)

P-Cluster HW active frequency: 1927 MHz
P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 0
P-Cluster instructions per clock: 0
CPU 4 frequency: 1927 MHz

動作クロック:1927MHz

 動作開始後、2分経過後にM2の動作クロックは、3.5GHz->1.9GHzにフォールバックしています。

 このように、確率モデルによっては長時間サンプラーを動かすので、サーマルスロットリングがかかり、さらに時間がかかるという悪循環に陥ります。MAC以外の動作環境として業務用サーバーで組んだ並列システムがありますが、MACのM2の性能を引き出して実行する方法を検討しました。

MAC Book Airのソリューション

 M2の性能を引き出す方法を検討しました。

1.サーマルパッド

 BookAirはBookProのように冷却用のファンはないため、ロジックボードにサーマルパッドをはって、筐体に熱を逃すという方法があります。暑さ1mm程度のシリコンサーマルパッドが放熱パッドとして入手できます。

 熱の伝導効率は、空気と市販のサーマルパッドで、以下のように大きな差があり、パッドには効果があります。

  • 0.002kW / 空気
  • 12kW / サーマルパッド

 サーマルパッドには、様々な種類があり、主に6kW~12kWの熱伝導効率のものが市販されています。数値の大きいものが伝導効率が高くなります。

 この処置を施すと筐体が熱くなります。プラスチック部分の耐久性など、トータルバランスに問題を起こす可能性のある処置は避けたいものです。筆者の使用環境では、モンテカルロシミュレーションか、大量のデータ処理を実行する以外、CPU使用率が100%の状態で使用することはありません。大量のデータ処理を行う場合は電源を電源アダプタに接続しています。モバイル環境ではむしろ、クロックを落として消費電力を下げる通常の仕様の方が扱いやすいと思います。

2. アイスまくら

 他の方法を検討しました。要は温度を下げれば良いので、ソフトアイスまくら(氷まくら)をヒートシンクに使うことにしました。

 筆者の実行環境ではMCMCを走らせる時以外、CPU使用率が100%に達する処理を実行することは少ないので、高負荷時にのみ使用できる良いソリューションです。

 試しに使ってみると、うまくいきました。

 高分子ジェルのアイスまくらをドラッグストアで調達しMac Bookの底に敷きます。
 冷やさず、常温であっても熱伝導率が高いため、ジェルが熱を吸収して冷却効果があります。

 サーマルパッドをロジックボードに貼る必要はありません。ノーマルのMac BookAirの下にジェルのアイスまくらを敷くだけです。

常温使用

以下は、アイスまくらをBookAirの下に置いた時の動作周波数です。

処置前

P-Cluster HW active frequency: 1927 MHz
P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 0
P-Cluster instructions per clock: 0
CPU 4 frequency: 1927 MHz
CPU 4 idle residency:   0.00%
CPU 4 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:  16% 1968 MHz:  83% 2208 MHz: .71% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)

アイスまくら使用

P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:  51% 2724 MHz:  46% 2868 MHz: 3.6% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 0
P-Cluster instructions per clock: 0
CPU 4 frequency: 2650 MHz
CPU 4 idle residency:   0.00%
CPU 4 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:  51% 2724 MHz:  46% 2868 MHz: 3.6% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)

 アイスまくらを底面に設置した環境では、動作クロックが 1927MHz -> 2650MHz に大幅に改善しています。(冷蔵庫で冷やしていません、常温のアイスまくらです)
 これだけで、38%高速になります。

冷却使用

 冷凍庫で冷却したアイスまくら使用した場合、ピーク周波数3.5GHzでの動作が数時間持続できます。82%高速になりました。

$ sudo /usr/bin/powermetrics -s cpu_power -n 1 
Password:
Machine model: Mac14,2
OS version: 22F82
Boot arguments: 
Boot time: Thu Jul  6 19:02:56 2023



*** Sampled system activity (Fri Jul  7 18:28:03 2023 +0900) (5002.87ms elapsed) ***


**** Processor usage ****

E-Cluster HW active frequency: 2424 MHz
E-Cluster HW active residency: 100.00% (600 MHz:   0% 912 MHz:   0% 1284 MHz:   0% 1752 MHz:   0% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
E-Cluster idle residency:   0.00%
E-Cluster instructions retired: 1.23246e+11
E-Cluster instructions per clock: 2.62358
CPU 0 frequency: 2424 MHz
CPU 0 idle residency:   0.00%
CPU 0 active residency: 100.00% (600 MHz:   0% 912 MHz:   0% 1284 MHz:   0% 1752 MHz:   0% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 1 frequency: 2424 MHz
CPU 1 idle residency:   0.00%
CPU 1 active residency: 100.00% (600 MHz:   0% 912 MHz:   0% 1284 MHz:   0% 1752 MHz:   0% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 2 frequency: 2424 MHz
CPU 2 idle residency:   0.00%
CPU 2 active residency: 100.00% (600 MHz:   0% 912 MHz:   0% 1284 MHz:   0% 1752 MHz:   0% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)
CPU 3 frequency: 2424 MHz
CPU 3 idle residency:   0.00%
CPU 3 active residency: 100.00% (600 MHz:   0% 912 MHz:   0% 1284 MHz:   0% 1752 MHz:   0% 2004 MHz:   0% 2256 MHz:   0% 2424 MHz: 100%)

P-Cluster HW active frequency: 3204 MHz
P-Cluster HW active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz: 100% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz:   0%)
P-Cluster idle residency:   0.00%
P-Cluster instructions retired: 1.71986e+11
P-Cluster instructions per clock: 2.77491
CPU 4 frequency: 3504 MHz
CPU 4 idle residency:   0.00%
CPU 4 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz: 100%)
CPU 5 frequency: 3504 MHz
CPU 5 idle residency:   0.00%
CPU 5 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz: 100%)
CPU 6 frequency: 3504 MHz
CPU 6 idle residency:   0.00%
CPU 6 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz: 100%)
CPU 7 frequency: 3504 MHz
CPU 7 idle residency:   0.00%
CPU 7 active residency: 100.00% (660 MHz:   0% 924 MHz:   0% 1188 MHz:   0% 1452 MHz:   0% 1704 MHz:   0% 1968 MHz:   0% 2208 MHz:   0% 2400 MHz:   0% 2568 MHz:   0% 2724 MHz:   0% 2868 MHz:   0% 2988 MHz:   0% 3096 MHz:   0% 3204 MHz:   0% 3324 MHz:   0% 3408 MHz:   0% 3504 MHz: 100%)

System instructions retired: 2.95233e+11
System instructions per clock: 2.70966
CPU Power: 14026 mW
GPU Power: 2 mW
ANE Power: 0 mW
Combined Power (CPU + GPU + ANE): 14029 mW

 冷凍したソフトアイスまくらとMAC Bookの間ににハンカチを1枚敷いて使用しました。
 通常は発熱のために、3.5GHzでの動作は、2分で終了しますが、この処置により、ピーク周波数での動作を持続させることができます。

 モンテカルロシミュレーション実行時に使用して、ピーク性能でサンプラーを動かすことができました。
 ピーク周波数で動作時、消費電力は14Wになります。

(注)日本は、湿度が高いので、結露に注意してください。ロジックボードが結露することはありませんが、筐体は結露します。

Ockham's Razor

これを使用して、4つの高効率コアが82%高速になりました。

発熱で性能が低下する問題は冷やせば解決します。CPU負荷が高い処理で、M2のピーク性能を引き出すシンプルな問題解決の例です。

-システム
-, ,