Previous Page  28 / 84 Next Page
Information
Show Menu
Previous Page 28 / 84 Next Page
Page Background

powered as such power efficiency

is also a driving requirement. This

leads to a tightly integrated solution

which, along with implementing the

image processing algorithm, is also

capable of communicating with other

sub systems or even controlling

them. This is especially the case for

drones where Size, Weight and Power

(SWaP) constraints often combine the

image processing system with other

functions such as motor control, to

create an optimal solution.

Implement ing the processing

algorithms within the cloud creates

a different series of challenges, it is

within the cloud that compute intensive

algorithms are implemented such as

deep machine learning, data analytics

and image processing. These

algorithms also face bottle necks in

memory, storage and connectivity

within the data centre limiting

performance. While the applications

implemented on the cloud may not

be real time, often they require the

ability to stream processed data in

near real time and without drop outs

to the client. This is the case in medical

and scientific imaging which needs to

be able to distribute a single image to

several clients, this cannot be limited

by bottlenecks in the system.

Stack Based Solution

Increasingly programmable logic in

the form of All Programmable FPGA

and System on Chip is being used to

address these challenges. However, to

fully leverage the capabilities provided

by programmable logic we need not

only the device but also an ecosystem

which enables development using

current industry standard frameworks

and libraries.

This is where the Reconfigurable

Acceleration Stack (RAS) and

the reVISION™ stack from Xilinx

come into play, designed to provide

acceleration at the Cloud and Edge

respectively. Both stacks are heavily

based around the new paradigm

of developing programmable logic

using High Level Synthesis (HLS)

which allows development in C / C++

/ OpenCL and System C. Combining

this HLS capability with library support

for industry standard frame works and

libraries such as OpenCV, OpenVX,

Caffe, FFmpeg and SQL enables

the necessary ecosystem to be

established.

Both RAS and reVISION stacks are

organized in three distinct layers very

similar to the OSI seven-layer model

which many engineers are familiar

with. The lowest layer of the stack is

the platform layer and it is common

to both the RAS and reVISION stack.

This is the actual hardware platform

which contains the selected FPGA or

SoC upon which the remainder of the

stack is to be implemented, although

the actual underlying technology

is different for both stacks. When

developing using reVISION the target

device comes from either the All

Programmable Zynq®-7000 SoC or

Zynq® UltraScale™+ MPSoC system

on chip families. While the RAS

platform is based upon the use of All

Programmable UltraScale™+ FPGAs,

as such there is a difference in the

remaining two levels of the stacks.

When users are developing using

the reVISION stack, the second layer

is referred to as the algorithm layer

and it is at this level they utilize the

SDSoC™ design tool combined with

commonly used open source libraries

like OpenCV, to implement the

algorithms required. Using SDSoC,

they can partition the functionality

between the processor system and

the programmable logic of the chosen

device to obtain the optimal system

performance. While the final level of

the reVISION Stack is the application

layer which again uses industry

standard frame works to create the

overall application required for the

solution.

The second level of the RAS is

the application layer, this uses the

SDAccel™ tool which again leverages

HLS to implement its application

with support for machine learning

frameworks such as Caffe, integration

with SQL environments and support

for MPEG processing using FFmpeg.

Of course, the same OpenCV libraries

and frameworks as used within the

reVISION stack can also be used at

this level if required. The final level

allows for integration within the data

centre and is the provisioning layer,

this uses OpenStack to provide the

integration required.

Implementing these stacks within

their solutions can bring about

several advantages, many of which

will be obvious, along with several

which might not be obvious at first

inspection.

Benefits of the Stack

The most obvious benefit which

comes with the implementation of both

stacks is the performance increase,

which is achieved by executing

Fig 1 and 2 - Diverse examples Cloud based Medical

Imaging and Edge based Agricultural Drone

28 l New-Tech Magazine Europe