1. A method for debugging a data parallel environment, the method comprising: an act of instantiating a debugging module in a data parallel environment that includes at least one device, wherein the data parallel environment is running at least one process; and an act of establishing a connection between the debugging module and a process of the data parallel environment, the connection established through a debug application program interface (API) to a device independent virtual machine layer, such that when one of a set of events occurs corresponding to the process, 1) the data parallel environment notifies the debugging module of the event, 2) the process pauses execution, and 3) the data parallel environment becomes responsive to queries from the debugging module regarding the process at the device independent virtual machine layer through the API.