BeagleBoard/GSoC 2021/OpenGLES acceleration for DL

=BeagleBoard/GSoC 2021/OpenGLES acceleration for DL =

About Student: Yadnik Bendale Mentors:Hunyue Yau Code: N/A Wiki: N/A GSoC: GSoC entry

=Status= This project is currently just a proposal.

=Proposal= I have completed all the project requirements listed on the ideas list and have opened the pull request here.

About you
IRC:Yadnik Bendale Github:Yadnik1 School:Dwarkadas J Sanghvi College Of Engineering Country: India Primary language:English,Hindi,Marathi Typical work hours:9AM-9PM IST Previous GSoC participation: Having used many Beagleboard Products for various projects,it would be an exhilarating opportunity to contribute to Beagleboard and make a significant impact by enhancing the experience of the community providing gretear effeciency and optimisation on the Beaglbone AI.It would also be a great learning opportunity to learn under the able guidance of the mentors.This is the first time i am participating in GSoC.

About your project
Project name: OpenGLES acceleration for DL

Description
Introduction

Timeline
Provide a development timeline with a milestone each of the 11 weeks and any pre-work.

Experience and approach
I have good understanding of C,C++,Opengl and Python.I have experience working with various Develeopment Boards like a variety of Arduino,STM and Teensy boards and SBC's like Beaglebone Black,Raspberry Pi and BalenFin. I have been consistently taking part in all the contests on Hackster.io and had also won a prize in the Deep Learning Superhero Challenge there for my work on Making a People Counter using the OPENVINO Toolkit.I have also been a part of the Swadeshi Microprocessor Challenge,where my team has entered the semi-finals for making an FPGA accelerated remote vital stats monitoring device to measure SPO2, ECG and pulse rate using a technology called remote-Plethysmography. The video for the same can be found here. I have prior experience working under mentors in technical teams of my college. DJS Arya,the team I am a part of designs,manufactures and fabricates a canister size satellite for the Cansat Competetion,where I am responsible for the entire sensor subsystem integration,writing flight software code and data telemetry using the zigbee protocol. In accordance with the project I had implemented a few GLSL sample programs on the Raspberry Pi 4.The documentation can be found here. I have thoroughly gone through TheOpenGLbook,Deep Learning for Computer Vision and documentation from the Khronos Group which provided me invaluable clarity towards the project. Hence,I am confident that I will be able to complete the project in the stipulated time.

Contingency
My belief has always been to ask my mentors only after giving my best towards that respective task and is definitely the way to go in open source.I have been religiously been making notes from all the resources I encounter and based on the discussions with the mentor on irc,which will also help me connect dots and help me figure my way out in any such situation. However in a case where I am out of resources and my mentor isn't around I will divert my focus towards documentation or towards a part of the project that is not correlated to the part I am stuck with. In such a case few references i would like to refer are: 1)Deep Learning for Computer Vision 2)DEEPLIZARD 3)The Book of Shaders 4)Research papers in Hardware acceleration,Computer Vision and Deep Learning domain pertaining to the scope of the project.

Benefit
Once completed the graphics processing unit on the BeageBone AI will be utilized by hardware acceleration to allow quicker, higher-quality playback of videos and games.It will also provide better computation for performimg mathematical and sceintific calculations enabling complete utilization of the computational power of the BeagleBone AI. Hence the BeagleBone AI will have higher optimisation and power effeciency. It is somewhat of a new area for the Beagle stuff. On the Beagle, the processors have many hetrogenous cores. The goal of GLES GPGPU is to provide an offload (and maybe acceleration) for the main Cortex-A8.... being a new area - I think 2 aspects needs to be explored: timing - how bad/good is it and examples of how to do it (say, 2d conv, 1d conv, matrix mult, etc) -Hunyue Yau aka ds2

The idea is to try and run a version of yolo on one of the bb devices, preferably bbai, and look out for optimising computation and achieving higher fps. -Saketha Ramanujam S.S. aka sakethr98

Misc
I have completed the requirements stated in the ideas page,the cross compilation task can be found here and the created the pull request can be found here

Suggestions
Is there anything else we should have asked you?