概述 最近工作主要关于自动驾驶工程跨平台迁移,从原来的X86架构工控机形式迁移到英伟达Orin Soc,由于Orin是ARM以及这个嵌入式平台的内核是定制的,所以遇到了很多问题,这里分享出来
在容器里使用CUDA计算在ORIN平台
一开始使用的是ubuntu cuda作为基础镜像,并没有专门使用英伟达Jetson平台的L4T基础镜像,导致在容器里初始化CUDA一直失败,做了一些实验,同样的代码同样的可执行文件在容器外就可以初始化成功,使用L4T作为基础镜像就没有问题,英伟达L4T基础镜像Github上L4T镜像Dockerfile同时启动选项中要加上
docker run --gpus all
或者
docker run --runtime=nvidia
或者使用
nvidia-docker
作为启动项.原因推测的话使用官方的基础镜像CUDA 挂载才是正确的,有知道的大神可以补充。
ARM平台的适配问题
这里主要有两点问题