2. 板卡架构升级与编译环境安装指南



  • 板卡架构升级与编译环境安装指南

    通过本教程,用户能够了解或掌握:

    1. CAISA2.0架构的特性
    2. 如何将雨人FPGA加速卡硬件架构升级到CAISA2.0
    3. Linux系统下编译环境和编译工具的安装方法

    Note:
    1. 本教程中的硬件架构升级方法仅针对于雨人FPGA加速卡V3.1

    2. 本教程中Linux环境下编译环境的安装目前仅提供CPU版本。
    3. 由于后续我们将停止对16bit板卡的支持,建议用户按照教程升级或重装编译环境。

    1.CAISA2.0架构

    相比于CAISA2.0架构在保持原先架构高性能的优势上,提供了对常用算子的支持,提高了FPGA加速卡的可用度。详细的算子列表如下:

    DNN Support Matrix

    2.资料下载

    Note:
    1. 我们建议windows用户使用已经预装好编译环境和Tensorflow的虚拟机镜像。
    2. Linux用户可以跳过本教程的3.1节,根据3.2节中的步骤安装对应的编译环境。
    3. 在点击链接时可能会出现此链接不存在的报错,建议用户手动复制链接。

    windows用户 下载链接
    CAISA2.0板卡升级包 http://cloud.corerain.com:8082/share.cgi?ssid=0g4xklF
    VirtualBox https://www.virtualbox.org/wiki/Downloads
    虚拟机镜像 http://cloud.corerain.com:8082/share.cgi?ssid=0BNlb7f
    Linux用户 下载链接
    CAISA2.0板卡升级包 http://cloud.corerain.com:8082/share.cgi?ssid=0g4xklF
    Hands_on实验包 http://cloud.corerain.com:8082/share.cgi?ssid=0Tq853Q

    3.加速卡升级

    3.1 文件描述

    板卡升级的文件夹中有三个文件:cr_librainman.rbf.binimage_classifier

    • rainman.rbf.bin是用于配置FPGA的网表,描述了CAISA2.0架构中FPGA内逻辑、运算等单元的连接关系。
    • cr_lib为CAISA2.0架构中需要更新的库。
    • image_classifier为与训练好的Resnet模型,可用于进行板卡的升级验证,

    3.2 板卡连接

    1. 将雨人FPGA加速卡放在平坦且不导电的表面上。
    2. 将雨人FPGA加速卡上的以太网端口直接连接到主机PC的以太网端口。
    3. 通过USB Type-C接口为加速器板供电。我们建议使用5V 2A手机充电器为电路板供电。 PC或笔记本电脑的USB端口可能无法提供所需的充足和稳定的电量。
    4. 然后加速器板正常供电,板上(SD卡附近)的绿色LED亮起。如果使用带风扇进行散热的版本,正上电之后,风扇开启。

    board.PNG

    在主机系统中,必须手动将以太网配置到和雨人FPGA加速卡同一网段下,否则无法连接雨人FPGA加速卡,配置参数如下:

    设置
    本地主机IPv4 192.168.123.10
    网络掩码 255.255.255.0
    雨人V3板卡IP地址 192.168.123.8

    Linux系统设置方法如图

    avatar

    Note:
    windows用户需要修改网络连接方式。
    配置好网络后,打开虚拟机的网络设置,将网卡的连接方式从网络地址转换(NAT)更改为桥接网卡
    choose ethernet card.PNG

    之后打开命令行,使用以下命令登录板卡:

    ssh root@192.168.123.8
    

    再输入密码letmein,回车即可登陆板卡。

    如下图所示,当出现#时说明已经成功登录板卡。

    ssh

    3.3 操作方法

    通过ssh命令登录进板卡后,在桌面上打开新的终端,使用如下命令将rainman.rbf.bin文件和cr_lib拷贝至板卡中。

    sudo scp rainman.rbf.bin root@192.168.123.8:/workspace
    sudo scp -r cr_lib root@192.168.123.8:/
    

    之后进入板卡中rainman.rbf.bin文件所在路径,依次执行如下命令:

    flashcp -v rainman.rbf.bin /dev/mtd3    #将rbf文件烧写指板卡指定分区中
    reboot                                  #重启板卡
    

    至此,板卡的硬件架构已经从CAISA1.0升级到了CAISA2.0。

    3.4 升级验证

    为了验证升级是否成功,用户可将image_classifier文件夹通过scp命令拷贝至板卡中。在桌面上打开新终端,进入image_classifier所在路径,输入如下命令:

    scp -r image_classifier root@192.168.123.8:/
    

    拷贝完成后,进入在板卡中的image_classifier文件夹,并执行./run.sh脚本,当屏幕开始滚动出现如下画面时,说明您已经顺利完成了板卡的架构升级。

    test

    4.环境安装

    4.1 虚拟机的安装

    Note:
    1. 在加载系统镜像之前,用户需要确认主机是否禁止了虚拟化。
    2. 由于本系统镜像预先分配的主机内存为5076MB,CPU数量为4,主机内存为4GB的用户可以在VirtualBox中的设置->系统->主板/处理器中调节适合自己电脑的资源配置。

    下载好镜像之后,我们需要在VirtualBox的菜单栏中选择管理,点击选择导入虚拟电脑,将镜像导入VirtualBox中运行。系统镜像名为Corerain Lab V4.ova

    import-image

    4.2 在Linux中安装编译环境

    我们在docker中预装了适用于CPU的编译环境,用户仅需依次执行以下命令,将docker中pull到自己的主机上即可。

    sudo docker pull corerain/cr-deployment:cpu_190516
    
    sudo docker run \
    --name Rainbuilder \
    --network host \
    --ipc=host
    -v ${主机某文件绝对路径}:{docker路径} \   
    --privileged=true \
    -it 46d6502307e4 \
    bash
    
    • -v:将主机上的文件夹映射到docker中去,使用示例为: -v /home/corerain/workspace:/workspace
    • privileged:使container内的用户拥有root权限

    由于docker和主机已经建立了双方workspace文件的映射,因此在主机中的workspace进行文件的移动、删除等操作,都会同步映射到docker的workspace中来。

    Note:
    我们建议用户在/home目录下创建一个workspace文件夹,将下载下来的Hands_on文件夹放置在/workspace文件夹中,方便进行文件映射。
    当然,用户也可以执行指定需要建立映射的文件夹。

    执行结束之后会自动进入docker,可以在docker中输入以下命令来验证Rainbuilder已经成功安装。

    python -c "import pyRbRuntime"
    RbCli --help
    

    执行之后的结果应分别显示如下:


    用户可以通过在docker中输入exit来退出docker。同时,需要注意的是,每次重启主机之后,都需要输入以下命令来重新登录docker。

    sudo docker start Rainbuilder
    sudo docker exec -ti Rainbuilder bash
    


  • @Corerain 好的,非常感谢



  • Hi @chong, 虚拟机中已经包含了Rainbuilder编译环,因此可以直接使用,不需要再下载docker了。这里我们提供docker的目的是为了提供给那些原本主机系统就是linux的用户使用的。



  • 你好,我装的虚拟机镜像版本是corerain Lab V4.ova, 但是并没有docker的环境,是需要自己安装docker,然后按照Linux用户的操作,将docker中pull到自己的主机上,是这样吗?



  • @苏航 已经解决换低版本tensor1.5即可



  • 2019-07-29 05:42:23.918328: F tensorflow/core/platform/cpu_feature_guard.cc:37] The TensorFlow library was compiled to use AVX instructions, but these aren't available on your machine.
    Aborted (core dumped)菜鸟一枚,麻烦问一下这个错误怎么解决呢



  • @Frank 是不是因为原来你的板卡上没有workspace这个文件夹,导致scp命令将文件传进去之后更名为一个workspace的文件。
    这种情况有两种解决方法,第一个是使用在板卡中使用mkdir workapce命令,创建一个workspace文件夹,之后再执行scp拷贝命令。
    第二种是直接拷贝到root文件夹下scp -r image_classifier root@192.168.123.8:/



  • @Corerain 你好,我可能没有说明白,我终端显示的是

    scp: /workspace: Not a directory
    

    板子和电脑是连在一起的,ping通了,我是拿另一个电脑回复的



  • @Frank 你可以在桌面上打开一个新终端,输入如下命令,之后回车执行即可

    sudo scp -r [image_classifier的绝对路径] root@192.168.123.8:/workspace
    


  • 你好,关于步骤3.4

    scp -r image_classifier root@192.168.123.8:/workspace
    

    这个直接提示没有指定目录呀,这是为什么,我看那个workspace文件夹是绿色的啊


登录后回复
 

  • 9
  • 4
  • 5
  • 1
  • 1