1. A system for launching data parallel and task parallel application threads, comprising: a global thread launcher operable to retrieve a launch request from a queue and track buffer resources associated with said launch request and allocate output buffers therefor, said global thread launcher included in a processor of said system and said queue and output buffers included in a memory of said system, wherein said global thread launcher is further configured to track any interlocks associated with said launch request; a queue manager associated with said global thread launcher and operable to store a new launch request in said queue; and a local thread launcher, separate from said global thread launcher and included in a streaming multiprocessor of said system and operable to receive said launch request from said global thread launcher, set a program counter and resource pointers of pipelines of the streaming multiprocessor and receive reports from pipelines thereof as threads complete execution.