Systems and methods for debugging an application running on a parallel-processing computer system
AssigneeGoogle Inc.
InventorsChristopher G. Demetriou, Matthew N. Papakipos, Noah L. Gibbs
Life of this patent
Estimating the term…
Abstract
A runtime system implemented in accordance with the present invention provides an application platform for parallel-processing computer systems. Such a runtime system enables users to leverage the computational power of parallel-processing computer systems to accelerate/optimize numeric and array-intensive computations in their application programs. This enables greatly increased performance of high-performance computing (HPC) applications.
Claims30
A computer-implemented method, comprising:
- at a computer having memory and a plurality of processing elements:
- receiving one or more operation requests issued by an application and directed to a parallel-processing computer system, wherein the one or more operation requests include a first operation request and a second operation request;
- generating a first set of compute kernels corresponding to a merge of the first and second operation requests;
- and
- generating a second set of compute kernels corresponding to the first operation request alone;
- and
- executing the first and second sets of compute kernels on the parallel-processing computer system, such that the first set of compute kernels can be debugged based on the execution of the second set of compute kernels.
A parallel-processing computer system, comprising:
- memory;
- a plurality of processing elements;
- and
- at least one program stored in the memory and executed by the plurality of processing elements, the at least one program including:
- instructions for receiving one or more operation requests issued by an application and directed to the parallel-processing computer system, wherein the one or more operation requests include a first operation request and a second operation request;
- instructions for generating a first set of compute kernels corresponding to a merge of the first and second operation requests;
- and
- instructions for generating a second set of compute kernels corresponding to the first operation request alone;
- and
- instructions for executing the first and second sets of compute kernels on the parallel-processing computer system, such that the first set of compute kernels can be debugged based on the execution of the second set of compute kernels.
A computer program product for use in conjunction with a parallel-processing computer system, the computer program product comprising a non-transitory computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
- instructions for receiving one or more operation requests issued by an application and directed to the parallel-processing computer system, wherein the one or more operation requests include a first operation request and a second operation request;
- instructions for generating a first set of compute kernels corresponding to a merge of the first and second operation requests;
- and
- instructions for generating a second set of compute kernels corresponding to the first operation request alone;
- and
- instructions for executing the first and the second sets of compute kernels on the parallel-processing computer system, such that the first set of compute kernels can be debugged based on the execution of the second set of compute kernels.
Dependencies are inferred from the claim text.