|
In the decade leading to 2001, Intel CPUs went from 33-MHz to 3-GHz, a thousand-fold increase in speed. In the decade since, they’ve been stuck at 3-GHz. Instead of faster clock speeds, they’ve been getting more logic. Instead of one instruction per clock cycle, they now execute four (“superscalar”). Instead of one computation per instruction, they now do eight (“SIMD”). Instead of a single CPU on a chip, they now put four (“multi-core”). However, desktop processors have been stuck at four cores for several years now. That’s because the software is lagging. This post talks about scaling code past the four-core limit.
|
|
|
|
|
Ever heard of Cilk ?
It's based on worker threads that steal work when they have nothing to do, and it's a much easier concept to grasp than directly managing locks and multi-threaded details yourself.
It's been implemented in Java and C++ (Intel Cilk plus site has some documentation and downloads)
Just run your existing code using cilkview to estimate how it might scale up.
Original code is available from the originators (cilk-arts)
More parallel coding info here:
https://computing.llnl.gov/tutorials/parallel_comp/
Q. Hey man! have you sorted out the finite soup machine?
A. Why yes, it's celery or tomato.
modified 24-Feb-13 17:42pm.
|
|
|
|