> > I find it curious that this entire thread began with the question, "How
> > do C++ and Fortran compare for numerical programming?" It always seems
> > to come around to array performance. I suggest this reflects a curious
> > case of tunnel vision.
>
> It seems to be a fact that numerically intensive code spends a lot of time
> performing matrix maths. If this means `array performance' is the limiting
> factor in performance why it it `tunnel vision' to concentrate on it?
Does anyone have statistics to prove that average numerically intensive code
spends a majority of time doing matrix math? (Whatever average means here.)
I doubt it, for the following reasons:
1. DSP applications constitute a large fraction of numerically intensive
code. Indeed, I wouldn't be surprised if cell phones were the major
numerical cycle users these days. Typical DSP algoritms are:
(a) FFT
(b) Convolution and correlation
(c) Discrete cosine transforms
(d) Whatever I forgot (its been 6 years since I was a practicing DSP hack)
Even though these can be expressed as matrix math, they simple are
not normally coded that way, because doing so would be quite inefficient.
2. Numerical integration is another big user, and is often not matrix math.
3. Methods that gain from complexity rather than raw number crunching
are becoming popular. E.g., multigrid and other hierarchical decompositions.
Thus effort is better applied to "figuring out how to control complexity" rather
than raw number crunching speed.
4. Graphics is a big cycle user, and graphics code which is not DSP is typically
tiny matrix manipulation.
5. I/O - my guess is that more and more codes are becoming I/O bound,
as processors continue to grow in speed much faster than I/O.
6. Most numerically intensive programmers probably spend more time in the
compile-debug-edit cycle than actually running their code.
So in a sense, more numerically intensive codes probably eat up more
"integer" cycles than anything else!
- Arch (who, ironically, was at the top of his class in numerical linear algebra)
--------------------- Object Oriented Numerics List --------------------------
* To subscribe/unsubscribe: use the handy web form at
http://oonumerics.org/oon/
* If this doesn't work, please send a note to owner-oon-list@oonumerics.org
This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 03:20:11 EST