Date: Fri Sep 12, 2003  2:55:03 PM US/Pacific

To: (John Shalf)

Subject: Re: Question on Gaming Cards/Shaders


John Shalf writes:



Another question, you mentioned that you were taking advantage of

advanced gaming API/hardware-features like shaders to offload some

algorithms from the CPU.  However, you didn't give any examples.


Oh we just have some very simple, one-off applications that off-load

computation from the cpu to gpu. For example, we have a 2D Image Based

Flow Visualization algorithm that exploits vertex programmability to do

white noise advection. Developing this type of application within

any Diva framework I've envisioned would really push the limits of

anything we've discussed.



The relevance to requirements is whether or not we try to work in a

direction that incorporates techniques that are considered somewhat

*novel* and not currently widely used.  We could be quite conservative

and say we won't make any attempt to support such novelties (only

multires & subsetting methods... no support for view-dependent

algorithms or shader techniques).  Its partly a question of whether we

see this framework as a venue to make new/experimental techniques

available to a wider community, or if we should just encode our known

"workhorse" techniques in an interoperable manner.


I think this is liable to be one of the biggest points of contention

for us. My personal view is that top priority should be given to a

framework that supports the needs of viz application developers and

that we may not be able to accomodate every viz model/algorithm under

the sun.  Yes we want to define a system that is highly flexible, but

also one with high performance and easily extensible: three needs that

can be largely orthogonal.  At some point I think we're going to have

to agree on priorities and settle on an architecture that may be far

less than optimal for certain operations ( or may not support them at

all). Wrt new/experimental techniques, while these things are one of the

reasons I want to have this framework, some of these things just don't

play well with others and trying to support them may be too detrimental

to larger goals.