6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SME日記その16 Scalable Matrix Extension (SME)の研究の今後の展望についての技術的ポエム

Last updated at Posted at 2024-12-29

Scalable Matrix Extension (SME)の研究の今後の展望について技術的ポエムを書いてみました.

SMEシリーズ

Scalable Matrix Extension (SME)について

Scalable Matrix Extension (SME)は,ARM A-Profile の拡張命令で,Apple Silicon M4に搭載された新しい命令セットです.その名の通り,CPUによる高速な行列・ベクトル演算をサポートします.

Apple Accelerate Frameworkを超えるものを作る

Apple Accelerate Frameworkというものがあります.

もちろんAppleもSMEをフル活用した上でApple Accelerate Frameworkを構築しているとは思うのですが,コード最適化の研究者としては,それをさらに上回るものを作ってみたいという欲に駆られています.

特に以前,下記について論文を書いたので,CORDICによる三角関数の高速化には是非とも挑戦したいです.

三角関数については,Apple Accelerate Frameworkでは,vForceというのでサポートされています.

その中でもこれらの関数ですよね.

行列の乗算とかにも興味あります.

中でも次の関数ですよね.

NxバックエンドEMLXに貢献する

このような知見を生かして,Apple Silicon向け機械学習ライブラリMLXやApple Silicon向けNxバックエンドEMLXに貢献したいですね.

EMLXについては, @RyoWakabayashi さんが紹介記事を書いています.

追記: 20240109 SSCAL程度ではSME実行オーバーヘッドの元が取れない

SME命令を実行するにあたって,行列を格納するZAレジスタの退避・復旧を含むオーバーヘッドがかかります.

研究してみてわかったのが,このオーバーヘッドが思ったより大きく,SSCAL(ベクトルとスカラーの積)くらいの演算強度では元が取れないということです.(SME日記その19 SSCALをScalable Matrix Extensionで書いたけど,単純なforループの方が速かった件について)

この点に留意して,今後も,さらなる研究に邁進します!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?