English | 中文 | Русский | Français
2,595 Posts served
8,341 Conversations started
I'm back from Supercomputing '07. Gone is the heyday of wacky hyper-dimensional topologies and strange new architectures like the Connection Machine. Clusters built from commodity parts have become the ubiquitous denizens of the High Performance Computing (HPC) ecological niche. The Precambrian explosion seems to be over.
The environment directs evolution. It was good to walk around the exhibits and be reminded of how different the HPC environment is from desktop parallelism, and how TBB differs somewhat in its focus compared to classic HPC.
Though the supercomputers seemed dully alike, there was a corner with "disruptive technologies". Any of these could radically change the environment, and thus future evolution of computers. Four of them were based on using different physics than traditional computers:
It will be interesting to see which of these technologies survive and how they mutate, and which ones disrupt the ecosystem.
| November 18, 2007 12:08 PM PST
Arch Robison (Intel) | When I was working on KAI C++, our vision was to make C++ as fast as Fortran. We, in conjunction with some smart metaprogrammers, were closing in. See http://www.oonumerics.org/blitz/benchmarks . Alas, after Intel acquired KAI, no company continued to pursue this vision. In principle, C++ with the C99 keyword <code>restrict</code> enables about the same degree of optimization as Fortran, albeit there are still some problems because of the lack of true multidimensional arrays in C++. |
| November 20, 2007 12:31 AM PST
Xavier Warin |
I'm a dinosaur (former fortran developper) using MPI for my soft. In fact i use both TTB and MPI. I was a KAI C++ user, and i developp everything using blitz. I don't think the industry is ready to developp chips with hundred of cores inside. So the best solution for the next years is MPI AND multi thread (i moved from boost::thread to tbb this summer) Question : can we use TBB with xls compiler ? |
| November 20, 2007 10:42 AM PST
Arch Robison (Intel) | You mean the spreadsheet compiler at http://www.exceltranslator.com ? That's an intriguing thought, but I have not tried it. |
| November 20, 2007 10:44 PM PST
Xavier Warin |
Sorry i wanted to mean xlc (IBM c++ compiler). Our soft run on Blue Gene machine. But i didn't know about this spreadsheet compiler. I will ask people who do a lot of excel to test it. |
| November 21, 2007 2:17 PM PST
Arch Robison (Intel) | Urs von Matt contributed a TBB patch for AIX that deals with the weak memory consistency model on the Power architecture. See http://softwarecommunity.intel.com/isn/Community/en-US/forum..... 41979.aspx . Those changes will be integrated into the next developer release. Because the patch was for AIX, I do not know whether it is relevent to Blue Gene or not. What OS does Blue Gene run? |
| November 22, 2007 2:41 AM PST
Xavier Warin | It is a modified (i think) Linux OS. |
| November 26, 2007 2:47 PM PST
Arch Robison (Intel) |
I read up on Blue Gene at http://www.supercomp.org/sc2002/paperpdfs/pap.pap207.pdf . It's a distributed memory architecture, and even on a given node, the two cores are not cache coherent. So TBB won't work for it. Sounds like MPI is the only practical way to go for Blue Gene. When we first designed TBB, we discusded whether to support distributed memory architectures or not. The consensus was to not support distributed memory, because of the much higher burden on the programmer. E.g., having to marshal complex data structures. That high burden is appropriate for programming multi-million dollar HPC machines, but not for the kind of desktop machines that we are targeting with TBB. Have fun programming it - I kind of miss programming the monster machines. |
| November 23, 2008 2:23 AM PST
shachris23
|
Hi Arch and Xavier.. Speaking of Blitz++, dont you guys think that it's a perfect (or almost perfect) array/matrix container that the C++ community could offer? I've gone through so many opensource array/matrix containers out there (Boost's multi-array, STL's valarray, SPUC/TNT, VSIPL++, StlSoft's pod_vector and fixed_array123d) that I think in terms of performance, intuitive ease-of-usage, and documentation, Blitz++ is probably the best we can get right now. It would be really nice if Intel picks up/investigates/supports such library like Blitz++ so that the C++ community could finally have the de facto standard for array/matrix container (finally!). C-style array has its merit in terms of performance...but I think parallelism and compiler optimization combined probably offset the maintenance, readability, AND extensibility cost we have to pay for using C-style array Just my thought though...(btw, I'm not from Blitz++!) |

UX-admin
As well as he should, for as long as Fortran programs and Fortran compilers produce the fastest binary code.
I wish we learned Fortran at the university instead of Java. I wish there were more people in the IT industry which knew Fortran.