1. A computer-implemented method for managing processors as system devices, the method comprising: executing an operating system by one or more first processors included in a group of heterogeneous processors; loading a device module corresponding to one or more secondary processors included in the group of heterogeneous processors into the operating system, wherein the first processors are of a first processor type and the second processors are of a second processor type; loading an application using the operating system, the application including device-oriented instructions adapted to control the one or more of the secondary processors; setting up a device-like access path for a selected secondary processor, the device-like access path being used by the application to access the selected secondary processor; executing the application on one of the first processors; detecting a device call from the application, wherein the device call is a request from the application to load device-oriented instructions to the selected secondary processor; in response to the detecting, loading the device-oriented instructions to a system memory accessible by the selected secondary processor; performing the device-oriented instructions at the selected secondary processor; in response to the performing, storing processed data in an output buffer in the system memory; notifying the operating system that the device-oriented instructions have been performed; and reading, by the application, the processed data from the output buffer.