MLX custom kernelのsource差し替えでin-flight pipelineを破棄し得るキャッシュ設計問題が報告
MLX PR #4489 は同じkernel名でsourceを変えるcustom kernel実行時、従来のname-keyed cacheがclear_library()を呼び、実行中command bufferが参照するMTLComputePipelineStateを破棄してSIGABRTを起こし得ると報告した。提案修正はsource hashをkeyにして複数variantを共存させる方式。PR自体は未マージでclosed。
所感
shapeやdtypeごとにcustom Metal kernelを生成・autotuneする独自runtimeでは、kernel cacheのidentityとlifetimeが実行安全性に直結する。source/specializationを含むcontent-addressed keyを使い、in-flight pipelineをevictしない契約を早い段階で入れておく価値がある。