As an old hardware designer, I have been puzzled by the rush to multiple cores. Vector operations are limited by memory bandwidth, not processing power. With careful coding, a single core can use all the DRAM bandwidth even for something as complex as matrix multiplication. What is the use of more cores that are always starved for memory?
Caches will help, but not for operands bigger than the cache. Henry Rich Steven H. Rogers wrote: > Effectively utilizing multiple processors for arbitrary work loads is a > hard problem. Communication overhead can be come the limiting factor in > processing speed. Intel's Larabee project is delayed as they try to > solve the memory bandwidth puzzle. They can put 40 to 100 cores on a > chip, but find them starved for data because access times for general > purpose memory haven't kept up with CPU speeds. > > -- Steve > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
