SlideShare a Scribd company logo
1 of 31
Download to read offline
Page 1System Software Lab., NCTU
Introduction to OpenVX
An open, royalty-free standard
for cross platform acceleration of computer vision applications.
Presenter: Jia-Rung Chang
Instructor: Yi-Ping You
The last modification date : 2016/08/10
Page 2System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
OpenVX relevant paper
Conclusion
Page 3System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
OpenVX relevant paper
Conclusion
Page 4System Software Lab., NCTU
What is OpenVX?
An open standard , not open source.
Do not specify the details of implementation.
For cross platform acceleration of computer
vision applications.
Every vendor can do their optimization for their
own Soc.
Ex: NVIDIA, AMD and Synopsys,etc.
Currently,only few of vendors release their
own implementation.
Page 5System Software Lab., NCTU
Vision Acceleration
Targeted at low-power, real-time applications
Mobile and embedded platforms
Portability across diverse heterogeneous
processors
ISPs, Dedicated hardware, DSPs and DSP arrays, GPUs,
Multi-core CPUs …
Doesn’t require high-power CPU/GPU Complex
Low-power host can setup and manage frame-rate
vision processing pipeline
Page 6System Software Lab., NCTU
Khronos APIs for Vision Processing
ref: http://www.slideshare.net/embeddedvision/1-c01-khronostrevett
Page 7System Software Lab., NCTU
Layered Vision Processing Ecosystem
ref: http://www.slideshare.net/embeddedvision/1-c01-khronostrevett
Page 8System Software Lab., NCTU
OpenVX and OpenCV are Complementary
OpenCV OpenVX
Implementation
Community driven open source
library
Open standard API designed to be
implemented by hardware vendors
Conformance
Extensive OpenCV Test Suite but
no formal Adopters program
Implementations must pass defined
conformance test suite to use
trademark
Consistency
Available functions can vary
depending on implementation /
platform
All core functions must be available
in all conformant implementations
Page 9System Software Lab., NCTU
OpenVX Framework Objects Definition
Context
The object domain for all OpenVX objects.
Kernel
The abstract representation of a computer vision
function
Node
An instance of a kernel that will be paired with a
specific set of the parameters.
Graph
A set of nodes connected in a directed (only goes
one-way) acyclic (does not loop back) fashion.
Page 10System Software Lab., NCTU
OpenVX Framework
ref: https://www.khronos.org/openvx/
Page 11System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
OpenVX relevant paper
Conclusion
Page 12System Software Lab., NCTU
OpenVX Status
OpenVX 1.1 Specification released in 2016 at
Embedded Vision Summit
OpenVX 1.0 in 2014
Expands node functionality AND enhances graph
framework
The sample implementation v1.1 from Khronos is
failed to build.
The sample implementation v1.0.1 from Khronos can
build,but can not fully support their own tutorial.
Official tutorial uses AMDOVX(v1.0.1) as the default
OpenVX libraries.
Page 13System Software Lab., NCTU
NVIDIA VisionWorks
The implementation for OpenVX in
VisionWorks is not open source.
Available on Ubuntu 14.04(64-bits)
Because it is not an open source project, we skip
trying it.
Page 14System Software Lab., NCTU
AMD OpenVX (AMDOVX)
The official OpenVX tutorial use AMDOVX as
the default libraries.
In the tutorial
AMDOVX has better performance than the
“Khronos sample implementation”.
The “Khronos sample implementation” version 1.1 is
failed to build on my Ubuntu16.04 platform.
With AMD GPU will get better performance,
but not necessarily.
AMD official Linux driver stop updating since 2016.
Page 15System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
Focusing on the idea, not the details.
ref:Embeded VISION ALLIANCE
OpenVX relevant paper
Conclusion
Page 16System Software Lab., NCTU
Page 17System Software Lab., NCTU
Page 18System Software Lab., NCTU
Page 19System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
OpenVX relevant paper
Does not focus on the details,but the possible
direction of research for us.
Conclusion
Page 20System Software Lab., NCTU
Graph execution model in OpenVX
Synchronous blocking mode
In that vxProcessGraph() will block until the graph
has completed
Causing the synchronous processing of a graph.
Asynchronous single-issue-per-reference mode
via vxScheduleGraph() and vxWaitGraph().
Schedules a graph for future execution
Waits for a specific graph to complete.
Page 21System Software Lab., NCTU
Graph execution model in OpenVX
Synchronous blocking mode
In that vxProcessGraph() will block until the graph
has completed
Causing the synchronous processing of a graph.
Asynchronous single-issue-per-reference mode
via vxScheduleGraph() and vxWaitGraph().
Schedules a graph for future execution
Waits for a specific graph to complete.
Page 22System Software Lab., NCTU
Scheduling Methods for OpenVX Programs
on Heterogeneous Multi-core Systems
Authors: Tzu-Hsiang Lin, Cheng-Yen Lin, and Jenq-Kuen
Lee
Department of Computer Science, National Tsing-Hua University,
Taiwan
Source: PDPTA'15
The 21st International Conference on Parallel and Distributed
Processing Techniques and Applications
Page 23System Software Lab., NCTU
Keynotes
Assumption
A linear relationship for data size and
computation time, data size and data transfer
time
The graph execution model
A directed acyclic graph (DAG) that determines
the computation process of an OpenVX application
Optimization opportunities
Dispatching graphs to a different target, such as
multicore CPUs with C, OpenMP runtime, OpenCL
on GPUs, or a dedicated hardware.
Memory locality and system throughput.
Page 24System Software Lab., NCTU
Scheduling Algorithm(Node coarsen algorithm)
Two phases
Node coarsen algorithm
– Calculating the nodes that whether belonging to specific cluster via
thier ranking algorithm,including computation time and data transfer
time between host and targets.
– vxVerifyGraph(graph)
» Nodes in the same cluster will be forced to dispatch to the same target in the
scheduling phase
» We only select the nodes which can reduce data transfer time or largely shorten the
computation time into the same cluster
Node scheduling algorithm
– Dispatching the clustered nodes.
» Otherwise, finding the most free/available target compared to the preferred targets
for the nodes, and rank both of them.
» According to the rank,dispatch it.
– vxProcessGraph(graph)
» The remaining nodes not clustered will be scheduled for the target in the
scheduling(this) phase.
Keynotes
Page 25System Software Lab., NCTU
Keynotes
Experiment results
Page 26System Software Lab., NCTU
Supporting Real-Time Computer Vision
Workloads using OpenVX on
Multicore+GPU Platforms
Authors: Glenn A. Elliott, Kecheng Yang, and James H.
Anderson
Department of Computer Science, University of North Carolina at
Chapel Hill
Source: 2015 IEEE Real-Time Systems Symposium
Page 27System Software Lab., NCTU
Keynotes
The OpenVX model imposes three significant
implications on real-time scheduling
Having no notion of a repeating (i.e., periodic or
sporadic) task, and lacks any framework for real-
time analysis.
The key issue is the allowance of “back edges” that
can create cycles in a graph.
Does not defining a threading model for graph
execution.
Requiring a graph to execute end-to-end before it
may be executed again.
Significantly hindering the ability to exploit parallelism
by “pipelining” portions of a graph’s structure
Page 28System Software Lab., NCTU
Keynotes
Implementation model
Page 29System Software Lab., NCTU
Outline
OpenVX’s role in the Khronos ecosystem
OpenVX in reality
Experience from Synopsys
OpenVX relevant paper
Conclusion
Page 30System Software Lab., NCTU
Conclusion
The Possible direction of research in OpenVX
The world-first OpenVX benchmark
Scheduling Algorithm
OpenVX in embedded/real-time system
Page 31System Software Lab., NCTU
Main References
Khronos website
May 2014 Embedded Vision Summit Technical
Presentation: Khronos
May 2016 Embedded Vision Summit Technical
Presentation: Synopsys
OpenVX tutorial(official)
AMDOVX
khronos OpenVX sample
OpenVX specification

