.. _FAQ:

FAQ
==========================================


Cambricon Torch-MLU-Ops和BangTransformer的关系
------------------------------------------------------------------------

Torch-MLU-Ops从BangTransformer演化而来，保留了BangTransformer提供的PyTorch第三方算子API能力，重新命名为Torch-MLU-Ops。原先BangTransformer的网络评测功能由Cambricon vLLM继承。


Cambricon Torch-MLU-Ops和Cambricon PyTorch的关系
------------------------------------------------------------------------

Cambricon PyTorch为能够运行在寒武纪设备上的PyTorch框架组件。Cambricon Torch-MLU-Ops为寒武纪PyTorch第三方算子库。在运行时，Torch-MLU-Ops需要依赖Cambricon PyTorch环境。


Cambricon Torch-MLU-Ops和Cambricon MLU-Ops的关系
------------------------------------------------------------------------

Cambricon Torch-MLU-Ops为寒武纪PyTorch第三方算子库，Cambricon MLU-Ops为寒武纪C++算子库，两者无直接关系。


Cambricon Torch-MLU-Ops中 flash_attention 算子和Cambricon FlashAttention以及Cambricon PyTorch源生SDPA算子的关系
--------------------------------------------------------------------------------------------------------------------------

Cambricon Torch-MLU-Ops中提供的 flash_attention 算子为专门为推理场景下定制优化的算子，后端调用的是CNNL_Extra组件中的 ``cnnlScaledDotProductAttn_v3`` 算子。

Cambricon FlashAttention和Cambricon PyTorch源生SDPA算子均针对训练场景，后端调用的是CNNL_Extra组件中的 ``cnnlFlashAttnFwd`` 和 ``cnnlFlashAttnBwd`` 算子。

针对推理场景下的flash attention算子测试，应当使用Cambricon Torch-MLU-Ops中的 flash_attention 算子，以获得MLU计算卡上更好的性能表现。
