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

广西做网站的公司有哪些河南公司网站建设

广西做网站的公司有哪些,河南公司网站建设,盘锦建网站,北京企业官网网站建设报价Apollo9针对RTX40的docker环境里的Eigen库版本是3.3.4,CUDA是11.8: 编译我们自己封装模型的某些component代码时没问题,编译一个封装occ模型的component代码时始终报错: In file included from /usr/include/eigen3/Eigen/Geometry:11:0, …

Apollo9针对RTX40的docker环境里的Eigen库版本是3.3.4,CUDA是11.8:

编译我们自己封装模型的某些component代码时没问题,编译一个封装occ模型的component代码时始终报错:

In file included from /usr/include/eigen3/Eigen/Geometry:11:0,
                 from /apollo/modules/common/util/eigen_defs.h:25,
                 from /apollo/modules/perception/camera_detection_panoflashocc/panoflashocc/panoflashocc_backbone.hpp:10,
                 from /apollo/modules/perception/camera_detection_panoflashocc/panoflashocc/panoflashocc_backbone.cu:5:
/usr/include/eigen3/Eigen/Core:42:14: fatal error: math_functions.hpp: No such file or directory
     #include <math_functions.hpp>

按网上有人说的把usr/include/eigen3/Eigen/Core的42行改成cuda_runtime.h:

     //#include <math_functions.hpp>  
     #include <cuda_runtime.h>

后报新的错误:

/usr/local/cuda/targets/x86_64-linux/include/crt/common_functions.h:74:24: error: token ""__CUDACC_VER__ is no longer supported.  Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
 #define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported.  Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
                        ^
/usr/local/cuda/targets/x86_64-linux/include/crt/common_functions.h:74:24: note: in definition of macro '__CUDACC_VER__'
 #define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported.  Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
                      

搜索eigen3的头文件里确实定义有__CUDACC_VER__之类的定义,但是cuda说不支持了,这很显然是eigen3.3.4版本低了,和cuda11.8不匹配,一种解决办法是按网上说的,删掉eigen3.3.4,去网上下载更新版本的eigen的源码(例如3.3.8或3.4)然后自己编译安装,但是考虑到部署需求,我们的环境不能随便动,最好能不动eigen就能解决这个问题。

前面走了弯路花了不少时间总想着怎么解决eigen和cuda之间的这个版本约束,后来看我们自己封装不同模型的代码发现其实这种错误出现的在于我们有代码把调用eigen库的代码和调用cuda+tensorrt的代码放在一个文件里,尽量改写代码,把这两种调用分拆开到.cpp和.cu两个不同源码文件里,实在需要交互数据的地方采用标准的C++数据结构避免使用eigen矩阵和矢量,然后在CMakeLists.txt里将两个文件放在不同的library里编译(.cu文件放在cuda_add_library()里,.cpp文件放在add_library()里),这样就没问题编译不报那个烦人的找不到文件的错了(其实cuda里math_functions.hpp文件是存在的,只是eigen版本低了)。

http://www.hkea.cn/news/548860/

相关文章:

  • 上海企业网站模板建站常用的网络推广方法
  • 大连零基础网站建设教学培训济南seo优化公司
  • html 做网站案例简单网站推广建设
  • 践行新使命忠诚保大庆网站建设线上广告
  • 定制网站建设服务商商家联盟营销方案
  • 集团官网建设公司外贸seo推广公司
  • 佛山新网站制作平台网站诊断工具
  • 做PPT的网站canvawhois查询
  • 营销型网站建设吉林定制化网站建设
  • 个人网上公司注册流程图新站优化案例
  • 做se要明白网站明星百度指数排名
  • 网页微博草稿箱在哪西安seo推广优化
  • 嘉兴微信网站建设谷歌首页
  • 什么网站做海报b站不收费网站
  • 如何自己做个简单网站seo知识点
  • 有哪些做批发的网站有哪些手续百度推广优化是什么意思
  • 用阿里巴巴店铺做公司网站怎么样引擎搜索有哪些
  • 网页制作软件属于什么软件类别简述seo的优化流程
  • 网站建设 公司新闻谷歌排名网站优化
  • 怎样做自己的vip解析网站佛山外贸seo
  • 我的网站在百度搜不到了seo是什么职业做什么的
  • 网站私信界面国外网站seo免费
  • wordpress mysql类惠州网站seo
  • 为什么做网站必须要用域名举出最新的网络营销的案例
  • 电子请柬网站开发百度竞价推广登录入口
  • 网站设计与推广国际时事新闻2022最新
  • 柬埔寨网站开发营销技巧和营销方法
  • 网站建立价格长沙网站外包公司
  • 王建设医生个人网站免费google账号注册入口
  • 免费自建手机网站搜索引擎优化的方法包括