DeePoly ThunderImage


deepoly-tile1

Application Summary

ThunderImage is DeePoly's leadership product for image processing acceleration based on Xilinx Alveo accelerators. Leveraging ThunderImage, data center users could accelerate image processing performance up to 20X with up to 5X lower latency with consistent QoS and 10X better power efficiency, reduce the TCO by 5X.
 

Vendor Modified Size Container Version
DeePoly March 12, 2020 633 MB thunderimage_u200_v1.0

Deployment Options

This application is containerized and can be easily run in a few minutes in the cloud, or on-premises.

Cloud Services
Nimbix
  • Xilinx Rumtime: 2019.1
  • Target Platform: nx5u_xdma_201830_2
On Premises
Alveo U200
  • Xilinx Runtime: 2019.1
  • Target Platform: xdma-201830.2

Obtain an Access Key for Evaluation or Purchase

Obtain an Access Key for Evaluation

Begin your free trial and run the code sample below.

View and purchase available pricing plans for this application.

 


Start Evaluation

Follow the instructions based on your deployment method.

Nimbix

1.

Sign up for Nimbix Service

  • Go to Nimbix Cloud site to sign up : https://www.nimbix.net/contact-us
  •  Once the sign-up form has been submitted, you will receive an e-mail with instructions for setting up your Nimbix account.

2.

Application Execution


2.1 Select the Application on the Nimbix Platform

  • Sign-in to the Nimbix Platform: 

https://platform.jarvice.com/?page=compute&name=Deepoly%20ThunderImage

  • Click on the "DeePoly ThunderImage" application tile. 
  • Click on “Run ThunderImage Processing” button in the lower left of the pop-up window.

2.2 Run the Application

Use the following parameters and click on ‘Submit” button.

Machine:

  • Machine Type: nx5u_xdma_201830_2
  • Cores: 16

Parameters:

  • Access Key: Select the "cred.json" file downloaded earlier on your computer
  • Input File:  /opt/samples
  • Output File: out.raw

3.

Results

Once your job is complete, a "case_ali.webp" WebP encoded sample file will be available in Nimbix FTP.  You can use your internet browser to display it.

You can now use your own input and output folders by:

  • Uploading them on Nimbix FTP
  • Providing their paths in "Input Folder" and "Output Folder" arguments
Alveo U200

1.

Host Setup

The Xilinx Runtime (XRT) host application is supported on Ubuntu 16.04 /18.04 and CentOS 7.x.  With sudo access, use the following command to download and run the setup script:

1.1 Clone GitHub Repository for Xilinx Base Runtime

    git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime

1.2 Run the Host Setup Script

    ./host_setup.sh -v 2019.1 -p alveo-u200

Note:

  • Please wait for the installation to complete.  During this time you may need press [Y] to continue the host setup.
  • If you choose to flash the FPGA, you will need to cold reboot the local machine after the installation is completed to load the new image on the FPGA.
  • The script for host setup can be used to setup other versions XRT and shell. Please check https://github.com/Xilinx/Xilinx_Base_Runtime for more details.

Install Docker (If not installed yet)

With sudo access, use the following command to run the utility script to install docker.


1.3 Go to Xilinx_Base_Runtime utilities directory

    cd Xilinx_Base_Runtime/utilities

1.4 Run the Docker installation script

    ./docker_install.sh

2.

Application Execution

Enter the following commands in a terminal window to run the application:

2.1 Setup Environment Variables by script from Xilinx_Base_Runtime

    source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh

2.2 Pull the Docker Image

    docker pull hubxilinx/deepoly_thunderimage_alveo_u200

2.3 Run the Docker Image

Outside Mainlaind China

    docker run -v /tmp/cred.json:/opt/ThunderImage-Premium/server/cred.json -v /dev/shm:/opt/user_outputs $XILINX_DOCKER_DEVICES --shm-size=64G hubxilinx/deepoly_thunderimage_alveo_u200:latest /opt/run.sh

Description of command arguments:

 

  • -v /tmp/cred.json:/opt/ThunderImage-Premium/server/cred.json - Map local cred.json dir : container dir
  • -v /dev/shm:/opt/user_outputs - Map the local dir : container dir where input files & output files are saved
  • $XILINX_DOCKER_DEVICES - Variables set by the host setup script


Within Mainland China

    docker run -v /tmp/cred.json:/opt/ThunderImage-Premium/server/cred.json -v /dev/shm:/opt/user_outputs $XILINX_DOCKER_DEVICES --shm-size=64G hubxilinx/deepoly_thunderimage_alveo_u200:latest /opt/run.sh -r cn

3.

Results

Once your job is complete, a "case_ali.webp" WebP encoded sample file will be available in Nimbix FTP.  You can use your internet browser to display it.

You can now use your own input and output folders by using the following command:

    docker run -v /tmp/cred.json:/opt/ThunderImage-Premium/server/cred.json -v {YourInputFolder}:/opt/user_inputs -v {YourOutputFolder}:/opt/user_outputs $XILINX_DOCKER_DEVICES --shm-size=64G hubxilinx/deepoly_thunderimage_alveo_u200:latest /opt/run.sh -i /opt/user_inputs -o /opt/user_outputs