MentorGagandeep Singh (czgdp1807)
Project Website
Project Repository
Suitable for Beginners?yes
Tagsmachine-learning-algorithms cpp11 google-test cuda boost-python
Applications (1st Choice)11 (11 submitted | 0 in-progress)
Applications (2nd Choice)15 (15 submitted | 0 in-progress)
Code of Conduct
LicenseBSD 3-Clause "New" or "Revised" License (BSD-3-Clause)

Project Description

We are some machine learning enthusiasts who aim to implement the adaboost algorithm from scratch.
We will provide GPU support for computations in the algorithm using CUDA C.
We have used as our base for the implementation.

The following people will be available for guiding the students during the duration of the program,

  1. Gagandeep Singh
  2. Vedansh Priyadarshi.
  3. Anukriti Jha.

Our organisation has participated in various open source programs including KWoC, 2019 organized by KOSS, IIT Kharagpur and amDeC, 2019 organized by amFOSS, Amrita Vishwa Vidyapeetham, Amritapuri.

Learning outcomes

Other than various software engineering principles like software design, testing, the following will be the learning outcomes of the project:

  1. CUDA C/C++ - Students will learn how to write optimized code for GPU devices using the CUDA C/C++ framework.
  2. Google Test - Students will learn to write tests using Google Test framework.
  3. CMake - We use CMake for building our project. Since, students will be writing everything from scratch, so they learn how to write scripts using CMake.
  4. If possible, students will also learn writing Python wrappers for C++ using Boost.Python.

Project's Requirements

The following is expected from the aspiring students:

  1. Ability to program in C++, familiarity with OOP in C++ preferred.
  2. Ability to read and understand various papers related to AdaBoost algorithm. This will require knowledge of Matrices, a bit of Probability/Statistics.

Tasks And Features

The following can be a expected timeline,

  1. Refactoring code base and APIs for using non-default streams - 2 weeks
  2. Adding GPU code for operations(like, Sum) - 2 weeks.
  3. After that we will start implementing the algorithm for CPU(train, inference) - 3 weeks.
  4. Parallelizing operations for CPU - 2 weeks
  5. Implementing the algorithm for GPU - 2 weeks.
  6. Completing documentation and wrapping up - 1 week.

In addition, you will be expected to write weekly blogs describing your work done in that week.

If you are thinking of applying to this project for RGSoC 2020 and have any questions, feel free to contact the project mentor by leaving a comment below or using the following channels:
1. Gitter -
2. Linkedin -
3. Email - or


You must be logged in to comment on this project.

Gagandeep Singh, Tuesday, March 31, 05:58 UTC


Thanks for submitting your application.

Keep contributing!

Muskan Jaiswal, Sunday, March 29, 19:03 UTC

Hello Team adaboost , We Team_Muskan are interested in your project and willing to work on it . We both are proficient in coding in C++ and are familiar with oop in c++. We meet the above mention requirements. We are looking forward to contribute.

Pakhi2001, Sunday, March 29, 15:12 UTC

I would like to contribute in this project. willing to learn anything that can help to contibute in this project.Please help me get started.

Pakhi2001, Sunday, March 29, 15:12 UTC

I would like to contribute in this project. willing to learn anything that can help to contibute in this project.Please help me started

Gagandeep Singh, Sunday, March 29, 13:56 UTC


This message is the final reminder for submitting your application to avoid last minute rush.
This tweet has a nice checklist which you can go through before submitting your application.
Some students have told me that even after satisfying all the requirements they were unable to submit their draft application. In that case, please send an email to and if you want you can keep me in CC.

Only for those who DO NOT have GPU on their system/laptop, you may consider trying out following free services to avail limited number of GPU hours,

  1. Floydhub - 2 hours of GPU runtime for free.
  2. Crestle - 1 hour of GPU runtime for free.

Siddhant Pathak, Friday, March 27, 13:18 UTC

Hello Team Adaboost. I am a data scientist at a leading gaming industry based in India. The skills required for this project match with my domain. So I would like to coach / mentor your team. Feel free to DM me through linkedin at linkedin/siddhant96

Gagandeep Singh, Monday, March 23, 11:16 UTC


