编译选项
常用的编译选项说明如下:
选项 |
是否必需 |
说明 |
---|---|---|
-help |
否 |
查看帮助。 |
-o <file> |
否 |
指定输出文件的名称和位置。 |
-O |
否 |
用于指定编译器的优化级别,当前支持-O2,-O0。 |
-fPIC |
否 |
告知编译器产生位置无关代码。 |
--shared |
否 |
编译生成动态链接库。 |
--cce-build-static-lib |
否 |
用于编译生成静态链接库,编译器会将Device侧的代码进行编译链接,然后再将Device侧的二进制作为Host侧数据进行编译,最后对Host侧的二进制生成Archive文件。当前只支持以.o、.obj、.lib为后缀名的文件作为输入。详见编译、链接、库使用方法。 |
--cce-auto-sync |
否 |
开启自动同步。AI Core内部的执行单元是异步并行的,LocalTensor的读写可能存在数据依赖,可以通过该选项进行自动同步,无需用户通过接口手动插入同步。详细内容请参考支持自动同步。 |
--cce-auto-sync-log |
否 |
“--cce-auto-sync-log=<file>”编译选项可以输出同步插入信息到<file>文件中。 |
--std=c++17 |
否 |
用于配置使用的C++标准。当编译Ascend C算子时,需要使用C++17标准,该选项为必选项。 |
-xcce |
否 |
将该选项后的输入文件按照cce异构语言模式编译。不支持ccache编译缓存加速,若需使用ccache,请使用--cce-aicore-lang替代选项。 |
--cce-aicore-lang |
否 |
将该选项后的输入文件按照cce异构语言模式编译。支持ccache编译缓存加速(不可与-xcce同时使用)。缓存加速效果请参考ccache官网介绍。 |
产品选项说明如下:
选项 |
是否必需 |
说明 |
---|---|---|
--cce-soc-version |
是 |
昇腾AI处理器的型号,配置后生成对应AI处理器型号的二进制。 如果无法确定具体的AI处理器型号,则在安装AI处理器的服务器执行npu-smi info命令进行查询,在查询到的“Name”前增加Ascend信息,例如“Name”对应取值为xxxyy,应配置为 --cce-soc-version=Ascendxxxyy。 |
--cce-soc-core-type |
是 |
生成对应核的二进制,参数取值为VecCore、CubeCore、AICore。
|