Oossa

llama.cpp、Hexagonの大きなストライドでDMA転送を修正

リリースb12030では、転送ストライドが16 MB以上の場合にHexagonのDMAフォールバックでメモリアドレスが誤る問題を修正。

短信著者: Oossa公開日: 1 分で読める

ggml-org/llama.cppのリリースb12030では、ストライドが16 MB以上の場合に発生するHexagonのメモリ転送バグが修正された。Hexagon v75以降では、DMAディスクリプターが行サイズとストライドを24ビットで保持する。従来のフォールバック処理は行数単位で転送を分割していたが、大きすぎるストライドは切り詰められることがあり、誤ったアドレスにつながっていた。今回の修正では、この場合に行ごとに転送するよう変更。また、ソースのストライドが16 MBを超えるCONTテストが2件追加された。

なぜ重要か

影響を受けるHexagonハードウェアでllama.cppを実行する場合、非常に大きなストライドを伴う転送で誤ったメモリアドレスが使われるのを防げるとみられる。ただし、どのようなワークロードでこの問題が起きるかは、リリースノートに記載されていない。

この記事は役に立ちましたか?
共有

次に読む

Oossa · ニュースレター

今週のAIを、わかりやすく

毎週月曜日、知っておきたいニュースをやさしい言葉で。無料・スパムなし。