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.