More Related Content

What's hot

Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Introduction of android treble
Introduction of android trebleIntroduction of android treble
Introduction of android trebleBin Yang
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basicsidrajeev
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introductionWilliam Liang
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateLinaro
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Gnome on wayland at a glance
Gnome on wayland at a glanceGnome on wayland at a glance
Gnome on wayland at a glancegnomekr
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenTrinath Somanchi
 

What's hot (20)

Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Unik Slides
Unik SlidesUnik Slides
Unik Slides
 
Introduction to Linux Drivers
Introduction to Linux DriversIntroduction to Linux Drivers
Introduction to Linux Drivers
 
Introduction of android treble
Introduction of android trebleIntroduction of android treble
Introduction of android treble
 
Android Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and OrganizationAndroid Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and Organization
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Cuda
CudaCuda
Cuda
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Gnome on wayland at a glance
Gnome on wayland at a glanceGnome on wayland at a glance
Gnome on wayland at a glance
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco Heaven
 
NVIDIA CUDA
NVIDIA CUDANVIDIA CUDA
NVIDIA CUDA
 

Similar to Introduction to OpenVX

20072311272506
2007231127250620072311272506
20072311272506Vinod Vyas
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1Hajime Tazaki
 
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...Edge AI and Vision Alliance
 
Design the implementation of Anytime D Star on an Occupancy Grid
Design the implementation of Anytime D Star on an Occupancy GridDesign the implementation of Anytime D Star on an Occupancy Grid
Design the implementation of Anytime D Star on an Occupancy GridAnkita Tiwari
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
 
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role ThereinSummit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role ThereinOPNFV
 
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...Takashi Torii
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityFlorian Lier
 
