Skip to content

GSoC 2023 Project Ideas

Matteo Ravasi edited this page Jan 17, 2023 · 21 revisions

Google Summer of Code 2023: Project Ideas for PyLops

Thank you for your interest in applying for Google Summer of Code with CuPy!

PyLops is a Python library for large-scale, matrix-free optimization built on top of NumPy and SciPy (as well as other smaller libraries in the Python ecosystem: see this Overview for more details). Currently, a GPU backend, built on top of CuPy, is also offered that completely mirrors the original CPU backend: from a user perspective, the input arrays provided to operators and solvers drive the internal working of each operator/solver (i.e., if a NumPy array is passed the entire computation is run on CPU, if a CuPy array is passed the entire computation is run on GPU).

Contributing to PyLops will help everyone in the Python ecosystem to run large-scale optimization problems seamlessly as if they were running their dense matrix counterpart using purely NumPy and SciPy routines.

This year, we are planning to accept 1 student in total and below we provide 3 possible projects we would like them to work on.

Getting Started

If you are new to PyLops and would like to become familiar with our codebase, take a look at some of our tutorials:

  • Transform 2022: Youtube video links.
  • Transform 2021: Youtube video links.
  • Swung Rendezvous 2021: Youtube video links.
  • PyDataGlobal 2020: Youtube video links.

It is also a good idea to browse through our main documentation and its tutorials and gallery.

Notes

On the student registration form, please prefix your title with PyLops: and choose N/A for "NumFOCUS proposal tag".

Projects

Project #1: Curvelets in PyLops

Description

XX

Expected Outcomes

XXX

Skills Required

XXX

Mentors

@cako @mrava87

Expected Size of Project

XX

Difficulty

XX

Project #2: MPI backend for distributed inverse problems

Description

XX

Expected Outcomes

XXX

Skills Required

XXX

Mentors

@mrava87 @cako

Expected Size of Project

XX

Difficulty

XX

Project #3: Multi-GPU backend for distributed inverse problems

Description

XX

Expected Outcomes

XXX

Skills Required

XXX

Mentors

@mrava87 @cako

Expected Size of Project

XX

Difficulty

XX

Clone this wiki locally