新しめのCPUでOpenBLASのコンパイルができない

OpenBLASの新しいバージョンで対応されていると思うが、タイミング的に未対応の場合や、理由があって古いバージョンを使う場合もある。

自動判別に失敗するだけなので、

make TARGET=ターゲット名

で作ればよいのだが、TargetList.txtを見てもやたらと古い名前が並んでいて、そこにいきなりSAPPHIRERAPIDSみたいなハイエンドのが出てきて間がない。

Intel x86の場合、自動判別をやっているcpuid_x86.cを見ると細かく分岐しているが、要は、

AMXAVX-512AVX2AVXbfloat16ターゲット名
(✓)(✓)(✓)SAPPHIRERAPIDS
(✓)(✓)COOPERLAKE
(✓)(✓)SKYLAKEX
(✓)HASWELL
SANDYBRIDGE
NEHALEM

こんな感じ。(コンパイル環境ではなく実行環境が)最近の普通のPCならAVX2どまりなので、

make TARGET=HASWELL

でよさそう。いまさらHASWELLとか