

Ask HN: Looking for an open-source project to parallelise - pufuwozu

I've just started a Parallel Programming unit at University and our major project (worth 50%) is to take an application and manually parallelise it to scale across multiple cores.<p>I'd like to do the assignment where the target:<p>* Is interesting<p>* Requires a fair amount of effort and skill<p>* Has some sort of barrier to making it parallel<p>* Is welcoming to me taking up the project<p>Does anyone know a project that fulfils most of these? The project's language or libraries aren't an issue.
======
Jtsummers
You could look into accelerating some of the common filters/operations in
programs like Audacity, GIMP or some other open source media editor.

------
jsarch
Are you looking for a project no one has done yet? Or a project to simply
learn from? As an HPC programmer I can tell you that there are lots of
scientific applications that you could try. However, I'd suggest that you
start with something manageable and known to be parallelizable so that you can
feel great when you finish it.

I think @jtsummers and @karanbhangui have the right idea, so I'd suggest
making the Apache2 mod_deflate module parallel.

------
karanbhangui
how about one of the common compression libraries like zip or gzip?

------
VanL
Try Python. There is lots of interest in getting CPython to scale across
multiple cores, but the use of refcounting to manage object lifetime and the
Global Interpreter Lock makes it hard.

If you want, you could even try to prototype using PyPy (python in python).

~~~
ggbaker
Honestly, I think this one is way beyond an undergraduate project. You aren't
the first one to think Python should be parallelized: many smart people have
tried to do it and gotten nowhere. Some of the other libraries mentioned here
will be a more reasonable size (unless "unit" means PhD :-).

~~~
pufuwozu
It's only an undergraduate subject. Python is way off limits.

Thanks for all of the suggestions guys! This has really helped a lot.

