IP Library Granted Patent US 12,498,993
Granted Patent B2
US 12,498,993 · App. 18/753,989 · Granted Dec 16, 2025

Application programming interface to locate incomplete graph code

Inventor: David Anthony Fontaine (Mountain View, CA)
Assignee: NVIDIA Corporation
G06F9/54G06F8/311G06F9/4494G06F9/543
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,498,993
App. No.
18/753,989
Granted
Dec 16, 2025
Kind
B2
Abstract

Apparatuses, systems, and techniques to identify a location of one or more portions of incomplete graph code. In at least one embodiment, a location of one or more portions of incomplete graph code is identified based on, for example, CUDA or other parallel computing platform code.

Claims (67)

1 . An acceleration processor unit (APU) comprising:

one or more core complexes, wherein the one or more core complexes include one or more central processing unit (CPU) cores;

one or more graphics complexes, wherein the one or more graphics complexes include one or more compute units (CUs);

an L2 cache;

one or more fabric interconnects;

a memory controller; and

one or more input/output (I/O) interfaces comprising a peripheral component interconnect express (PCIe) interface;

wherein:

the APU executes instructions to perform a stream get capture info (StreamGetCaptureInfo) application program interface (API) to query a stream's capture state;

wherein the StreamGetCaptureInfo API is to use:

a stream parameter to indicate the stream;

a captureStatus_out parameter to return a capture status;

an id_out parameter to indicate a unique identifier;

a graph_out parameter to return a graph being captured into;

a dependencies_out parameter to indicate a pointer to an array of nodes; and

a numDependencies_out parameter to indicate a size of the array of nodes returned in dependencies_out.

2 . The APU of claim 1 , wherein the stream is a stream in capture mode.

3 . The APU of claim 1 , wherein the captureStatus_out parameter indicates a location or a path to return the capture status.

4 . The APU of claim 1 , wherein the capture status indicates whether the stream is in capture mode.

5 . The APU of claim 1 , wherein the unique identifier is a unique identifier of a capture sequence.

6 . The APU of claim 1 , wherein the unique identifier is unique over a lifetime of an application.

7 . The APU of claim 1 , wherein the one or more CUs are to share the L2 cache.

8 . A system comprising:

memory; and

an acceleration processor unit (APU) comprising:

one or more core complexes, wherein the one or more core complexes include one or more central processing unit (CPU) cores;

one or more graphics complexes, wherein the one or more graphics complexes include one or more compute units (CUs);

an L2 cache;

one or more fabric interconnects;

a memory controller; and

one or more input/output (I/O) interfaces comprising a peripheral component interconnect express (PCIe) interface;

wherein:

the APU executes instructions to perform a stream get capture info (StreamGetCaptureInfo) application program interface (API) to query a stream's capture state;

wherein the StreamGetCaptureInfo API is to use:

a stream parameter to indicate the stream;

a captureStatus_out parameter to return a capture status;

an id_out parameter to indicate a unique identifier;

a graph_out parameter to return a graph being captured into;

a dependencies_out parameter to indicate a pointer to an array of nodes; and

a numDependencies_out parameter to indicate a size of the array of nodes returned in dependencies_out.

9 . The system of claim 8 , wherein the stream is a stream in capture mode.

10 . The system of claim 8 , wherein the captureStatus_out parameter indicates a location or a path to return the capture status.

11 . The system of claim 8 , wherein the capture status indicates whether the stream is in capture mode.

12 . The system of claim 8 , wherein the unique identifier is a unique identifier of a capture sequence.

13 . The system of claim 8 , wherein the unique identifier is unique over a lifetime of an application.

14 . The system of claim 8 , wherein the one or more CUs are to share the L2 cache.

15 . A method comprising:

performing, by an acceleration processor unit (APU), a stream get capture info (StreamGetCaptureInfo) application program interface (API) to query a stream's capture state;

wherein the StreamGetCaptureInfo API is to use:

a stream parameter to indicate the stream;

a captureStatus_out parameter to return a capture status;

an id_out parameter to indicate a unique identifier;

a graph_out parameter to return a graph being captured into;

a dependencies_out parameter to indicate a pointer to an array of nodes; and

a numDependencies_out parameter to indicate a size of the array of nodes returned in dependencies_out;

wherein the APU comprises:

one or more core complexes, wherein the one or more core complexes include one or more central processing unit (CPU) cores;

one or more graphics complexes, wherein the one or more graphics complexes include one or more compute units (CUs);

an L2 cache;

one or more fabric interconnects;

a memory controller; and

one or more input/output (I/O) interfaces comprising a peripheral component interconnect express (PCIe) interface.

16 . The method of claim 15 , wherein the stream is a stream in capture mode.

17 . The method of claim 15 , wherein the captureStatus_out parameter indicates a location or a path to return the capture status.

18 . The method of claim 15 , wherein the capture status indicates whether the stream is in capture mode.

19 . The method of claim 15 , wherein the unique identifier is a unique identifier of a capture sequence.