"New Standards for Embedded Vision and Neural Networks," a Presentation from ...
"New Standards for Embedded Vision and Neural Networks," a Presentation from ..."New Standards for Embedded Vision and Neural Networks," a Presentation from ...
"New Standards for Embedded Vision and Neural Networks," a Presentation from ...Edge AI and Vision Alliance
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1Rubens Dos Santos Filho
 
OpenACC Monthly Highlights June 2017
OpenACC Monthly Highlights June 2017OpenACC Monthly Highlights June 2017
OpenACC Monthly Highlights June 2017NVIDIA
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...inside-BigData.com
 
Design the implementation of Forward Dynamic for PUMA560.
Design the implementation of Forward Dynamic for PUMA560.Design the implementation of Forward Dynamic for PUMA560.
Design the implementation of Forward Dynamic for PUMA560.Ankita Tiwari
 
Introduction to node.js By Ahmed Assaf
Introduction to node.js  By Ahmed AssafIntroduction to node.js  By Ahmed Assaf
Introduction to node.js By Ahmed AssafAhmed Assaf
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...Edge AI and Vision Alliance
 
Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?Mario Garcia Valdez
 
Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)IJERA Editor
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoAMD Developer Central
 

Similar to Introduction to OpenVX (20)

20072311272506
2007231127250620072311272506
20072311272506
 
2019 swan-cs3
2019 swan-cs32019 swan-cs3
2019 swan-cs3
 
Role of locking- cds
Role of locking- cdsRole of locking- cds
Role of locking- cds
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1
 
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
 
Design the implementation of Anytime D Star on an Occupancy Grid
Design the implementation of Anytime D Star on an Occupancy GridDesign the implementation of Anytime D Star on an Occupancy Grid
Design the implementation of Anytime D Star on an Occupancy Grid
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
 
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role ThereinSummit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
 
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
 
"New Standards for Embedded Vision and Neural Networks," a Presentation from ...
"New Standards for Embedded Vision and Neural Networks," a Presentation from ..."New Standards for Embedded Vision and Neural Networks," a Presentation from ...
"New Standards for Embedded Vision and Neural Networks," a Presentation from ...
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
OpenACC Monthly Highlights June 2017
OpenACC Monthly Highlights June 2017OpenACC Monthly Highlights June 2017
OpenACC Monthly Highlights June 2017
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
Design the implementation of Forward Dynamic for PUMA560.
Design the implementation of Forward Dynamic for PUMA560.Design the implementation of Forward Dynamic for PUMA560.
Design the implementation of Forward Dynamic for PUMA560.
 
