Google Summer of Code 2021 Projects

There might be some scope in using GPUs for accelerating some of the linear algebra aspects of the code, and it was something I’d planned to look into the future as it could definitely be worth exploring.

Some consideration would need to be given towards future scalability and code maintainability. Ideally we’d want to try and avoid duplicating code for different architectures. This may be through the use of a templating library such as Mako (pyfr is a good example that utilises it) or through a more generic library such as ArrayFire which allows for heterogeneous computing. Although I wouldn’t dismiss any thoughts regarding the use of some of the more standard CUDA libraries such as PyCUDA or CuPy, or cuda via Numba as @ascillitoe mentioned.

In fact, the CuPy approach would seem rather promising due to their work in matching a significant part of the numpy/scipy api which would make it easy to consider it as a drop in replacement for some aspects of the code and to run benchmarks. If it can be used as a drop-in replacement for the parts of the code that we want to accelerate, we might be able to use logicals to switch between numpy and CuPy imports depending on whether there is a GPU present and also with synchronize statements. I haven’t used these directly, but we’d first need to determine a candidate class/method to test and benchmark, @ascillitoe and @psesh may be able to advise.

We could potentially also move some of the data generation itself onto the GPU to reduce the amount of data passing back and forth. If you happen to have any thoughts based on a peripheral scan of the code or your experience and could note it down in a post, we could discuss the feasibility/best route to approach.

1 Like

Hi Equadratures community!
I’m Xin, a second-year PhD student from Delft University of Technology, Netherlands. My research is about efficient deep learning and computer vision. I have been following this space for a while and started getting familiar with equadratures. I found the project “Regularisation of Polynomials” to be super interesting and fitting my current experience well. Thanks for providing the micro-projects. I picked up the UCI dataset to play with the elastic-net regularisation solver. I am not sure whether we are required to submit some PR’s or Google Colab code alongside the project proposal for the application?

1 Like

Hi @SylviaX! Great to hear about your interest in equadratures and the projects. Re the PR’s here are the GSOC guidelines for the proposal: Writing a proposal | Google Summer of Code Guides. Having a few PR’s listed in GSOC proposals has become quite common for students (and some organisations require it), but as far as I am aware there isn’t a strict requirement from Google for having any (Google also review the proposals, we make the final decision on which proposals to accept depending on how many slots Google gives us).

On Google’s side, they look for quality proposals, which should demonstrate that the student has taken the time to understand the project and has the appropriate skills/interests for it. From our point of view, we don’t specifically require PR’s, and would rather receive high-quality applications where the student has taken the time to really think about the project, rather than just submit a few very minor PR’s. That being said, PR’s can be a good way to demonstrate open source coding experience and interest in the project.

Happy to discuss further if you have more queries or ideas! :slight_smile:

1 Like

Hi all,
I am Simardeep Singh Sethi, a 3rd year student from Guru Tegh Bahadur Institute of Technology, Delhi, India. I have a great interest in Machine Learning, Artificial Intelligence . I am excited to increase my knowledge of statistics and apply them by contributing to Equadratures. I have gone through the tutorials and documentation present on discourse and started working on the micro-project Sensitivity analysis of aerofoil noise. I have read about sobol-indices and gone through the blog provided, Regularisation 1: Handling real-world data to get a better understanding of the model interpretation using sobol indices. I have gone through a lot of research papers but was not able to find a formula for sound pressure levels in terms of the given parameters. Hope you can help with this.

1 Like

Hi @Simardeep27! For discussion on the aerofoil noise micro-project, its probably best if we discuss over on the relevant post here, so I’ll answer your query there. Also, feel free to create your own post on it once with questions or progress.

P.s. Thanks for this PR!

@psesh and @Nick know more about the distributions than I do so I shall wait for them to review.

1 Like

Thank you for replying, I will make sure to post any questions and my progress on that post only.

Thanks for mentioning the PR, I will wait for @psesh and @Nick for reviewing the code.

Awesome. I replied to your question over there by the way. Let me know if its still not clear!

Thanks for the clarification! I also look forward to our further discussion. :slightly_smiling_face:

1 Like