The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Apr. 21, 2020
Filed:
Jun. 01, 2018
Apple Inc., Cupertino, CA (US);
Ohad Frenkel, Cupertino, CA (US);
Eric O. Sunalp, Los Gatos, CA (US);
Dustin J. Greene, San Jose, CA (US);
Alp Yucebilgin, San Mateo, CA (US);
Domenico Troiano, Santa Clara, CA (US);
Maximilian Christ, Sunnyvale, CA (US);
Andrew M. Sowerby, San Francisco, CA (US);
Lionel Lemarie, San Mateo, CA (US);
Sebastian Schaefer, Beckenham, GB;
Apple Inc., Cupertino, CA (US);
Abstract
A Resource Dependency Viewer for graphics processing unit (GPU) execution information is disclosed. The Resource Dependency Viewer provides profiling/debugging information concurrently with information about execution flow, resource utilization, execution statistics, and orphaned resources, among other things. A user-interactive graph ('dependency graph') may be provided via a graphical user interface to allow interactive analysis of code executed on a GPU (e.g., graphics or compute code). Resource utilization and execution flow of encoders may be identified by analyzing contents of a GPU workload representative of a GPU execution trace to generate the dependency graph. Information about dependencies and execution statistics may be further analyzed using heuristics to identify potential problem areas. The dependency graph may include visual indicators of these problem areas. Results oriented navigation from the dependency graph and other visual panes provide debugging navigation techniques different than a debugging interface configured to 'step' through code or provide static analysis.