The general-purpose CPU is undergoing its first revolution by embracing multicores operating in parallel. Such cores resemble the GPUs (graphics processing units) that provide visual processing for PCs and game consoles, with a highly parallel structure making them more efficient for a range of algorithms manipulating vectors or rows of symbols than general purpose CPUs. The even greater challenge, though, lies within the whole software development cycle, from compilers up to high level languages and re-engineering of legacy applications, mulitcore computing.