1. A graphics processor comprising: one or more processing engines configured to execute one or more general-purpose computation programs; a memory management unit configured to couple the graphics processor to a memory; a core configured to execute an operating system, the operating system configured to control the memory management unit and allocate memory space to the one or more general-purpose computation programs; and a cache coupled to the memory management unit, the cache configured to be coherent with a cache of a central processing unit coupled to the graphics processor.