1. A method, implemented at a computer system that includes a plurality of data parallel devices, for developing data for debugging a data parallel program, the method comprising: an act of executing a plurality of data parallel kernels at a data parallel environment, including executing at least one data parallel kernel at each of a plurality of data parallel devices in the data parallel environment, wherein each data parallel kernel operates at least one corresponding thread; and an act of a debugger engine interfacing with the data parallel environment and, for at least one of the plurality of data parallel kernels, formulating one or more objects that represents the execution of said data parallel kernel in the data parallel environment, wherein the one or more objects include one or more of: a program object that represents data parallel functionality of said data parallel kernel, wherein the program object includes a first interface that allows information regarding said data parallel kernel to be discovered through a debugger user interface module; a thread group object that represents functionality of a group of threads operating at said data parallel kernel, wherein the thread group object includes a second interface that allows information regarding the group of threads to be discovered through the debugger user interface module; a thread object that represents a thread operating at said data parallel kernel, wherein the thread object includes a third interface that allows information regarding the thread to be discovered through the debugger user interface module; or a thread vector object that represents a thread vector of a group of operating at said data parallel kernel and that are executing the same instruction, wherein the thread vector object includes a fourth interface that allows information regarding the thread vector to be discovered through the debugger user interface module.