Blazkowicz
Legend
I have the same concern about e.g. OS kernels and regular programs not made with two pools of memory in mind, we have the luxury of just one big fat pool of memory even on multicore or SMP systems. Though for about a decade we've had NUMA on the PC, so there is actually and already some infrastructure to deal with some memory that is faster/lower latency than some other memory.
AMD also did work on coherency between APU and dGPU : not sure if it's working, but I believe that from what they've announced over the years, a Carrizo APU and GCN 1.2 external GPU would be able to share common address space (with the caveat that because of latency, that will be useful in very limited cases)
Worst case for the APU with HBM and DDR4 : the HBM is only "GPU memory", and the DDR4 is "CPU memory". That should do for an old/unmodified OS, and GPU memory if full could spill into system memory (ddr4) the old way.
Better : special HSA programs would allocate memory in such and such pool depending on the needs.
Better still : you might actually want to run some CPU code in the HBM. If HBM is lower latency, then regular CPU code might be a good deal faster as memory latency is a bad old bottleneck that doesn't get better with each DDR generation.
You might want to run some game (if this is a desktop) on the ddr4, is performance is not too important (e.g. a Valve game at 1080p), or framebuffer in the HBM and textures in the ddr4 (perhaps that latter idea works in a legacy OS if the graphics driver is managing it)
So, the dual pools of memory are a complication or source of headaches and may have you need a modified OS, or modified applications or both. and say a BIOS setting to disable either pool.
But it could be a survivable complication.
AMD also did work on coherency between APU and dGPU : not sure if it's working, but I believe that from what they've announced over the years, a Carrizo APU and GCN 1.2 external GPU would be able to share common address space (with the caveat that because of latency, that will be useful in very limited cases)
Worst case for the APU with HBM and DDR4 : the HBM is only "GPU memory", and the DDR4 is "CPU memory". That should do for an old/unmodified OS, and GPU memory if full could spill into system memory (ddr4) the old way.
Better : special HSA programs would allocate memory in such and such pool depending on the needs.
Better still : you might actually want to run some CPU code in the HBM. If HBM is lower latency, then regular CPU code might be a good deal faster as memory latency is a bad old bottleneck that doesn't get better with each DDR generation.
You might want to run some game (if this is a desktop) on the ddr4, is performance is not too important (e.g. a Valve game at 1080p), or framebuffer in the HBM and textures in the ddr4 (perhaps that latter idea works in a legacy OS if the graphics driver is managing it)
So, the dual pools of memory are a complication or source of headaches and may have you need a modified OS, or modified applications or both. and say a BIOS setting to disable either pool.
But it could be a survivable complication.