マガジンのカバー画像

行列積計算を高速化してみた

30
数値計算ライブラリBLASに含まれる行列積ルーチンDGEMMを高速化していく手順を記した記事「行列積計算を高速化してみる」の章ごとに分割した記事をまとめたマガジンです。元の記事は…
運営しているクリエイター

#最適化

はじめに|行列積高速化#0

以前書いた行列計算DGEMMを高速化する記事が、あまりに長すぎた(20万文字以上)ので、記事あたり1万字以内を目安に、章ごとに記事を分割することにしました。 元の記事が有料記事のため、高速化の重要なカギになる章は有料にさせていただいています。全記事をご購入いただくと1000円になります。元の記事は560円ですので、全ての章を読むなら元の記事の方が割安になっています。一部の章は元の記事で有料部分に含まれていましたが、分割したので無料でもお読みいただけるようになりました。 元

行列スケール関数の最適化|行列積高速化#23

この記事は、以下の記事を分割したものです。 [元の記事]行列積計算を高速化してみる 一括で読みたい場合は、元の記事をご覧ください。 スケール関数の最適化も、コピー関数の最適化と同じの手続きを進めます。ただ、スケール関数はまだアンローリングを行っていないため、アンローリングから始めます。また、計算時間は非常に短いため、今回はアライメントの場合分けを見送ります。 最適化の手続き (1)アンローリング (2)ベクトライズ、アセンブラ化 (3)プリフェッチの挿入 (4)ループシフ

¥100

行列コピー関数の最適化|行列積高速化#21

この記事は、以下の記事を分割したものです。 [元の記事]行列積計算を高速化してみる 一括で読みたい場合は、元の記事をご覧ください。 コピー関数の最適化の手続きは、行列積カーネルの手続きとほとんど同じです。唯一の違いは、コピー元である行列のアライメントが不明なため、アライメントが揃っている場合とそうでない場合で場合分けする点くらいです。 最適化の手続き (1)ベクトライズ、アセンブラ化 (2)プリフェッチの挿入 (3)ループシフト/命令順序の入れ換え (4)アライメントの場

¥100