Parallelization project (for students)
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Parallelization project (for students) | Thomas Karcher (IPD) | 08 Jul 09:59 |
CAGYqjdtnprUSOGZrO6BqPC=mLb... | 15 Jul 11:30 | |
Parallelization project (for students) | Victor Oliveira | 15 Jul 11:29 |
Parallelization project (for students) | Jon Nordby | 12 Jul 23:22 |
Parallelization project (for students) | scl | 13 Jul 07:52 |
Parallelization project (for students) | Victor Oliveira | 17 Jul 20:22 |
Parallelization project (for students)
Dear GIMP developers,
we're a team of teaching assistants at KIT Karlsruhe. We'd like to offer a hands-on parallelization course for master students of computer science in the upcoming semester, and our idea is to teach parallelization while actually parallelizing "real" software.
For this, we're looking for a suitable project - this is where GIMP comes in: We're hoping that GIMP includes an image filter or some other component that is more or less compute-intense and worth parallelizing. We aspire to provide a contribution to GIMP in form of a working patch that incorporates the parallelization we worked out.
Do you see a component in GIMP that would be suitable for us _and_ you? (I am asking you because a) I am lazy and b) as a non-GIMP-developer, I can't possibly have the insight you have or even remotely guess which component might be suitable for us _and_ of use to you once it's parallelized.)
Thanks & regards Thomas
Parallelization project (for students)
On 8 July 2013 11:59, Thomas Karcher (IPD) wrote:
Dear GIMP developers,
we're a team of teaching assistants at KIT Karlsruhe. We'd like to offer a hands-on parallelization course for master students of computer science in the upcoming semester, and our idea is to teach parallelization while actually parallelizing "real" software.
For this, we're looking for a suitable project - this is where GIMP comes in: We're hoping that GIMP includes an image filter or some other component that is more or less compute-intense and worth parallelizing. We aspire to provide a contribution to GIMP in form of a working patch that incorporates the parallelization we worked out.
Do you see a component in GIMP that would be suitable for us _and_ you? (I am asking you because a) I am lazy and b) as a non-GIMP-developer, I can't possibly have the insight you have or even remotely guess which component might be suitable for us _and_ of use to you once it's parallelized.)
Hi Thomas,
first I'd like to commend you on chosing to work on real, useful, software while teaching.
GIMP is moving towards using GEGL as its image processing engine. This
means using GEGL operations, either to directly replace existing image
processing code, or to use operations as part of a GIMP plugin or tool (or
as a minimum work on GeglBuffers).
http://wiki.gimp.org/index.php/Hacking:Porting_filters_to_GEGL
GEGL uses OpenCL to provide parallelizated operations, grep for gegl-cl.h in the source tree for examples.
A Google Summer of Code project is also taking place for porting filters from GIMP to GEGL. This work is mentored by Victor Oliviera (victorm) and done by Carlos Zubieta (zurwolf) , so you should probably check in with them. http://wiki.gimp.org/index.php/Hacking:GSoC/2013/Ideas
So if working with OpenCL is not a problem, there is plenty of suitable work. The nice thing about operations for student work is that they are self-contained and can be understood quite easily in isolation.
PS:
1) wiki pages may be out of date
2) most devs prefer IRC over email, so get on #gimp and #gegl on GimpNet
3) ask if you get stuck
Jon Nordby - www.jonnor.com
Parallelization project (for students)
On 13.07.13 at 01:22 AM Jon Nordby wrote:
A Google Summer of Code project is also taking place for porting filters from GIMP to GEGL. This work is mentored by Victor Oliviera (victorm) and done by Carlos Zubieta (zurwolf) , so you should probably check in with them. http://wiki.gimp.org/index.php/Hacking:GSoC/2013/Ideas
So if working with OpenCL is not a problem, there is plenty of suitable work. The nice thing about operations for student work is that they are self-contained and can be understood quite easily in isolation.
I fully agree with you in these two points. Yet I haven't seen much traffic in this GSoC item this year (sorry, if I'm seeing it wrong), so help might be welcome.
1) wiki pages may be out of date
Basically you're right. They are not updated immediately. Lately I've updated the GSoC page to insert more helpful references. The GEGL porting matrix is updated regularly, the last time on 07.07.2013. Updating it on every end of month and inserting the missing changes is on my list of periodic tasks. If something important is missing, I'd be grateful for suggestions.
Kind regards,
Sven
Parallelization project (for students)
On Jul 15, 2013 8:01 AM, "Victor Oliveira" wrote:
Hi Thomas,
I've been working with OpenCL in GEGL. I think there is a need in GEGL for a multi-threading codepath.
But the work necessary for it is far from trivial, I know Daniel has been working on this so I'm copying him.
On Jul 8, 2013 7:16 AM, "Thomas Karcher (IPD)" wrote:Dear GIMP developers,
we're a team of teaching assistants at KIT Karlsruhe. We'd like to offer a hands-on parallelization course for master students of computer science in the upcoming semester, and our idea is to teach parallelization while actually parallelizing "real" software.
For this, we're looking for a suitable project - this is where GIMP comes in: We're hoping that GIMP includes an image filter or some other component that is more or less compute-intense and worth parallelizing. We aspire to provide a contribution to GIMP in form of a working patch that incorporates the parallelization we worked out.
Do you see a component in GIMP that would be suitable for us _and_ you? (I am asking you because a) I am lazy and b) as a non-GIMP-developer, I can't possibly have the insight you have or even remotely guess which component might be suitable for us _and_ of use to you once it's parallelized.)
Thanks & regards Thomas
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list
Parallelization project (for students)
Ooops, sorry. I think I haven't sent the e-mail to the list. Here it is:
Hi Thomas,
I've been working with OpenCL in GEGL. I think there is a need in GEGL for a multi-threading code-path.
But the work necessary for it is far from trivial, I know Daniel has been working on this so I'm copying him.
On Sat, Jul 13, 2013 at 4:52 AM, scl wrote:
On 13.07.13 at 01:22 AM Jon Nordby wrote:
A Google Summer of Code project is also taking place for porting filters from GIMP to GEGL. This work is mentored by Victor Oliviera (victorm) and done by Carlos Zubieta (zurwolf) , so you should probably check in with them. http://wiki.gimp.org/index.**php/Hacking:GSoC/2013/Ideas
So if working with OpenCL is not a problem, there is plenty of suitable work. The nice thing about operations for student work is that they are self-contained and can be understood quite easily in isolation.
I fully agree with you in these two points. Yet I haven't seen much traffic in this GSoC item this year (sorry, if I'm seeing it wrong), so help might be welcome.
1) wiki pages may be out of date
Basically you're right. They are not updated immediately. Lately I've updated the GSoC page to insert more helpful references. The GEGL porting matrix is updated regularly, the last time on 07.07.2013. Updating it on every end of month and inserting the missing changes is on my list of periodic tasks. If something important is missing, I'd be grateful for suggestions.
Kind regards,
Sven
______________________________**_________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/**mailman/listinfo/gimp-** developer-list