1. In a processor having a main memory, one or more central processor units and one or more secondary processing elements, each secondary processing element having a processor and a separate local memory, a method for managing tasks to be executed by one or more of the secondary processing elements, the method comprising the steps of: under control of a task manager stored and executed on a particular secondary processing element of the one or more secondary processing elements, selecting and reading one or more task definitions stored in the main memory into the local memory of the particular secondary processing element, wherein the task definition includes a pointer to a memory address containing required code and/or data related to the task, wherein the central processor does not determine which task definition to select and read into the local memory of the particular secondary processing element; based on information contained in the one or more task definitions, loading code and/or data related to the one or more task definitions from the main memory into the local memory of the particular secondary processing element, wherein the task definitions are accessible to the one or more secondary processing element; and performing one or more tasks with the particular secondary processing element using the code and/or data.