Re: Separating algorithms from implementations (long)

westin@graphics.cornell.edu (Stephen H. Westin)
7 Sep 2000 13:02:22 -0400

          From comp.compilers

Related articles
Seprerating algorithms from implementations (long) TSharp@Serif.com (Toby Sharp) (2000-08-27)
Re: Separating algorithms from implementations (long) westin@graphics.cornell.edu (2000-09-07)
Re: Separating algorithms from implementations (long) mal@bewoner.dma.be (Lieven Marchand) (2000-09-07)
Re: Separating algorithms from implementations (long) noelw@dai.ed.ac.uk (Noel Welsh) (2000-09-08)
Re: Separating algorithms from implementations (long) joachim_d@gmx.de (Joachim Durchholz) (2000-09-08)
Re: Separating algorithms from implementations (long) toon@moene.indiv.nluug.nl (Toon Moene) (2000-09-08)
Re: Separating algorithms from implementations (long) dara_gallagher@my-deja.com (Dara Gallagher) (2000-09-09)
Re: Separating algorithms from implementations (long) jthorn@galileo.thp.univie.ac.at (2000-09-09)
[3 later articles]
| List of all articles for this month |

From: westin@graphics.cornell.edu (Stephen H. Westin)
Newsgroups: comp.graphics.algorithms,comp.compilers,comp.dsp
Date: 7 Sep 2000 13:02:22 -0400
Organization: Cornell University Program of Computer Graphics
References: 00-08-124
Keywords: design, optimize

"Toby Sharp" <TSharp@Serif.com> writes:


<snip>


> Intel's C/C++ compiler claims automatic
> vectorisation for using their SIMD extenstions, but personally (having
> tried their compiler) I certainly wouldn't trust my inner loops with
> it.


<snip>


> Then a very, very clever compiler could spend a lot of time looking at
> the algorithm description, assembling instructions into
> implementations, testing sample data, and making changes as
> appropriate.


Do you see an inconsistency between those statements? On the one hand,
you "wouldn't trust" an existing attempt at compiler cleverness, but
you posit the development of a much more clever compiler. Why do you
think a more ambitious effort would succeed where previous efforts
have, in your view, failed?


> However, the algorithm doesn't change with the CPU, so neither does
> its description. It can be recompiled later to generate a new
> implementation that benefits from the features of a new CPU.


Except, of course, that algorithms do depend on the hardware they
use. An algorithm for a massively-parallel machine will look different
from one for a single processor. And one machine might have fast
access to memory (so lookup tables and storing intermediate results is
wise), while another has small slow memory (making recalculation the
efficient choice).


<snip>
--
-Stephen H. Westin


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.