-
Notifications
You must be signed in to change notification settings - Fork 0
GSoC_2015_plugin
- Sergey (github: lisitsyn, IRC: lisitsyn)
- Viktor (github: vigsterkr, IRC wiking)
- Heiko (github: karlnapf, IRC: HeikoS)
Difficult. You need to have:
- advanced C++ and programming skills (deep understanding of shared libraries, linking, etc)
- no fear of working with big legacy codebases
See also here
Currently, Shogun is made of a monolithic structure of classes which seems to be a bit cumbersome to extend and maintain. We consider some kind of plugin architecture as a possible way to solve these problems. Such an architecture would support dynamic behaviour of plugins: a user could download a new classifier and run it instantly without any rebuilds. In this task the student have a chance to get deep understanding of important low-level details of dynamic libraries and ABIs.
This is great a chance to speed up Shogun development and make it more flexible and easier to use. The project involves massive refactoring of all the Shogun code so you will learn how to handle big codebases (>100k LoC) which is a useful skill for any software engineer.
- First of all, we'd have to prepare for such a major change. We need to have good infrastructure to load dynamic libraries, support generic attributes and other stuff like that
- The easiest by concept but hardest by the amount of work to be done is to finally split all the Shogun code to separate dynamic modules
Welcome to the Shogun wiki!
-
[quick link GSoC 2016 projects](Google Summer of Code 2016 Projects)
-
Readmes:
-
Documents
-
[Roadmaps](Project roadmaps)
-
GSoC
- Getting involved
- Follow ups
- [2016 projects](Google Summer of Code 2016 Projects)
-
Credits