Introduction to node.js By Ahmed Assaf
Introduction to node.js  By Ahmed AssafIntroduction to node.js  By Ahmed Assaf
Introduction to node.js By Ahmed Assaf
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
 
Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?
 
Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
 

Recently uploaded

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 

Recently uploaded (20)

🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 

Introduction to OpenVX

  • 1. Page 1System Software Lab., NCTU Introduction to OpenVX An open, royalty-free standard for cross platform acceleration of computer vision applications. Presenter: Jia-Rung Chang Instructor: Yi-Ping You The last modification date : 2016/08/10
  • 2. Page 2System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys OpenVX relevant paper Conclusion
  • 3. Page 3System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys OpenVX relevant paper Conclusion
  • 4. Page 4System Software Lab., NCTU What is OpenVX? An open standard , not open source. Do not specify the details of implementation. For cross platform acceleration of computer vision applications. Every vendor can do their optimization for their own Soc. Ex: NVIDIA, AMD and Synopsys,etc. Currently,only few of vendors release their own implementation.
  • 5. Page 5System Software Lab., NCTU Vision Acceleration Targeted at low-power, real-time applications Mobile and embedded platforms Portability across diverse heterogeneous processors ISPs, Dedicated hardware, DSPs and DSP arrays, GPUs, Multi-core CPUs … Doesn’t require high-power CPU/GPU Complex Low-power host can setup and manage frame-rate vision processing pipeline
  • 6. Page 6System Software Lab., NCTU Khronos APIs for Vision Processing ref: http://www.slideshare.net/embeddedvision/1-c01-khronostrevett
  • 7. Page 7System Software Lab., NCTU Layered Vision Processing Ecosystem ref: http://www.slideshare.net/embeddedvision/1-c01-khronostrevett
  • 8. Page 8System Software Lab., NCTU OpenVX and OpenCV are Complementary OpenCV OpenVX Implementation Community driven open source library Open standard API designed to be implemented by hardware vendors Conformance Extensive OpenCV Test Suite but no formal Adopters program Implementations must pass defined conformance test suite to use trademark Consistency Available functions can vary depending on implementation / platform All core functions must be available in all conformant implementations
  • 9. Page 9System Software Lab., NCTU OpenVX Framework Objects Definition Context The object domain for all OpenVX objects. Kernel The abstract representation of a computer vision function Node An instance of a kernel that will be paired with a specific set of the parameters. Graph A set of nodes connected in a directed (only goes one-way) acyclic (does not loop back) fashion.
  • 10. Page 10System Software Lab., NCTU OpenVX Framework ref: https://www.khronos.org/openvx/
  • 11. Page 11System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys OpenVX relevant paper Conclusion
  • 12. Page 12System Software Lab., NCTU OpenVX Status OpenVX 1.1 Specification released in 2016 at Embedded Vision Summit OpenVX 1.0 in 2014 Expands node functionality AND enhances graph framework The sample implementation v1.1 from Khronos is failed to build. The sample implementation v1.0.1 from Khronos can build,but can not fully support their own tutorial. Official tutorial uses AMDOVX(v1.0.1) as the default OpenVX libraries.
  • 13. Page 13System Software Lab., NCTU NVIDIA VisionWorks The implementation for OpenVX in VisionWorks is not open source. Available on Ubuntu 14.04(64-bits) Because it is not an open source project, we skip trying it.
  • 14. Page 14System Software Lab., NCTU AMD OpenVX (AMDOVX) The official OpenVX tutorial use AMDOVX as the default libraries. In the tutorial AMDOVX has better performance than the “Khronos sample implementation”. The “Khronos sample implementation” version 1.1 is failed to build on my Ubuntu16.04 platform. With AMD GPU will get better performance, but not necessarily. AMD official Linux driver stop updating since 2016.
  • 15. Page 15System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys Focusing on the idea, not the details. ref:Embeded VISION ALLIANCE OpenVX relevant paper Conclusion
  • 19. Page 19System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys OpenVX relevant paper Does not focus on the details,but the possible direction of research for us. Conclusion
  • 20. Page 20System Software Lab., NCTU Graph execution model in OpenVX Synchronous blocking mode In that vxProcessGraph() will block until the graph has completed Causing the synchronous processing of a graph. Asynchronous single-issue-per-reference mode via vxScheduleGraph() and vxWaitGraph(). Schedules a graph for future execution Waits for a specific graph to complete.
  • 21. Page 21System Software Lab., NCTU Graph execution model in OpenVX Synchronous blocking mode In that vxProcessGraph() will block until the graph has completed Causing the synchronous processing of a graph. Asynchronous single-issue-per-reference mode via vxScheduleGraph() and vxWaitGraph(). Schedules a graph for future execution Waits for a specific graph to complete.
  • 22. Page 22System Software Lab., NCTU Scheduling Methods for OpenVX Programs on Heterogeneous Multi-core Systems Authors: Tzu-Hsiang Lin, Cheng-Yen Lin, and Jenq-Kuen Lee Department of Computer Science, National Tsing-Hua University, Taiwan Source: PDPTA'15 The 21st International Conference on Parallel and Distributed Processing Techniques and Applications
  • 23. Page 23System Software Lab., NCTU Keynotes Assumption A linear relationship for data size and computation time, data size and data transfer time The graph execution model A directed acyclic graph (DAG) that determines the computation process of an OpenVX application Optimization opportunities Dispatching graphs to a different target, such as multicore CPUs with C, OpenMP runtime, OpenCL on GPUs, or a dedicated hardware. Memory locality and system throughput.
  • 24. Page 24System Software Lab., NCTU Scheduling Algorithm(Node coarsen algorithm) Two phases Node coarsen algorithm – Calculating the nodes that whether belonging to specific cluster via thier ranking algorithm,including computation time and data transfer time between host and targets. – vxVerifyGraph(graph) » Nodes in the same cluster will be forced to dispatch to the same target in the scheduling phase » We only select the nodes which can reduce data transfer time or largely shorten the computation time into the same cluster Node scheduling algorithm – Dispatching the clustered nodes. » Otherwise, finding the most free/available target compared to the preferred targets for the nodes, and rank both of them. » According to the rank,dispatch it. – vxProcessGraph(graph) » The remaining nodes not clustered will be scheduled for the target in the scheduling(this) phase. Keynotes
  • 25. Page 25System Software Lab., NCTU Keynotes Experiment results
  • 26. Page 26System Software Lab., NCTU Supporting Real-Time Computer Vision Workloads using OpenVX on Multicore+GPU Platforms Authors: Glenn A. Elliott, Kecheng Yang, and James H. Anderson Department of Computer Science, University of North Carolina at Chapel Hill Source: 2015 IEEE Real-Time Systems Symposium
  • 27. Page 27System Software Lab., NCTU Keynotes The OpenVX model imposes three significant implications on real-time scheduling Having no notion of a repeating (i.e., periodic or sporadic) task, and lacks any framework for real- time analysis. The key issue is the allowance of “back edges” that can create cycles in a graph. Does not defining a threading model for graph execution. Requiring a graph to execute end-to-end before it may be executed again. Significantly hindering the ability to exploit parallelism by “pipelining” portions of a graph’s structure
  • 28. Page 28System Software Lab., NCTU Keynotes Implementation model
  • 29. Page 29System Software Lab., NCTU Outline OpenVX’s role in the Khronos ecosystem OpenVX in reality Experience from Synopsys OpenVX relevant paper Conclusion
  • 30. Page 30System Software Lab., NCTU Conclusion The Possible direction of research in OpenVX The world-first OpenVX benchmark Scheduling Algorithm OpenVX in embedded/real-time system
  • 31. Page 31System Software Lab., NCTU Main References Khronos website May 2014 Embedded Vision Summit Technical Presentation: Khronos May 2016 Embedded Vision Summit Technical Presentation: Synopsys OpenVX tutorial(official) AMDOVX khronos OpenVX sample OpenVX specification