Loaded question. OpenMP may be the simplest to work with. MPI is not. The differences are that OpenMP is integrated as a set of compiler hints and is restricted to shared memory machines. MPI are explicit calls to user level communication routines, that handle data motion for you, you simply point at what to move.
I have updated a post from a while ago. Call this a rant, a vent, whatever. I am saddened that we wasted so much time on this process. This is not a mistake that will be repeated.
I like to tell people that if you design something to fail, often that is exactly what happens. Back to business.
We aren’t the only folks to notice that something is not quite right. This has more to do with how it was constructed.
Look, if you want to create jobs, you need to have investment. This requires capital. California did it by leveraging Calpers, and spending a
or, as Chris over at hpcanswers.org asks, Why did Microsoft release C#?
And what has this got to do with HPC? Quite a bit. Call it an opportunity that is currently in the state of being missed by the maker of C#. More about that in a moment.
This was the “joke” about tensors that one of my graduate school professors told us when we were trying to grok a sudden notational shift. Took some hard thinking, and then we sorta got it. Well enough to work out a problem. Hopefully to be useful in later life.
A friend who runs a very cool display company (true 3D volumetric displays, not spinning things), asked me to do a quick benchmark for him. As I was freshly done with some other GLperf stuff, I agreed. FWIW getting GLperf to compile on late model Linux is … well… interesting. Especially the 64bit versions. Lots of hardwired bits in the build. Annoying.