C++程序编译时的_GLIBCXX_USE_CXX11_ABI参数的值选择,适配昇腾Transformer推理加速库与LLM推理模型库

发布时间:2024年01月18日

确定已安装G++

命令行输入

g++ -v

示例输出

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-linux-gnu/10.3.1/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl --without-cloog --enable-gnu-indirect-function --build=aarch64-linux-gnu --with-stage1-ldflags=' -Wl,-z,relro,-z,now' --with-boot-ldflags=' -Wl,-z,relro,-z,now' --disable-bootstrap --with-multilib-list=lp64 --enable-bolt
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.3.1 (GCC)

总结网络上的搜索结果,如果GCC版本大于5.1,那么_GLIBCXX_USE_CXX11_ABI参数都是1
如果要编译低版本的软件,_GLIBCXX_USE_CXX11_ABI参数需要设置为0

编译测试程序获取宏值

新建一个文件

vim test.cpp

将下面的代码复制进去,wq保存

#include <iostream>
using namespace std;

int main() {
    #ifdef _GLIBCXX_USE_CXX11_ABI
        cout << _GLIBCXX_USE_CXX11_ABI << endl; 
    #else
        cout << "not defined" << endl;
    #endif
}

使用g++进行编译

g++ -o test test.cpp

运行可执行文件

./test

这将会打印输出_GLIBCXX_USE_CXX11_ABI参数的值

安装对应的Transformer LLM推理模型库和Transformer推理加速库

示例版本:
Ascend-cann-llm_7.0.0_linux-aarch64_torch2.0.1-abi1.tar.gz
Ascend-cann-atb_7.0.0_linux-aarch64_abi1.run

文章来源:https://blog.csdn.net/weixin_46398647/article/details/135665735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。