DSP开发文档

DSP简介

地平线J6处理器中包含两个DSP核,时钟频率为1GHz,使用的是Cadence公司的Tensilica Vision Q8 DSP IP。

Vision Q8 DSP专用于支持计算机视觉或图像处理等算法,超长指令字(VLIW)与单指令多数据流(SIMD)可以很大程度提升计算的速度。Vision Q8 DSP采用5路VLIW架构,每条指令最多可以包含两个64字节加载或一个64字节加载和一个64字节存储;SIMD支持1024bit的操作,如:128路8位整型,64路16位整型等。更多关于Vision Q8 DSP的信息,可参见Cadence的Vision Q8 用户手册。

DSP拥有强大的计算能力,在使用得当的情况下,将一些不能用BPU加速且ARM低效的计算部署到DSP上可以大大提高模型的推理性能。

Linux开发环境安装

开发工具介绍

Xtensa Xplorer是Cadence为客户提供的针对其DSP进行软件开发的一个集成开发环境,具有软件开发(software development)、编译(compile)、调试(debugging)、仿真(simulation)、性能分析(profiling)、硬件跟踪(hardware trace)等功能。本开发文档中将只介绍Linux开发环境的安装,Windows开发环境的安装使用可参考Cadence提供的官方文档。

安装DSP工具链以及配置核

您可以从地平线获取DSP开发包,开发包中包含 Xplorer-9.0.17-linux-x64-installer.binVision_Q8_linux.tgz 安装包。

  1. 安装 Xtensa Develop Tools

这里我们默认将 Xtensa Develop Tools 安装在 /opt/xtensa 目录下,您也可以自行指定其他目录。若安装在 /opt/xtensa 目录则需要root权限。执行如下命令:

chmod 777 Xplorer-9.0.17-linux-x64-installer.bin ./Xplorer-9.0.17-linux-x64-installer.bin \ --mode unattended \ --prefix /opt/xtensa
  1. 安装 Vision Q8 Core Configuration

Vision_Q8_linux.tgz 安装包解压,解压后将其放在 Xtensa Develop Tools 安装目录下指定位置(如:/opt/xtensa/XtDevTools/install/builds/RI-2021.7-linux/ ),放到指定位置后进行安装。安装需要执行如下命令:

tar -zxvf vdsp_builds/Vision_Q8_linux.tgz \ && mv RI-2021.7-linux/Vision_Q8/ /opt/xtensa/XtDevTools/install/builds/RI-2021.7-linux/ \ && rm -rf RI-2021.7-linux /opt/xtensa/XtDevTools/install/builds/RI-2021.7-linux/Vision_Q8/install \ --xtensa-tools /opt/xtensa/XtDevTools/install/tools/RI-2021.7-linux/XtensaTools/
  1. 配置环境变量

为保证 Xtensa Develop Tools 的正常使用,您需要设置以下环境变量:

# set license server export LM_LICENSE_FILE=port@serverip # set default core export XTENSA_CORE=Vision_Q8 export XTENSA_ROOT=/opt/xtensa/XtDevTools/install/tools/RI-2021.7-linux/XtensaTools/ export PATH=$PATH:$XTENSA_ROOT/bin
注解

Xtensa Develop Tools 的使用需要正确配置License,申请和配置方式请联系地平线项目对接人。

  1. Xtensa Develop Tools 测试

执行如下两个命令,如果此两命令可以正常执行,则表明linux开发环境安装成功:

xt-clang --help # cross compiler xt-run --help # simluator

DSP开发参考资料

为了更好地进行DSP开发,我们建议您参考以下文档,编译器安装成功后,以下文档可在路径 XtDevTools/downloads/RI-2021.7/docsXtDevTools/install/builds/RI-2021.7-linux/Vision_Q8/html/ISA 下找到:

编号文档名称及描述文档目录
1Vision Q8 DSP 介绍文档visionq8_ug.pdf
2Dev Toolkit 使用介绍文档sw_dev_toolkit_ug.pdf
3Compiler 使用介绍文档xtensa_xt_clang_compiler_ug.pdf
4Xi Library 文档,位于XI_Library_7.14.2.xws 工程 Doc目录XI_Library_UserGuide.pdf
5Profiler 使用说明文档gun_profiler_ug.pdf
6Vision Q8 DSP 指令NewISAhtml/index.html