Difference between revisions of "BeagleBoard/GSoC/2021ProposalTemplate"

From eLinux.org
Jump to: navigation, search
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
[[Category: GSoCProposal2021]]
 
[[Category: GSoCProposal2021]]
  
=[[BeagleBoard/GSoC/Proposal|Proposal]] =
+
=[[BeagleBoard/GSoC 2021/OpenGLES acceleration for DL]] =
{{#ev:youtube|Jl3sUq2WwcY||right|BeagleLogic}} <!-- latest video will go here -->
+
 
 
About
 
About
''Student'': [http://elinux.org/User:student new student]<br>
+
''Student'': [https://elinux.org/User:Yadnik_Bendale Yadnik Bendale]<br>
''Mentors'': [http://elinux.org/User:Jkridner Jason Kridner]<br>
+
''Mentors'':Hunyue Yau <br>
''Code'': https://github.com/deebot/Beaglebone-BidirectionBus<br>
+
''Code'': N/A<br>
''Wiki'': http://elinux.org/BeagleBoard/GSoC/ProposalTemplate<br>
+
''Wiki'': N/A<br>
 
''GSoC'': [https://summerofcode.withgoogle.com/archive/2016/projects/4885400476712960/ GSoC entry]<br>
 
''GSoC'': [https://summerofcode.withgoogle.com/archive/2016/projects/4885400476712960/ GSoC entry]<br>
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
Line 17: Line 17:
  
 
=Proposal=
 
=Proposal=
Please complete the requirements listed on the [http://bbb.io/gsocideas ideas page] and fill out this template.
+
I have completed all the project requirements listed on the [https://elinux.org/BeagleBoard/GSoC/Ideas-2021 ideas list] and have opened the pull request [https://github.com/jadonk/gsoc-application/pull/150 here].
  
 
==About you==
 
==About you==
''IRC'': Freenode IRC nickname<br>
+
''IRC'':Yadnik Bendale<br>
''Github'': Github account<br>
+
''Github'':[https://github.com/Yadnik1 Yadnik1]<br>
''School'': School name<br>
+
''School'':[https://www.djsce.ac.in/ Dwarkadas J Sanghvi College Of Engineering]<br>
''Country'': Country<br>
+
''Country'': India <br>
''Primary language'' (We have mentors who speak multiple languages): Language<br>
+
''Primary language'':English,Hindi,Marathi<br>
''Typical work hours'' (We have mentors in various time zones): 8AM-5PM US Eastern<br>
+
''Typical work hours'':9AM-9PM IST<br>
''Previous GSoC participation'': Tell us why you want to participate in GSoC here. Also, provide list of URLs for any previous GSoC participation with any organizations.
+
''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==
 
==About your project==
''Project name'': Super Awesome Project<br>
+
''Project name'': OpenGLES acceleration for DL<br>
  
 
===Description===
 
===Description===
In 10-20 sentences, what are you making, for whom, why and with what technologies (programming languages, etc.)? (We are looking for open source SOFTWARE submissions.)
+
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===
 
===Timeline===
Provide a development timeline with a milestone each of the 11 weeks and any pre-work. (A realistic timeline is critical to our selection process.)
+
Provide a development timeline with a milestone each of the 11 weeks and any pre-work.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 76: Line 76:
  
 
===Experience and approach===
 
===Experience and approach===
In 5-15 sentences, convince us you will be able to successfully complete your project in the timeline you have described.
+
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.<br>
 +
I have been consistently taking part in all the contests on [https://www.hackster.io/ Hackster.io] and had also won a prize in the Deep Learning Superhero Challenge there for my work on [https://www.hackster.io/366411/human-count-3d3e30 Making a People Counter] using the OPENVINO Toolkit.I have also been a part of the [https://innovate.mygov.in/swadeshi-microprocessor-challenge/ Swadeshi Microprocessor Challenge],where my team has entered the semi-finals for making an [https://drive.google.com/file/d/1cUXsZgCFhaSb163hZCSgGZFxTxJB8953/view?usp=sharing 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 [https://drive.google.com/file/d/1ZFUKZiWzTqZkLpZXuWrf6fAWsixUILbz/view here].<br>
 +
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 [http://cansatcompetition.com/ Cansat Competetion],where I am responsible for the entire sensor subsystem integration,writing flight software code and data telemetry using the zigbee protocol.<br>
 +
In accordance with the project I had implemented a few GLSL sample programs on the Raspberry Pi 4.The documentation can be found [https://docs.google.com/document/d/1EdPm3CJwF-mw2t6qzoCcGpCXi0hWQZkA6ZBNzK8NA-Q/edit here].<br>
 +
I have thoroughly gone through [https://openglbook.com/the-book.html TheOpenGLbook],[https://www.oreilly.com/library/view/deep-learning-for/9781788295628/ Deep Learning for Computer Vision] and documentation from the Khronos Group which provided me invaluable clarity towards the project.<br>
 +
Hence,I am confident that I will be able to complete the project in the stipulated time.
 +
 
  
 
===Contingency===
 
===Contingency===
What will you do if you get stuck on your project and your mentor isn’t around?
+
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.<br>
 +
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.<br>
 +
In such a case few references i would like to refer are:<br>
 +
1)[https://www.oreilly.com/library/view/deep-learning-for/9781788295628/ Deep Learning for Computer Vision]<br>
 +
2)[https://deeplizard.com/ DEEPLIZARD]<br>
 +
3)[https://thebookofshaders.com/ The Book of Shaders]<br>
 +
4)Research papers in Hardware acceleration,Computer Vision and Deep Learning domain pertaining to the scope of the project.<br>
 +
 
  
 
===Benefit===
 
===Benefit===
If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat.
+
<!-- If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat. -->
 +
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.<br>
 +
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)<br>
 +
-Hunyue Yau aka ds2<br>
  
 +
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.<br>
 +
-Saketha Ramanujam S.S. aka sakethr98<br>
 
==Misc==
 
==Misc==
Please complete the requirements listed on the [[BeagleBoard/GSoC/Ideas#General_requirements|ideas page]]. Provide link to pull request.
+
I have completed the requirements stated in the ideas page,the cross compilation task can be found [https://github.com/Yadnik1/gsoc-application/tree/myapp/ExampleEntryJasonKridner here] and the created the pull request can be found [https://github.com/jadonk/gsoc-application/pull/150 here]
  
 
===Suggestions===
 
===Suggestions===
 
Is there anything else we should have asked you?
 
Is there anything else we should have asked you?

Revision as of 10:41, 6 April 2021


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