Skip to content

Commit

Permalink
Add GSoC blog post (#1405)
Browse files Browse the repository at this point in the history
  • Loading branch information
cpfiffer authored Sep 13, 2020
1 parent e1ab7e0 commit 309eeb1
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions docs/_posts/2020-09-11-gsoc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: "Google Summer of Code 2020"
author: Cameron Pfiffer
date: 2020-09-11
---

As the 2020 [Google Summer of Code](https://summerofcode.withgoogle.com/) comes to a close, the Turing team thought it would be a good opportunity to reflect on the work that was done by our superb students this summer.

[Saranjeet Kaur](https://github.com/SaranjeetKaur)'s [project](https://summerofcode.withgoogle.com/projects/#6567464390885376) focused primarily on expanding [NestedSamplers.jl](https://github.com/TuringLang/NestedSamplers.jl). NestedSamplers.jl now supports [PolyChord-style](https://arxiv.org/abs/1506.00171) nested sampling natively, which is an absolute delight. Saranjeet wrote about this [here](https://nextjournal.com/Saranjeet-Kaur/extending-nestedsamplersjl). She also provided a good tutorial on how to use NestedSamplers.jl [here](https://nextjournal.com/Saranjeet-Kaur/illustrations-of-use-of-nestedsamplersjl). The NestedSamplers.jl integration with Turing is still on-going -- integrating new samplers with Turing is one of the more difficult tasks. If you are interested to see the progress on this, check out the relevant [pull request](https://github.com/TuringLang/Turing.jl/pull/1333).

[Arthur Lui](https://github.com/luiarthur)'s [project](https://summerofcode.withgoogle.com/projects/#5861616765108224) was to provide a much-needed set of benchmarks of Bayesian nonparametric models between Turing and other PPLs. Arthur's work spawned a [GitHub repository](https://github.com/luiarthur/TuringBnpBenchmarks) with good practices for benchmarking, as well as three blog posts with some (very cool!) statistics on Turing's performance:

1. [Dirichlet Process Gaussian mixture model via the stick-breaking construction in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/dpsbgmm)
2. [Gaussian Process Regression Model in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/gp)
3. [Gaussian Process Classification Model in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/gpclassify)

Finally, [Sharan Yalburgi](https://github.com/sharanry) (a returning GSoC student) completed an epic amount of work Turing's growing suite of [Gaussian process tools](https://summerofcode.withgoogle.com/projects/#5565948129443840). In particular, the GitHub organization [JuliaGaussianProcesses](https://github.com/JuliaGaussianProcesses) was founded, and serves as an effort to build a robust Gaussian process framework for the Julia ecosystem. The framework consists of multiple GP related Julia packages:

- [KernelFunctions.jl](https://github.com/JuliaGaussianProcesses/KernelFunctions.jl) provides kernel functions for GPs as well as efficient AD for these kernels. KernelFunctions.jl also supports multi-output GPs by providing necessary data abstractions and multi-output kernels.
- [AbstractGPs.jl](https://github.com/JuliaGaussianProcesses/AbstractGPs.jl) defines GP abstractions and provides exact posteriors. It provides support for induced points based GP posteriors and for efficient sequential/online (sparse) GP updates.
- [GPLikelihoods.jl](https://github.com/JuliaGaussianProcesses/GPLikelihoods.jl) defines alternate likelihoods for Non-Gaussian GPs.
- [GPMLj.jl](https://github.com/JuliaGaussianProcesses/GPMLj.jl) provides a Julia interface for [GPFlow](https://github.com/GPflow/GPflow), a GP library written in Python using TensorFlow.

Special thanks to our three GSoC students for this summer, who all did excellent work. Additional thanks to Google for supporting open source software development and the Julia language!

0 comments on commit 309eeb1

Please sign in to comment.