systemml-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [Discuss] Google Summer of Code (GSoc) 2017
Date Fri, 06 Jan 2017 19:54:57 GMT
Hi all,

as it just came up on the ML, I want to bring this up again for general 
discussion. I think we should try to get at least one or two students 
for this year's GSOC. If you have never heard of GSOC, look here: and here:

Applications for organizations open on January 19th and it is a great 
way of introducing new people to the SystemML development and get more 
To apply, we need to propose projects for a 4-month period in which a 
student works on them full time (May - August). Each proposed project 
needs one community member to mentor it - in the end Google decides how 
many students each project gets, depending of the quality of the 
proposed ideas.
To successfully apply we need (1) good ideas for projects and (2) people 
willing to mentor those ideas.
For an initial brainstorming I suggest that we first figure out if we 
want to participate (which mainly means we need to find people willing 
to mentor projects) and then start collecting ideas. Ideas can be 
anything from infrastructure, to core development or implementation of 
new algorithms.

Here is a quick example of how a project proposal could look like:

Title: Performance Benchmarks and Experiments

Description: To make decisions about new features and the evaluation of 
old assumptions we need up-to-date performance statistics on multiple 
levels of the systems and on different architectures (local, 
distributed, GPU). The systematic evaluation of performance can be 
measured with performance tests and micro-benchmarks. In this way, 
changes to the project or alternative implementations (i.g. for 
low-level linear algebra backends) can be systematically evaluated and 
compared. (Semi-) Automated benchmarks can help make these decisions and 
challenge assumptions that were made during earlier development. In the 
course of this project, the student should build a benchmark 
infrastructure and conduct experiments, that compare different choices 
in critical parts (sparsity thresholds, BLAS backends, optimization 
decisions, etc.).

Expected Outcome: A benchmark suite than can be used to detect 
regressions or improvements in critical components of the system.

Skills required: Java/Scala, some knowledge of benchmarking; preferred: 
knowledge about high-performance-computing and/or distributed systems.

Possible Mentors: Matthias, Niketan, Nakul, Felix

Let's decide on if we want to apply as an organization!

- Felix

View raw message