macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

M1 MAX Mac Studioのベンチマーク(マッピング時間)

2022/07/07 誤字修正

 

先月初めに注文したMac Studioが届きました(補足*1)。購入したのは、M1 MAX の24コアGPU、32GBメモリ、512GB SSDモデルです。事務用マシンとして購入しました(時々スクリプトを書いたり簡単なシェルコマンドを実行するくらい)。おさらいしておくと、M1 MAXチップのCPUは、高性能な8コアと、性能は控えめですが省電力な2コアの合計10コアからなるヘテロジニアスCPUです。ハイパースレッディング技術はないため、OS側から合計10つのコアとして認識されます。M1チップとは、CPUコア、メモリ、GPUコア、Neural Engineコア数に違いがあり、特にメモリ帯域には大きな差があります。このM1シリーズのメモリはユニファイドメモリ構造になっていて、CPUとGPU、Neural Engineが同じメインメモリを共有します(引用*1)。この仕様はGPUメモリ要求量が高いアプリケーションではメリットになるかもしれませんが、高解像度ディスプレイとメモリを多量に使うアプリケーションを使う自分のような人間には、メモリ不足にならないかが不安な点です。32GB物理メモリで足りるのか、そういった点も使っていく中で見ていきたいなあと思っています。

とりあえず初期タスクは2日で完了させたので、簡単なベンチマークをしてみます。基本のマッピングにかかる時間を測定します。ベンチマークは再現できるようにしています。興味があれば今回の結果と比較してみて下さい。

 

使用したハードウエア

ベンチマークに使用するのは、M1 MAXチップを積んだMac Studio、M1チップを積んだmacbook airmac mini 2018モデル。mac miniにはインテルのcorei7 8700Bが搭載されている。

1、Mac Studio 2022下位

  •  CPU: M1 MAX (SoC)  (合計10コア10スレッド)
  •  memory: 32GB LPDDR5-6400 (*1) (SoC)
  •  GPU: M1 MAX 24コア (SoC)
  •  system: drive: SSD 512 GB
  •  OS:  macOS Monterey 12.4

2、macbook air 2020下位

  •  CPU: M1 (SoC)  (合計8コア8スレッド)
  •  memory: 8GB LPDDR4x-4266 (SoC)
  •  GPU: M1 8コア(SoC)
  •  system: drive: SSD 256 GB
  •  OS:  macOS Big Sur 11.6.2

3、mac mini 2018上位

  •  CPUcore i7 8700B (合計6コア12スレッド)
  •  memory: DDR4 2667MHz 16GB x 2 (合計32 GB)
  •  GPU: CPU内蔵グラフィック
  •  system: drive: SSD 512 GB
  •  OS:   macOS Monterey 12.0.1

OSのバージョンは揃えられていません。

 

ベンチマーク時のハードウエア設定

部屋の温度は27度。他のジョブは実行しない。いつも通り、再起動して10分後に測定開始。Mac Studioは2日使用し、初期タスクを完了させてから使用した。

 

使用したデータ

SRAで公開されているVibrio parahaemolyticusの150bpx2ペアエンドシークエンシングデータ; SRR19201055 (link) を使用した。

#download
fasterq-dump SRR000001 -e 8 -p

#リファレンス配列はVibrio parahaemolyticus RIMD 2210633(GCF_000196095.1)を使用
wget -O - https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/196/095/GCF_000196095.1_ASM19609v1/GCF_000196095.1_ASM19609v1_genomic.fna.gz |gzip -dv - > reference.fasta

> md5 SRR19201055_*

MD5 (SRR19201055_1.fastq.gz) = 4921c12573c99fcfc376ef1455a55a95

MD5 (SRR19201055_2.fastq.gz) = 79493f80202bb641dda52ffecc7db7e6

ファイルサイズはgzip圧縮で180MB x 2、非圧縮で880MB x 2。リード数は2,363,689 x 2。

 

測定方法

計測には Rustのhyperfine(紹介)を使用。bwaのマッピングタイムを8スレッドで測定する時は以下の通り。