20 . The method of claim 15 , wherein the unique identifier is unique over a lifetime of an application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2024
From: FONTAINE, DAVID ANTHONY
To: NVIDIA CORPORATION
Reel/Frame 067836/0520 →
Continuity (3)
Continuation 17720243 · Apr 13, 2022
Provisional Application 63175004 · Apr 14, 2021
Related Publication 20240362086A1 · Oct 31, 2024
References Cited (53)
US 5689711A · Bardasz et al. · 1997 [cited by applicant]
US 6469705B1 · Belley · 2002 [cited by applicant]
US 6792595B1 · Storistenau et al. · 2004 [cited by applicant]
US 6985722B1 · Snelgrove et al. · 2006 [cited by applicant]
US 9753744B1 · Wells et al. · 2017 [cited by applicant]
US 10318013B1 · Banks et al. · 2019 [cited by applicant]
US 10474934B1 · Cosic · 2019 [cited by applicant]
US 10802807B1 · Hsu et al. · 2020 [cited by applicant]
US 10949178B1 · Russell · 2021 [cited by applicant]
US 11106757B1 · Curzi et al. · 2021 [cited by applicant]
US 11940900B1 · Zhang et al. · 2024 [cited by applicant]
US 20040111469A1 · Manion et al. · 2004 [cited by applicant]
US 20070291757A1 · Dobson et al. · 2007 [cited by applicant]
US 20100079462A1 · Breeds et al. · 2010 [cited by applicant]
US 20110082670A1 · McAuley et al. · 2011 [cited by applicant]
US 20140281727A1 · Venkataraman · 2014 [cited by applicant]
US 20150277877A1 · Feng et al. · 2015 [cited by applicant]
US 20150378697A1 · Sathyanathan et al. · 2015 [cited by applicant]
US 20180232402A1 · Bhatti et al. · 2018 [cited by applicant]
US 20180349113A1 · Boo · 2018 [cited by applicant]
US 20190068504A1 · Thambidorai et al. · 2019 [cited by applicant]
US 20190073373A1 · Surale · 2019 [cited by examiner]
US 20190129769A1 · Frech et al. · 2019 [cited by applicant]
US 20190213067A1 · Vadivelu et al. · 2019 [cited by applicant]
US 20190220403A1 · Mola · 2019 [cited by examiner]
US 20190286489A1 · Gong et al. · 2019 [cited by applicant]
US 20190370927A1 · Frenkel et al. · 2019 [cited by applicant]
US 20200310937A1 · Takeda · 2020 [cited by applicant]
US 20200348912A1 · Katzenberger et al. · 2020 [cited by applicant]
US 20200351176A1 · Venkiteswaran et al. · 2020 [cited by applicant]
US 20200366572A1 · Chauhan et al. · 2020 [cited by applicant]
US 20200371761A1 · Gupta et al. · 2020 [cited by applicant]
US 20220076432A1 · Ramezani et al. · 2022 [cited by applicant]
US 20240362086A1 · Fontaine · 2024 [cited by applicant]
US 20240362088A1 · Fontaine · 2024 [cited by applicant]
US 20240385905A1 · Fontaine · 2024 [cited by applicant]
CN 102467728A · 2012 [cited by applicant]
JP 2004236288A · 2004 [cited by applicant]
JP 2010039860A · 2010 [cited by applicant]
JP 2020192676A · 2020 [cited by applicant]
JP 2022535713A · 2022 [cited by applicant]
KR 20200011958A · 2020 [cited by applicant]
WO 2020236318A1 · 2020 [cited by applicant]
Hao et al., “On the Effectiveness of API-Level Access Control Using Bytecode Rewriting in Android,” 2013, 12 pages. [cited by applicant]
IEEE, “IEEE Standard for Floating-Point Arithmetic,” Microprocessor Standards Committee of the IEEE Computer Society, IEEE Std 754-2008, dated Jun. 12, 2008, 70 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2022/024634, mailed Jul. 25, 2022, 16 pages. [cited by applicant]
Lutz et al., “Helium: A Transparent Inter-kernel Optimizer for OpenCL,” Learning Analytics and Knowledge, Feb. 7, 2015, 11 pages. [cited by applicant]
Nguyen et al., “A Graph-based Approach to API Usage Adaptation,” ACM, 2010, 20 pages. [cited by applicant]
NVIDIA, “Cuda Runtime API,” NVIDIA, retrieved from https://docs.nvidia.com/cuda/pdf/CUDA_Runtime_API.pdf, Jan. 2022, 638 pages. [cited by applicant]
Office Action for Korean Application No. 10-2022-7016291, mailed Apr. 26, 2024, 14 pages. [cited by applicant]
Office Action for Japanese Application No. 2022-526155, mailed Oct. 29, 2024, 11 pages. [cited by applicant]
Hoan Anh Nguyen, “A Graph-based Approach to API Usage Adaptation,” OOPSLA/SPLASH '10, Oct. 17, 2010, 20 pages. [cited by applicant]
Decision of Rejection for Japanese Patent Application No. 2022-526155, mailed May 13, 2025, 9 pages. [cited by applicant]