VORTEXM4: STRMM/DTRMM at about half of Accelerate at n = 1024
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- c
- 領域
- backend, performance
調査の方向性
Start by profiling the STRMM path at n = 1024 to separate kernel time, triangle copy time and driver overhead. The issue points to gemm_kernel_sme2.c, trmm_ncopy_sme2.c, trmm_tcopy_sme2.c and driver/level3/trmm_L.c and trmm_R.c; compare those measurements with the listed Accelerate and SYMM results. Done means identifying which part accounts for the slowdown; the candidate causes have not yet been measured separately.
索引モデルが issue の本文から書いたものです。
説明
STRMM and DTRMM on VORTEXM4 (SME2 kernels from #6074) are slower than the other level-3 routines also at large sizes. On an M4 Pro, one thread, n = 1024: all 16 STRMM variants run at 780-888 GFLOPS, Accelerate at 1536-1562 (0.52x); DTRMM is at 0.61x. At n = 4096 STRMM is at 0.78-0.86x. SYMM, which uses the same GEMM kernel through the level-3 driver, reaches 0.93x at n = 1024.
The difference is therefore specific to the TRMM path. Candidates, not yet measured separately:
- the TRMM kernel (
gemm_kernel_sme2.cwithTRMMKERNEL) zeroes ZA and storesC = alpha * ZAwith a per-row scale-only store (s2_c_store_alpha), not the four-row fast path of the GEMM case; - the triangle copies (
trmm_ncopy_sme2.c,trmm_tcopy_sme2.c, ~43 GB/s, see #6146); driver/level3/trmm_L.c/trmm_R.ccall the kernel on chunks of at most 3 x GEMM_UNROLL_N = 48 columns.
A first step is a profile that separates kernel time, copy time and driver overhead at n = 1024.
- 主要言語
- C
- スター
- 7.6k
- フォーク
- 1.7k
- 平均マージ
- 1日 17時間
- マージ済み PR(30日)
- 42
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenMathLib/OpenBLAS のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
OpenMathLib/OpenBLAS#6152 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
OpenMathLib/OpenBLAS#6151 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
VORTEXM4: s2_usable() runs RDSVL before the SME2 check (SIGILL without SME)対応中かも @tesch1 が 1 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
OpenMathLib/OpenBLAS#6150 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
OpenMathLib/OpenBLAS#6149 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 43/100
OpenMathLib/OpenBLAS#6148 ·
メンテナーはふだん 1 日以内に返信
OpenMathLib/OpenBLAS の issue をすべて見る
似ている issue
-
TLS: a stale OpenSSL error makes non-blocking reads fail with "Resource temporarily unavailable"オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
bigtreetech/BIGTREETECH-TouchScreenFirmware#3056 ·
メンテナーはふだん 1 日以内に返信
-
Allow pillow 13オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
[pico][astrocade] emu/apply.sh edits src/mame/midway/astrohome.cpp, which current MAME has in bally/オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
FujiNetWIFI/fujinet-firmware#2120 ·
メンテナーはふだん 1 日以内に返信