-
-
Notifications
You must be signed in to change notification settings - Fork 275
Improve list of SoC projects #339
Comments
I will put up concrete stuff for ComputeFramework. |
Thanks Viral! |
Thanks @jiahao for taking a really detailed look over these. FWIW, I do think that compelling proofs-of-concept / prototypes of larger projects are a fine project idea, but I agree that it can be much clearer what we do and don't expect from most of these. I think the web stuff can be broken down into:
To some extent these can be done independently, but getting enough of each part working to have a really basic proof of concept (e.g. a simple jekyll-like server) would be a great project in itself. I'd be happy to mentor if there's no one better qualified, and I expect @shashi has some thoughts too. |
@ViralBShah, do you want to edit the GPU project to incorporate recent efforts on ArrayFire? (Or will the work on ArrayFire likely make other efforts unnecessary?) |
I have been quite impressed with ArrayFire in general, since @ranjanan and I have been working with it in the last few weeks. It still does not have sparse capabilities (perhaps @pavanky can say if there is a plan), but our plan is to wrap up all of it and port the ArrayFire demos to Julia. This may mean that our focus on GPU side can be more on native codegen going forward, and we may be ok on GPU libraries. |
On the GPU side, what about a wrapper for CUSP? I know that sparse iterative solvers are on the menu on the CPU side, but this is really well-suited for the GPU. Although we have cuSPARSE, that doesn't implement the common solvers like conjugate gradient and the like, and so someone who is looking to really use sparse linear algebra has to either implement it or wrap to CUSP themselves in a CUDA kernel. Another thing that I think should be added is a better console in Juno Atom. Something to do with JunoLab/atom-ink#20, but also the issue with progress bars like at JuliaLang/julia#8064 and timholy/ProgressMeter.jl#32. A good outcome could be a more responsive console that allows for showing a progress meter (that can be used on parallel operations), or simply putting the progress bar in some window not in the console (which I would prefer so other updates could print). That would immensely help usability. Another idea is to fix up the GSL.jl wrapper since a lot of the functionality doesn't work, though I would prefer native Julia implementations for most of it. Julia functions to ptx via the LLVM was also mentioned elsewere, but that might be difficult. Depending on the release of Knights Landing, maybe some packages for usability / a standard Julia for implementing automatic offloading via MKL could be interesting projects. |
Cusp looks awesome. Have you used it? Is it reasonably ready to use and maintained? |
@ViralBShah, I haven't used it yet (been meaning to), but I keep getting linked back to it. It seems perfectly ready to use and is pretty stable with most of the new releases just matching new CUDA toolkits. PETSc uses it as the basis for the GPU methods. |
To clarify a previous point I made, I think the idea of Julia->LLVM->PTX would be awesome. It's just that I fear the number of people who could mentor such a project may be small, and it may be a big project. But with the right student/mentor combination, it could have huge impact. Overall I'm enthusiastic about better GPU tooling. |
Another thing that comes to mind is extending Julia's random number generation by making bindings to MKL VSL. These would most likely beat a native Julia implementation in terms of performance and would be very useful in scientific computing (especially once Knights Landing comes out and more things are offloaded/built with MKL). It wouldn't be too hard since they could use a lot of the implementation ideas from VML.jl. |
I believe we can close this now that GSoC project selection is well underway. Thank you everyone for their suggestions! |
Is there a way to indicate that one could be interested in serving as a On Tue, Apr 12, 2016 at 1:41 PM, Jiahao Chen notifications@github.com
Eric Ford |
@eford Yes; @MikeInnes or @shashi can invite you to participate on the Google Summer of Code website as a official mentor. |
Reviewing our current list of Summer of Code projects, I think that some of the projects should be removed and others should be significantly revised or otherwise removed entirely. IMO the projects listed in Lists 1 and 2 are far too ambitious, vague or otherwise unsuitable for a SoC project of 2-3 developer-months.
List 1: Projects which I think are unrealistic for SoC students to pursue and should be nixed
List 2: Projects worth doing but are too vague
Projects on this list have descriptions that are essentially "X is broken, fix it" or "I want X, Y, Z, three ponies, and a unicorn".
IMO these project descriptions should be whittled down in scope, so that SoC students can reasonably hope to finish something in 2-3 months, or otherwise axed.
List 3: Projects that could use cross-referencing to existing packages
This list of projects just need minor updates to the descriptions. If the authors referenced agree, I think these extant packages could be cross-referenced to existing project descriptions.
The text was updated successfully, but these errors were encountered: