对于Atlas软件的编译环境的构建方法已在我之前的博客中介绍了
https://blog.csdn.net/u011337602/article/details/103909620
仅仅是编译还不能满足我们的需求,因为我们还希望能将软件完整部署到华为泰山服务器上,
但是有一个问题就是docker如何访问atlas的硬件设备。
对于atlas来说,驱动安装成功后,会在服务器/dev目录下找到
以下设备 /dev/davinci_manager /dev/hisi_hdc /dev/davinci0如果是多块atlas卡会有/dev/davinci1 /dev/davinci2 ......
要在docker容器内访问到这些设备,就需要做docker的device映射,以下提供两种映射方法:
1、直接使用docker run 运行容器
--device=/dev/dev_name做映射
docker run -itd --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/davinci0 test/arm64_ubuntu:18.04 --name ubuntu1804
2、当使用过docker-compose做业务编排时
在docker-compose.yml中要增加devices:字段
version: '3'
services:
ubuntu1804:
container_name: ubuntu1804
image: test/arm64_ubuntu:18.04
environment:
LD_LIBRARY_PATH: /opt/Atlas300/ddk/uihost/lib:${LD_LIBRARY_PATH}
volumes:
- ./:/workspace/
- ./conf/supervisord.conf:/etc/supervisor/supervisord.conf
- ./logs/:/logs/
- /etc/localtime:/etc/localtime:ro
devices:
- "/dev/davinci_manager:/dev/davinci_manager"
- "/dev/davinci0:/dev/davinci0"
- "/dev/hisi_hdc:/dev/hisi_hdc"
network_mode: host
tty: true
restart: always
command: '/usr/bin/supervisord'