Any Google Summer of Code 2021 Project Ideas?

Hello Chapel community!

As we have for the past five years, Chapel is looking to submit an application to participate in the Google Summer of Code (https://summerofcode.withgoogle.com/how-it-works/). To that end, if any of you have ideas for Chapel projects that students could work on over the summer, we would love to hear them! We have a number of ideas already but are always looking for more. If you suggest an idea, we'll try to find a mentor to carry the idea forward through the summer.

Note that this year the projects need to be smaller to match the smaller time commitment expected by the program.

We need to have an initial list of projects put together by this Thursday (the 18th) for our application. Feel free to respond to this thread, or to message the soon-to-be-created GSoC channel with your ideas!

Thank you for your time,
Lydia Duncan

P.S. For reference, here's a link to last year's project list: Project Ideas List — Chapel GSoC 1.0 documentation

1 Like

I found some ideas that have already been submitted as Feature Request issues on github. Many of these are too small to be a whole project, but two or three related ones could be grouped together.

comm/timing diagnostics:

Support more flexible CommDiagnostics I/O #16958 bradcray
Implement comm diagnostics for network atomics #10124 ronawho
Combine CommDiagnostics and VisualDebug #5919 ben-albrecht
Improve maintainability of "comm count" tests #6137 ronawho
(at least the idea in the description, maybe not the later commentary.)
Feature request : timing annotations #15878 npadmana
Implement monotonic timers #7536 ronawho

proposed modules / bindings:

Provide Stochastic Gradient Descent in some ML package #6847 buddha314
Develop Probability distributions a' la R, SciPy, Spark, etc #6852 buddha314
Chapel bindings for GSL - GNU's Probability and Statistics Library #12743 LouisJenkinsCS
(At least begun by npadmana)
Support Pandas-like DataFrame #7187 buddha314
(Not sure what's left after #9042)
Improving Crypto module #7948 lprimeroo
Implement the Porter Stemmer in Chapel #8336 buddha314
Create a Geometry library #9069 buddha314
Improve MPI Module #5722 ben-albrecht
Improve LAPACK module #5687 ben-albrecht
Develop Logging Suite for Chapel #7556 buddha314
Feature Request: Logger framework that is parallel-safe, scalable, and distributed #10804 LouisJenkinsCS
Build REST API layer for Chapel #7584 buddha314
(Begun by marcosleison )
Support argparse-like functionality #8302 buddha314
Env module #5939 ben-albrecht

SQL or ODBC support module #6800 buddha314
Implement the Bolt Protocol for DB communication #7069 buddha314
(Existing CDO project proposal may cover these?)

Create a mutex/lock library #9881 ronawho

iterators:

Feature Request: Utility 'unique' function that removes duplicate elements from an iterable #10665 LouisJenkinsCS
Add dense followers to sparse arrays/domains #13452 bradcray
Add DefaultRectangular iterators that iterate in CMO #11377 daviditen

development integration:

Support Jupyter Kernel for Chapel #7414 buddha314
Create Language Server #7295 marcoscleison
Python interop: Expose Chapel records as Python objects #14420 ben-albrecht

language/compiler:

Support 'in' as an infix operator for membership test #5034 ben-albrecht
Request: select-when with compound when clauses #15048 BryantLam
Add support for serial leader iterators #13665 bradcray
short string optimization #11221 mppf