Skip to Main Content
Using graphics hardware to enhance CPU-based standard desktop applications is a question not only of programming models but also of critical optimizations that are required to achieve true performance improvements. Two major hardware trends make parallel programming a crucial issue for all software engineers today: the rise of many-core CPU architectures and the inclusion of powerful graphics processing units (CPUs) in every desktop computer. Modern CPUs use the ever-increasing transistor count predicted by Moore's law not only for larger caches and improved prediction logic but also for adding more parallel execution units ("cores") per chip. Projections show that future processor generations will offer hundreds or even thousands of cores per socket. However, an application can only benefit from this development if it's prepared for parallel execution.