当前位置: 首页 > news >正文

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

目录

  • 2024/1/19日更新
  • 确定已安装G++
  • 编译测试程序获取宏值
  • 安装对应的Transformer LLM推理模型库和Transformer推理加速库
  • 小结

2024/1/19日更新

具体使用cxx11abi0 还是cxx11abi1 可通过python命令查询

import torch
torch.compiled_with_cxx11_abi()

若返回True 则使用 cxx11abi1,否则相反。

确定已安装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_ABIcout << _GLIBCXX_USE_CXX11_ABI << endl; #elsecout << "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-abi0.tar.gz
Ascend-cann-atb_7.0.0_linux-aarch64_abi0.run

小结

按照官方的方式得到_GLIBCXX_USE_CXX11_ABI参数的值是0
按照编译测试程序获取宏值的方式得到的参数值是1
不敢还是按照官方的来吧,选择0

http://www.lryc.cn/news/283943.html

相关文章:

  • 什么是站群服务器?
  • 《WebKit 技术内幕》之四(3): 资源加载和网络栈
  • vue3-模板引用
  • 聚类模型评估指标
  • 测试 ASP.NET Core 中间件
  • 智能小程序小部件(Widget)媒体组件属性说明和示例代码汇总
  • enum的比较
  • 网工每日一练(1月15日)
  • henauOJ 1113: 计算x的n次方
  • 64.Spring事件监听的核心机制是什么?
  • 《C++大学教程》3.12Account类
  • 【工作记录】基于springboot3+springsecurity实现多种方式登录及鉴权(二)
  • CSS笔记III
  • Bit.Store 加密卡集成主流 BRC20通证,助力 BTC 生态流动性
  • openssl3.2 - 官方demo学习 - mac - siphash.c
  • (六)深入理解Bluez协议栈之“GATT Client Profile”
  • SVO编译
  • 探索未知:最新发布的顶级浏览器,为你带来前所未有的浏览体验
  • EasyX图形化学习(三)
  • git-生成证书、公钥、私钥、error setting certificate verify locations解决方法
  • 论文笔记(四十)Goal-Auxiliary Actor-Critic for 6D Robotic Grasping with Point Clouds
  • k8s学习-Deployment
  • Unity之四元数
  • 【计算机硬件】3、输入输出技术、总线结构
  • k8s的对外服务--ingress
  • CSS 雷达监测效果
  • C# System.MissingMethodException
  • Redis面试题23
  • Linux中的yum源仓库和NFS文件共享服务
  • 【LeetCode2744】最大字符串配对数目