&gt; I think the emphasis on unified memory is a bit of a red herring here. In my experience, heterogeneous computing means optimizing data placement<p>Unified memory definitely doesn&#x27;t change this aspect. It just makes it a whole lot easier to do from a software engineering standpoint.<p>It is quite painful to deal with GPU buffers, memory mappings and DMA transfers. Unified memory makes this a bit easier and as an added bonus, eases latency hiding by allowing the driver to do DMA transfers transparently and reduces driver overhead from poking the CPU and GPU page tables.