coralnpu项目 - 01 初始化

· 学习 · 创客

今天部署了一下基础的coralnpu环境google-coral/coralnpu: A machine learning accelerator core designed for energy-efficient AI at the edge.,因为是google的项目,构建工具选用了bazel(6.2.1)。

由于国内的网络环境原因,构建docker镜像的过程中, curl -fsSL https://bazel.build/bazel-release.pub.gpg 命令会失败。建议在本地网络环境构建后,推送镜像到aliyun的容器仓库服务中,再使用实验室服务器拉取aliyun上镜像。

在本地构建过程中,代理软件打开TUN模式(仅仅开代理模式依旧存在curl命令失败的情况),准备好网络环境后,进入到coralnpu项目目录中运行(我使用了podman,但docker也是可以构建的):

podman build -f utils/coralnpu.dockerfile -t coralnpu:v1.0 .

构建完成本地镜像后,可以推送到aliyun,服务器同步镜像后,进行下一步操作;或者本地先跑,后续需要使用vcs等环境仿真时,再推送。

podman run -it coralnpu:v1.0 /bin/bash

进入容器后,运行:

bazel run //tests/cocotb:core_mini_axi_sim_cocotb

bazel构建的时间会比较长,因为项目比较复杂,第一次还需要拉取工具链等操作。bazel命令跑通之后,项目就初始化成功了。


上面在跑官方镜像的时候有一个问题是,镜像会直接在内部clone一个coralnpu仓库,这样不太方便后续的持续开发。好的做法是把coralnpu仓库通过volume的方式挂载到容器里面,后续改进。

coralnpu