#indexing
bwa index -a is reference.fasta
#bwa mapping (benchmark)
cpu=8
hyperfine "bwa mem -t $cpu reference.fasta SRR19201055_* > output.sam"

 終わると平均タイム、最大タイム、最小タイムがまとめられる。

 

使用したソフトウエア

bwaのインテルCPU向けバイナリのv0.7.17を使用。M1 chipには不利なテストだが、多くのツールはArmでは動作しないので、Rosetta2環境で行ったタイムの方が実用的な物差しになると考えた。

 

結果

使用スレッド数はM1 macbook airが8、Intel Mac MiniとMacStudioが8、10の2つで行っています。M1 シリーズの測定は、前回説明したように、Rosetta2環境のターミナルを立ち上げてインテル版のbwaを使って実行しました。結果です。

まずM1 macbook airの8スレッドとM1 MAX Mac Studioの8スレッドの結果を比較すると、M1 MAX Mac StudioはM1 macbook airの87%くらいの時間でマッピングを終えました。高性能コアの割合の違いやメモリ帯域が影響していると考えられます。M1 MAX Mac Studio同士だと、10スレッドは8スレッドのおよそ92%の時間でマッピングを終えました。このタイムはネイティブ環境で測定しているIntel Mac Mini10スレッドよりわずかに短く(ばらつきが大きい)、今回の比較対象では最速でした。

少し気になるのは、ばらつきが大きいのですが、M1 macbook airの8スレッドがIntel Mac Mini8スレッドより遅い傾向が出ていることでしょうか。前回計測した時よりも差が出ているようです(リンク)。これは1サンプルしか使っていない今回の計測方法に問題がある気がします。扱うデータによって差が激しく、もっとたくさんのシークエンシングデータとリファレンスを使わないと正しい傾向は見えてこないのかもしれません。

 

まとめ

簡単なテストでしたが、結果からM1 MAXチップのMac StudioがM1チップのmac book airより順当に高速化していることが分かりました。注目すべきは、M1 MAX Mac Studioの10スレッドは、Rosetta2環境にも関わらずIntel Mac Mini10スレッドよりも早い傾向が出た事でしょうか。ネイティブ環境で動かせばさらに大きな差が出ると予想されます。来年以降出るだろうM2のMac Studio、そして秋以降に出るであろうM? Mac proも期待できますね。

 

引用

*1

https://ja.wikipedia.org/wiki/Apple_M1_Max

 

補足

*1

Mac Studioを購入した動機は、SOCの性能の高さもありますが、事務用を中心に様々な目的に使うマシンなので、拡張性の高さにあります。説明すると、Mac Studioの背面には4つのThunderbolt 4ポート(USB 4)があり、加えてUSB-Aポート(最大5Gb/s)が2つ、HDMIポート、10GbE、ヘッドフォンジャックがあります。特に10ギガビットのイーサネットがあるのは大きいです。ユニークな特徴として、前面にもUSB-Cポートが2つまたは4つとSDXCカードスロット(UHS-II)があります。前面のUSB-Cは、最近増えてきたUSB-Cディスプレイに素早く繋ぐ時に重宝しますね。このような拡張性の高さが購入の一番の動機になっています。

Mac Studioのもう1つの特徴として、最近のapple製品には見られない独特なボディ形状があります。フットプリント自体はmac miniシリーズと揃えられていますが、高さがあるので、ユニークなデザインに見えるわけです。この形状は、mac miniよりもmac pro2013やG4 cudeのデザインを思い出します。ではなぜ背が高くなったかですが、iFixitの分解動画を見ると、この高くなった部分には主に電源ユニットが入っているようです。時々コンパクトなデスクトップ機が販売されますが、そのようなものは巨大なACアダプタが外付けになっていて非常に邪魔になったりします。昔のMac miniも巨大なACアダプタが付いていましたね。それに対して、Mac Studioは、電源コード部分にACアダプタはなくて、ACアダプタが本体に内蔵されています(M1 ULTRAも同じはず)。大きくなるのは当たり前ですね。また、ファンも搭載されており、発熱すればしっかり回って背面から排熱してくれます(故障リスクの低下、クロック低下の予防)。見た目より実用性にバランスを振ったところが自分好みなマシンです。

 

 

関連