cnnlQuantizeV1接口只支持从host端传量化参数,即需要调用者提前现在host端准备好量化参数,然后通过output_desc传到算子里,再参与计算,cnnlQuantizeV1大多适用已经准备好量化参数的推理场景。
cnnlQuantizeV2接口只支持从MLU设备端传量化参数,即需要调用者提前在MLU设备端准备好量化参数,然后把量化参数的地址传给V2接口。cnnlQuantizeV2大多适用于训练场景,配合cnnlQuantizeParam接口使用。先调用cnnlQuantizeParam接口算出量化参数,此时量化参数存在MLU设备端。如果接下来调用cnnlQuantizeV1接口,需要做一次MLU设备端到host端的拷贝,会打断host端和MLU端的并行,影响性能。
其实示例代码的一开始有简要的注释说明:
* quantize_v1_test */
/* * A test which shows how to run quantize op when quantization parameters * are inputted from host.
/* quantize_v2_test */
/* * A test which shows how to run quantize op when quantization parameters * are inputted from MLU device.
请登录后评论