I'll look into that, seems like starting point and is coarse-grained enough. Thanks.
I have spend some time looking into the Larrabee architecture and it was basically my inspiration: at some point, all these processors will probably live in the main CPU that will contain 100s of simple cores and then just a very simple hardware to actually show the buffer on the screen. Then it makes sense to have a scalable solution for software OpenGL on many cores. Ben Harper wrote: > I'm pretty ignorant of the Mesa internals, but my first stab at such a > thing would be to try and parallelize the triangle rasterizer by > splitting the framebuffer into tiles of say 64x64 pixels, and have a > queue for each of those tiles. Then, you have a pool of rasterization > threads that consume the work in each queue. You'd need to duplicate > triangles that fall into multiple tiles.. but I'm guessing that would > be the worst of the work. In case you haven't already, I would > recommend reading Intel's paper on larrabee that was presented this > year at siggraph. > > Ben > > On Thu, Oct 23, 2008 at 9:18 AM, Ioannis Papadopoulos > <[EMAIL PROTECTED]> wrote: > >> 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 >> >> -- Ioannis Papadopoulos, Ph.D. Student Department of Computer Science, Texas A&M University College Station, TX 77843-3112 ------------------------------------------------------------------------- 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