xxchen

Results 3 comments of xxchen

> > 我们意图在华为Ascend 910B上进行Deepseek-R1 671B的推理,请问适配新的硬件需要做哪些工作? > > 我们目前没有昇腾的设备和懂昇腾硬件的同学,所以可能没办法支持您做这个。您可以看一下marlin算子是否可以在昇腾卡上运算? https://github.com/IST-DASLab/marlin 所以 KTransformer 和硬件之间的接口就只是 Marlin 的矩阵乘算子吗?如果要适配新的硬件,是不是把特定硬件实现的 FP16xINT4 的矩阵乘算子接入 KTransformer 就可以了呢?

感谢大家的回复,鄙人结合各位的建议和对KTransformer源码的分析,总结出以下适配新的硬件组合可能要解决的问题: 1. CPU 侧硬件加速指令的支持。如果不使用英特尔的CPU,使用 arm 架构的CPU,可能存在 CPU 侧硬件加速指令的适配工作。 2. 加速卡侧(国产GPU/NPU)高性能的 FP16xINT4 矩阵乘算子(Marlin)的适配。如果硬件不支持 INT4,还需考虑使用 INT8 的数据类型代替,改动数据类型这部分,对权重文件或者其他模块存在什么样的影响尚未知。 3. 算子图模式支持,需要将源码中使用 CUDA Graph 的部分替换成别家异构计算软件栈中对应的图模型接口。KTransformer框架似乎与CUDA Graph强耦合,如果要适配别的图模式接口,可能会对源码有较大的改动。另外,还要求新引入的图模式接口中有类似cudaLaunchHostFunc的函数,以实现单个forward只生成一张图。目前来看,适配新的异构计算软件栈的图模式的难度较大。 4. 引入新的硬件组合后,可能需要尝试更多的计算资源的分配组合,需要理解网络层的计算逻辑,以尝试将哪些网络层放到加速卡上,哪些网络层放到 CPU 上,对开发者的模型结构知识提出了更高的要求。

针对国产卡的适配问题,欢迎大家一起讨论!