b11906
ggml-cpu:すべての型に対して、concatを1行のカーネルに書き直す(#31179) 各ターゲット行は、ソース0またはソース1から生成されるか、次元0の場合にはソース0の行に続いてソース1の行が続くため、単一のカーネルで全型をカバーできます。密度の高いソース行は、量子化された型を含めて、1回のmemcpyで処理され、ストライド付きのソースはコンパイル時に要素サイズが判明しているため、要素ごとにコピーされます。行はi2だけで分割するのではなくスレッド間で分割され、通常は1であるi2よりも効率的です。また、32要素ずつのタイル単位でコピーされます。転置されたソースの場合、外側のループで要素を順に走査するため、タイル内の各行は隣接するアドレスを読み取り、要素ごとにフルな行のストライドを飛ばすのではなくなります。test_concatやdelta-net conv入力のレイアウト、さらにその性能テスト用のケースに、転置されたbケースを追加してください。 **ウェブサイト:** - **証明書:** - **macOS/iOS:** - [macOS Apple Sili