1. A method for task scheduling on an accelerated processing device (APD), comprising: enqueuing one or more tasks in a memory storage module, using enqueuing module based on the APD; and dequeuing the one or more tasks from the memory storage module using a command processor, wherein the command processor forwards the one or more tasks to the shader core.