1. A method comprising: identifying ( 102 ), by a system at runtime, different types of hardware processing resources available in the system; receiving ( 104 ), in the system, requests to perform corresponding tasks; and in response to the requests, selecting ( 106 ), by the system, based on a predetermined policy, corresponding ones of the different types of hardware processing resources to perform the tasks, wherein the predetermined policy specifies load balancing of tasks across the different types of hardware processing resources and indicates which types of hardware processing resources are preferred for respective ones of the tasks.