Intel's Crystal Ball Calls for More Cores in Future Processors, Tells Developers to Get Ready
The recommendation comes from a recent blog post, which Intel calls 'Unwelcome Advice.' And they're right. As Arstechnica points out, "writing programs for arbitrarily large numbers of cores is a very different task than writing programs for just a few cores." The way it stands now, developers can dissect a single-threaded application into multiple threads and assign each to a specific core. And for the time being, they can get away with doing that, but not for long.
According to Intel, developers must start writing code capable of scaling performance beyond existing core counts, so that an application that runs well on a quad-core processor will run even better on 8, 10, or even 100 cores. Like the GHz wars of yesteryear, more cores should equate to better performance. Ray tracing, a term you'll undoubtedly become more familiar with as 3D gaming continues to evolve, already scales well to additional cores, but most applications can't make the same claim, and that poses a problem.
Despite the lack of future-proof software, this isn't a case of developers being lazy. Multiple-core processors are in their infancy, and single-threaded coding has existed for so long, that both the knowledge and development tools are in need of an overhaul. Asking developers to unlearn, relearn, and create is unwelcome advice indeed, but also necessary. Otherwise, it won't matter how many cores Intel and AMD are able to squeeze under a single die, we'll still be limited by the software.
Will the software ever catch up with the hardware? Be sure and post your thoughts below.