Expert programmers may be able to juggle these things for CPU-GPU interactions and dual-core set ups but I think the problems increase exponentially with core number. It may become too complex to optimize fully some problems beyond 4 cores or so but machines running software will have a better chance of being rigorous and avoiding software deadlocks and race conditions than humans.
Game platform programmers (at least the good ones) are already very adept at multicore programming. Likewise for hardcore embedded guys. The real win here is for the other 99% of the programming population.
NASA's Orion Flight Software Production Systems Manager Darrel G. Raines joins Planet Analog Editor Steve Taranovich and Embedded.com Editor Max Maxfield to talk about embedded flight software used on the Mars on EE Times Radio. Live radio show and live chat. Get your questions ready.