There is a very interesting article over at The Register that has some "insider" info on a new product from AMD/ATI. ATI has created a server product that will make the raw processing power of the GPU available to general applications. This has incredible implications for the GIS software field.
The advent of programmable vertex and shader processing has opened up a reverse-pandora's box in my opinion. A whole lot of good things are coming out of the ability to access the highly optimized floating point processing power available on modern GPUs. However, like the external floating point processors from the '80s there are some significant issues with using this technology.
Stream processing isn't something that is applicable to general software development, but scientific computing can use it to great advantage for problems that fit within it's scope. It is most useful for taking a large block of homogeneous data and applying fixed transforms (guided by variable parameters) on it and storing the results in a similar block of data, that resulting data can then be further processed.
For anyone in the field, the work done by McCool, et. all, at the Univ. of Waterloo on the Sh metaprogramming language has given a glimpse of what was to come. When I first read the book describing Sh, I wanted to use it immediately but found it a bit limiting due to it's static nature and the inability to treat shading programs as dynamic assets as the code you write is basically hardwired into your executable. There is, however, an intermediate format that could possibly be used as a game asset, but it is just a little too funky for use as a general purpose shader generator. This programming model fits scientific (GIS) applications much better. I'm looking forward to seeing what is coming out of AMD/ATI. We are just scratching the surface right now, I think that there needs to be more evolution in the field.
I am planning on making EarthBrowser plugins that make use of this kind of functionality in the future. All the pieces are in place right now for version 3.0, but each plugin has to be written for a specific problem domain.
Wednesday, September 20, 2006
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment