Photo by Alexandre Debiève on Unsplash Photo by BENCE BOROS on Unsplash Photo by Goh Rhy Yan on Unsplash


Democratizing video analytics with Microsoft Rocket

Presentors: Ganesh Ananthanarayanan, Yuanchao Shu

Abstract: The goal of this tutorial is to bring to a wider audience a highly extensible video analytics software stack and empower everyone to build practical real-world video analytics applications with cutting edge machine learning algorithms. We will introduce Rocket, a hybrid edge-cloud live video analytics system (built on C# .NET Core), and host three hands-on labs to walk through:

  • how to setup and run the video analytics system
  • plug-in DNN models across the edge and cloud
  • develop end-to-end applications based on live videos

Tutorial participants should bring their own laptops. Laptops with CUDA-supported GPU are required. We will be providing Azure cloud services (e.g., VMs, DBs) and on-premise hardware (e.g., cameras) to all participants during the tutorial. All attendees must register in advance, to secure their place. Research experience in machine learning, computer vision is NOT required.

Ganesh Ananthanarayanan is a Principal Researcher at Microsoft Research. His research interests are broadly in systems & networking, with recent focus on live video analytics, cloud computing & large scale data analytics systems, and Internet performance. He has published over 30 papers in systems & networking conferences such as USENIX OSDI, ACM SIGCOMM and USENIX NSDI. His work on "Video Analytics for Vision Zero" on analyzing traffic camera feeds won the Institute of Transportation Engineers 2017 Achievement Award as well as the "Safer Cities, Safer People" US Department of Transportation Award. He has collaborated with and shipped technology to Microsoft’s cloud and online products like the Azure Cloud, Cosmos (Microsoft’s big data system) and Skype. He is a member of the ACM Future of Computing Academy. Prior to joining Microsoft Research, he completed his Ph.D. at UC Berkeley in Dec 2013, where he was also a recipient of the UC Berkeley Regents Fellowship.

Yuanchao Shu is currently a Senior Researcher with Mobility and Networking Research Group at Microsoft Research. His research interests lie broadly in mobile and wireless systems, networked control and optimization, and mobile security and privacy. His previous research results have been published at top-tier venues including MobiCom, MobiSys, Ubicomp, SenSys, JSAC, TMC, TPDS, USENIX Security etc. He served as Associate Editor of ACM TOSN, Registration Chair of MobiCom 19, Award Chair of ACM TURC 17/18, Publication Co-Chair of SmartCom 17, and member of TPC of MobiCom, SenSys, SEC, Globecom, ICC, EdgeSys etc. He won IEEE WCNC Best Paper Award, ACM SenSys Best Paper Runner-up Award, IEEE INFOCOM Best Demo Award, and was the recipient of ACM China Doctoral Dissertation Award and IBM PhD Fellowship.

Heterogenous computing for the Future and oneAPI (2 hours + 1 hour optional module)

Presenters: Sujata Tibrewala, Praveen Kundurthy

Abstract: The future of a connected world can be delivered on a promise of always on connectivity no matter what the access technology and underlying hardware. DPC++, part of oneAPI, provides developers with the ability to write standard C++ code for heterogeneous systems, and accelerate execution using a range of different processors including CPUs, GPUs and FPGAs. This is possible because DPC++ implements the Khronos SYCL open standard, a programming model that enables explicit parallel constructs and offload interfaces so support a wide range of architectures. In this tutorial we will introduce the concept of Edge scalability and heterogenous programming and drill down in how to program using oneAPI:

  1. oneAPI Intro Module - This module is used to introduce oneAPI, DPC++ Hello World and Intel DevCloud
    • Introduction to oneAPI (GoldDeck, oneAPI_Intro)
    • DPC++ Hello World
    • Compiling DPC++ and DevCloud Usage
  2. DPC++ Program Structure - This module introduces DPC++ program structure, mainly focuses on important SYCL class to write basic DPC++ program to offload to accelerator devices. DPC++ Program Structure
    • Classes - device, device_selector, queue, basic kernels and ND-Range kernels, Buffers-Accessor memory model
    • DPC++ Code Anotomy
    • Implicit Dependency with Accessors, Synchronization with Host Accessor and Buffer Destruction
    • Creating Custom Device Selector
  3. DPC++ New Features (optional) - This module introduces some of the new extensions added to the DPC++ like Unified Shared Memory, In-Order queues and Sub-Groups. This module will be updated as and when new extentions are added to the public releases. DPCPP_Unified_Shared_Memory, DPCPP_Sub_Groups
    • Unified Shared Memory (USM) Implicit and Explicit USM code example, in_order queues
    • Sub-Goups Quering for sub-group info Sub-group collectives Sub-group shuffle operations (DPC++ Intro, USM, Intel Advisor, Vtune, oneDPL)

Sujata Tibrewala is an Intel community development manager and technology evangelist who defines programs to enable ecosystem developers on heterogeneous computing and oneAPI. She is a co-chair for IEEE Edge Automation Platform Roadmap, for Beyond 5G Technology Roadmap. Under her leadership in the Open Source Intel Network Developer Evangelism program was nominated for Network Transformation Awards 2018, and received Edison award and Network Developer Dynamo award at Intel. She is a frequent presenter at various IEEE and industry conferences and has held positions of Director at Silicon Valley Engineering Council and TSC chair for Documentation Sub-committee Akraino. She has a Masters from IISc Bangalore and Bachelors from IIT Kharagpur and has completed an Executive Women Leadership Program from Stanford.

Praveen Kundurthy is a Developer Evangelist at Intel with over 15 years of experience in software development and optimization on Intel platforms. In his current role, he works with universities and developers to help them learn and utilize oneAPI for their projects. He has expertise in C++, C#, and Python programming languages. Over the past few years at Intel, he has worked on topics spanning artificial intelligence, storage technologies, gaming, virtual reality and Android. Praveen has a master's degree in Computer Engineering from Mississippi State University.