从 PyTorch Dispatcher 到 C++23:现代 C++ 完美转发如何改变 AI 算子注册表的设计?
你写了一个泛型算子工厂——Conv2D、MatMul、LayerNorm,每个算子的构造参数不同,但你不想为每种算子都手写一个工厂函数,于是你用变参模板写了一个通用的make_operator,接受任意参数包,转发给具体算子的构造函数。代码能编译,单元测试全过,你觉得这事儿就算完了。
// 你的泛型算子工厂——看起来没问题,对吧?template<typenameOpType,typename...Args>std::unique_ptr