Hi,

I'm interested in parallelizing some parts of Mesa using OpenMP. I don't 
know if anyone has tried it however I think it worths a shot.

I'm aware of pMesa, but it's not exactly what I have in mind. I'm more 
interested in seeing how well would Mesa behave in a manycore chip 
(although there is not one available currently). More specifically, I 
want to see what speedups I can get using 2-16 cores and OpenMP, without 
any hardware support. For example, on my small Core2 Duo, nVidia 8400M 
GS is 4-5x faster in OpenGL than Mesa using 1 processor in glxgears -  
theoretically, if I assume that I can parallelize decently (minimize 
OpenMP barriers, have good load balancing) with 6 cores one can match 
the nVidia chip.

Is there any profiling information to see where the most time is spend 
and what is the critical path? I'm mostly interested in loops (even 
hand-unrolled ones) and discrete tasks that could potentially be 
offloaded to an OpenMP thread.

I started looking into src/math/m_matrix.c for my first tests, but I 
need some more information such as:
1) which functions are called over and over again in real opengl 
applications (and here the actual low-level functions are the 
interesting ones, not the OpenGL API functions),
2) which parts can run in parallel (data dependencies etc),
3) if anyone else is interested in this attempt.

I'm not in favor of pthreads since: 1) you need to have a runtime system 
that schedules the tasks and does the load balancing and as such you 
might lose scalability if you don't do the best possible, 2) it is 
error-prone and 3) you have to do all the fine-tuning by hand. On the 
other hand, OpenMP is quite easy to program even for beginners, most 
major compilers support it really well and it scales very well. However, 
being a data parallelization technique, it requires some additional 
effort to force it to execute some tasks. For a starting point I think 
it is a very decent solution.

Thanks in advance,
Giannis

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to