[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Hardware-Instruction.



> I've been reading your own papers this afternoon and one of 
> them talks about throwing away techniques that made the program faster 
> at 1 CPU, because it would lower the scaling at 512 CPUs.

Yes, there  is some truth to  that, but those were  not decisions that
are specific to CILK.  For  instance we make a few data representation
decisions that  slowed the serial program  down by less  than 10%, but
every parallel program would have been forced to deal with in some way
or another.

I don't know of anyone who  has ever compared a pure serial program to
a pure  parallel program.  Despite the  claims, the only  way this can
happen is if  someone writes the best serial  program they can without
giving ANY consideration to a parallel implementation, then converting
it in a 100% faithful way.  I believe Cilkchess is as close as you can
come to this  ideal, even though I admit that when  I wrote the serial
program, I  was keeping  the parallel implementation  in mind.   But I
assure you that there were very few compromises.

For serious academic papers, it  is important to make comparisons with
apples to apples.  You want to understand the behavior of the parallel
algorithm and you don't want to start with completely different pieces
of code.  The papers you  read were quite honest in acknowledging this
fact and  pointing out that a  pure serial version might  be written a
little  bit differently.   On  the  other hand  Vincent  claims a  40X
slowdown, and you realize that he is exaggerating.  You are being kind
when  you say he  "exaggerates" in  this case  because we  are talking
about less than a 10% difference, not a 4000% difference.


- Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/