From: clyne@ncar.ucar.edu
Date: Fri
Sep 12, 2003 2:55:03 PM US/Pacific
To: jshalf@lbl.gov
(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.
jc