The entire industry is moving towards apu's for reasons other than budget. I wish people would stop saying budget, a £100-150 apu is NOT the cheapest way to get a system up and running, it's just the cheapest way to get a decent gpu and very decent gpu for that price.
The goal of APU's is NOT budget, but performance. Intel is going APU and has shown quite categorically than anything with quicksync completely and utterly demolishes cpu alone. 5 years ago the industry tried to gpu accelerate everything and wanted to go APU, but the software platform didn't really follow so very little got accelerated. Key cases where the performance difference would be extreme, like encoding led developers to make the effort with software. WHere the performance difference wasn't as big(but would still be there) developers didn't go out of their way.
So HSA(and many other things but the main driving force today is hsa) happened. The industry needed a industry wide standard, simplified way to implement gpu acceleration without massive changes in coding, without having to optimise for every single gpu on every single platform available because it was too much work for too little gain.
Java for instance is going HSA, it has worked incredibly hard to make optimising code for acceleration as simplified for the developers as possible. So it becomes gain for very little effort, cross platform compatible at which point developers WILL code for it.
In 5 years the gpu on die won't be seen as a gpu, most of the industry regards it as a co-processor, no different to FPU/int in a cpu core, it will merely be something on die that will do certain code faster, entirely no different to some code being faster through the fpu pipeline, or using particular registers/micro op optimisation to be done faster.
The issue is of course, that today the software isn't there, and in 2-3 years it will be very wide spread. Intel won't be offering cpu only setups in 3-4 years, neither will AMD. The trouble is the time between now and then. Intel can afford the R&D on a dozen different cpu's for specific purposes, AMD can't, it's really that simple.
If they made a 8 core cpu, it would work, it would work well and it would be fast..... but if they made one today it would be replaced in under a year by a ddr4 version, then that would be replaced in under a year by a excavator version, and under a year from that, a quad/hexcore apu would be beating it in many area's where the code is accelerated.
So high R&D costs, low volume and needing to be replaced frequently doesn't really bode well for profitability. There is also the more important factor, engineers....... they are busy on other projects. If they spread them thin and focus on too many area's, they'll have worse chips and more mistakes in every project. Intel can afford to hire 1000 extra guys to work on a new project, again, AMD just can't.
I want an octo core chip Steamroller today, I'd like a hexcore apu in the future, and eventually a octo core apu... that WILL come eventually.
APU's will in the future beat by quite large margins a CPU, when and where that happens... very difficult to know, in all software, no, in lots of newer software, yes.
Another key factor is indeed HSA compatibility, to maintain full HSA compliance will probably REQUIRE an on die gpu. How can they push an industry wide standard, and code for specific compatibility, then create chips that aren't HSA compatible?
The most important question for me is, when will we start seeing hexcore apu's, maybe with a smaller gpu.
In the more distance future when we get towards, I don't know, 16 cpu cores and I don't know, 8000 shaders on die, I think we'll start seeing from Intel and AMD, various versions, get a 24 core cpu with 4000 shaders, a 16 core cpu with 8000 shaders or a 12 core cpu with 10000 shaders.
This will also be more doable due to transposers. The only sensible way to make an APU today is on one die, not package, because across package communication is a magnitude slower than on die. Transposers will change that entirely, so combining whatever size cpu with whatever size gpu you want will become very easy.