BeagleBoard/GSoC/2021ProposalTemplate

From eLinux.org
Jump to: navigation, search


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 th Beaglbonne 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

The CPU is the generic workhorse of any computer system. It is designed to handle virtually any task that can be thrown at it, but this flexibility means it’s often not the most efficient way to accomplish specific tasks, especially those that require lots of repeated math functions like video decoding or graphics rendering.

Timeline

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

Mar 30 Proposal complete, Submitted to https://summerofcode.withgoogle.com
Apr 27 Proposal accepted or rejected
May 18 Pre-work complete, Coding officially begins!
May 25 Milestone #1, Introductory YouTube video
June 1 Milestone #2
June 8 Milestone #3
June 15 18:00 UTC Milestone #4, Mentors and students can begin submitting Phase 1 evaluations
June 19 18:00 UTC Phase 1 Evaluation deadline
June 22 Milestone #5
June 29 Milestone #6
July 6 Milestone #7
July 13 18:00 UTC Milestone #8, Mentors and students can begin submitting Phase 2 evaluations
July 17 18:00 UTC Phase 2 Evaluation deadline
July 20 Milestone #9
July 27 Milestone #10
August 3 Milestone #11, Completion YouTube video
August 10 - 17 18:00 UTC Final week: Students submit their final work product and their final mentor evaluation
August 17 - 24 18:00 UTC Mentors submit final student evaluations

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 graphic card 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?