Gary Whatmore Wrote:

> %u Wrote:
> 
> > Sean Kelly Wrote:
> > 
> > > Walter Bright Wrote:
> > > 
> > > > Russel Winder wrote:
> > > > > At the heart of all this is that programmers are taught that algorithm
> > > > > is a sequence of actions to achieve a goal.  Programmers are trained 
> > > > > to
> > > > > think sequentially and this affects their coding.  This means that
> > > > > parallelism has to be expressed at a sufficiently high level that
> > > > > programmers can still reason about algorithms as sequential things. 
> > > > 
> > > > I think it's more than being trained to think sequentially. I think it 
> > > > is in the 
> > > > inherent nature of how we think.
> > > 
> > > Distributed programming is essentially a bunch of little sequential 
> > > program that interact, which is basically how people cooperate in the 
> > > real world.  I think that is by far the most intuitive of any concurrent 
> > > programming model, though it's still a significant conceptual shift from 
> > > the traditional monolithic imperative program.
> > 
> > Intel promised this AVX instruction set next year. Does it also work like 
> > distributed processes? I hear it doubles your FLOPS. These are exciting 
> > times parallel computing. Lots of new medias for distributed message 
> > passing programming. Lots of little fibers filling the multimedia pipelines 
> > with parallel data. Might even beat GPU soon if Larrabee comes.
> 
> AVX isn't parallel programming, it's vector processing. A dying breed of 
> paradigms. Parallel programming deals with concurrency. OpenMP and MPI. 
> Chapel (don't know it, but heard it here). Fortran. These are all good 
> examples. AVX is just a cpu intrinsics stuff in std.intrinsics

Currently the amount of information available is scarce. I have no idea how I 
use AVX or SSE in D. Auto-vectorization? Does it cover all use cases?

So..

SSE & autovectorization & intrinsics => loops, hand written inline assembly 
parts, very small scale
local worker threads / fibers => dsimcha's lib, medium scale
local area network => the great flagship distributed message passing system, 
huge clusters with 1000+ computers?

Why is message passing system so important? Assume I have dual-core laptop with 
AVX instructions next year. Use of 2 threads doubles my processor power. Use of 
AVX gives 8 times more power in good loops. I have no cluster so the flagship 
system provides zero benefit.

Reply via email to