Please let me know if you don't have access to GPUs so that proper arrangements can be made on time.

There are many free of cost solutions available so do not worry if you do not have access to GPUs. What matters more is the correctness of the code you write during the summers and that will be merged after all the tests pass which can be done on any system having GPUs. I have one, so not a thing to worry about but do let me know so that things can be planned accordingly.

Gagandeep Singh, Monday, March 23, 11:05 UTC


I am writing this message to highlight a few points,

Deadline - As you might be knowing that the deadline for applying is just a week away, as of writing this message. The exact date and time is Tuesday, March 31 2020 at 03:29:00 IST(Indian Standard Time). Please convert the same to your time zone. So, I would suggest to start finalising your application and be early.
Making contributions - Making contributions to this project before the beginning of official coding period(expected to start from July) is not a necessity, however, you can if you want to. In addition, I'd suggest you to go through,
Project ideas - I have updated the project description with some of the ideas under Tasks and features. Take a look at them. If you have some ideas in your mind then feel free to discuss with me.
Adding coaches - I have got to know that submitting applications to a project requires coaches to be added beforehand. So, if there is a need please feel free to send us an invite on RGSoC website. Coaches are me(Gagandeep Singh), Vedansh Priyadarshi and Anukriti Jha.

In addition, if you have any query, doubts just discuss with me. My contact information is given at the end of the project descriptions given at RGSoC website.

Best wishes, stay safe and work from home as much as you can.

tea-n-biccies RGSoC, Friday, March 20, 13:42 UTC

Dear RGSoC applicants - we have added a new FAQ page to the website. Please check this out before asking mentors your questions, as we may already have an answer for you :)

Further details of how to apply to RGSoC (by 23:00 UTC on 30 March 2020) can be found at

Shreeya Pahune, Thursday, March 19, 16:45 UTC

Hi Gagandeep,
We are team Transponsters and looking are foward to contribute to adaboost. I am Shreeya Pahune and my teammate is Tanvi Kamble.
We are looking forward to contribute and have begun looking through the github repo for the same.

Divija Palleti, Thursday, March 19, 06:06 UTC

I'm Divija. My teammate Niharika and I would love to contribute. We both have experience working in research, industry and in the open-source before. We're familiar with most of the tech mentioned. Please do let us know what further information you'd like to know about our past experience and how we can get started?

Gagandeep Singh, Wednesday, March 11, 17:01 UTC


I would like to clarify a few things for the participants interested in this project for RGSoC, 2020 through this message.

As per this tweet the official working period starts from July, so making contributions isn't a necessity till your acceptance to the program. For getting accepted, you have to submit your application as described in the steps given at this link before 31st March, the official deadline.

For now, you can discuss the API designs of the various components of the adaboost algorithm you want to work on once the working period starts. You can also discuss with me if you are having some new ideas relevant to the project. My contact information is given at the end of the project description. Vedansh Priyadarshi and Anukriti Jha will be the remote coach for this project.

Please feel free to ask your doubts/queries.

Best wishes.

Gagandeep Singh, Monday, March 9, 18:17 UTC

Hi Monika,

Knowledge of machine learning isn't a requirement for this project.


Monika Jha, Monday, March 9, 17:26 UTC

Me and my team mate does not have any prior experience in Machine Learning but we are well versed with c++ and the math you mentioned . So we wanted to know whether we should apply for this project or not.
Your quick response will be appreciated.

Gagandeep Singh, Monday, March 9, 12:07 UTC

Hi Joey,

All of the work on this project will happen remotely irrespective of the locations. All of the discussion will happen on Github and Gitter. To keep track of the progress we recommend you to write weekly blogs which in fact will also be helpful for developers/contributors in future.
Meetings are less of a concern, what matters is that your work should be reflective of the dedication. Just keep the mentors updated about your progress so that we can avoid last minute hustle.
Best wishes.

Joey, Friday, March 6, 00:52 UTC

Hi, I'd like to know more about this project and specifically about the location requirements of the mentor; is remote mentoring to 2 different locations ok for this project (teammates located in different cities, meeting with both of us at the same time)? Thank you!