LWN.net Logo

GCC unplugged

GCC unplugged

Posted Nov 19, 2007 20:37 UTC (Mon) by sylware (subscriber, #35259)
Parent article: GCC unplugged

Well, the idea would not to have a fully modular gcc, but at least a C interface instead of
only the command line.
That would be nice for opengl and it's shaders which have to be compiled by the opengl libs.
That's why there is another compiler framework kicking in for mesa. Unfortunately, it's not a
GPL/LGPL licensed framework. 


(Log in to post comments)

GCC unplugged

Posted Nov 19, 2007 20:46 UTC (Mon) by bboissin (subscriber, #29506) [Link]

As long as it is compatible with mesa what is the problem ? (I think there are plans to use
llvm (BSD licencsed) with mesa).

GCC unplugged

Posted Nov 19, 2007 22:22 UTC (Mon) by drag (subscriber, #31333) [Link]

This doesn't have much to do with this article, but it seems like LLVM is going to make a big
splash in the form of OpenGL drivers for X Windows and in programmable graphics/GPU
proccessing in general.  

Take a look at Gallium3D for the new driver framework that will replace DRI. If it works out
then drivers for 3D should not only be much more simplier, but also much more feature-rich and
be able to not only support Linux and OpenGL, but a wide range of graphics APIs (maybe DirectX
or OpenVG, for example), operating systems (Windows, Linux, BSD) and GUI targets (say.. X
Windows or standalone for embedded systems)

All in all it's pretty remarkable. LLVM enters into it because it can provide a
self-optimizing path for software rendering and will help out acceleration graphics on
platforms like the Sony Playstation 3 with it's combination Nvidia GPU and Cell proccessors.

http://zrusin.blogspot.com/2007/09/gallium3d.html
http://www.tungstengraphics.com/wiki/index.php/Gallium3D

Compiler tech enters into since the GPU is no longer just a 3D graphics accelerator. It's now
more like a specific-purpose proccessor capable of extremely high levels of floating point
performance. OpenGL stacks have essentially moved back to being software-rendered, but
utilizing both the GPU and your CPU to get high performance. 

As time goes on we may start seeing things like GPUs being brought into the proccessor as
another CPU core and graphics cards providing more general x86-like APIs for programming with
them. 

Being able to take advantage of GPUs in a programmable way should allow dramatic increases in
performance for anything that utilizes a lot of floating point calculations, not just
graphics.

I figure once you get past having about 8 cores then typical desktops won't benefit from
having any more identical cores to utilize.. I think that as time goes by we will start seeing
more and more specific purpose cores to use and compilers are going to need to be good enough
to take advantage of this sort of thing through auto-vectorizing and such things. (Intel's
experimental Terrascale proccessor uses 80 cores on a die)

I donno. Having a plug-in framework for this stuff would probably come in very handy.

GCC unplugged

Posted Nov 19, 2007 23:43 UTC (Mon) by paravoid (subscriber, #32869) [Link]

Pretty interesting stuff.

I hope our beloved editor will write something up about Gallium3D soon enough :-)

GCC unplugged

Posted Nov 20, 2007 4:09 UTC (Tue) by TRS-80 (subscriber, #1804) [Link]

Apple is using LLVM for GL in OS X 10.5. No idea what license it's under.

GCC unplugged

Posted Nov 20, 2007 13:56 UTC (Tue) by drag (subscriber, #31333) [Link]

Ya, but Apple's stuff is only for software rendering on the cpu. :)

GCC unplugged

Posted Nov 26, 2007 8:46 UTC (Mon) by daenzer (subscriber, #7050) [Link]

> Take a look at Gallium3D for the new driver framework that will replace DRI.

It won't; the DRI is one environment that a Gallium3D driver can plug into.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds