IP Library Granted Patent US 12,450,683
Granted Patent B2
US 12,450,683 · App. 18/081,561 · Granted Oct 21, 2025

Application programming interface to provide information

Inventors: Harold Carter Edwards (Campbell, CA); Olivier Giroux (Santa Clara, CA); Jack H. Choquette (Palo Alto, CA); Gokul Ramaswamy Hirisave Chandra Shekhara (Bangalore, IN); Rui Guo (Shanghai, CN); Chao Li (Austin, TX); Vishalkumar Ketankumar Mehta (Stäfa, CH); David Dastous St. Hilaire (Lake Stevens, WA); Aditya Avinash Atluri (Redmond, WA); Apoorv Parle (San Jose, CA); Ronny Meir Krashinsky (Portola Valley, CA); Subhasmita Chakraborty (Austin, TX); Vikram Dhar (Campbell, CA)
Assignee: NVIDIA Corporation
G06T1/60G06F3/061G06F3/0625G06F3/0659G06F3/0673G06F9/3004G06F9/30087G06F9/3877G06F9/466G06F9/467G06F9/4881G06F9/541G06T1/20
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,450,683
App. No.
18/081,561
Granted
Oct 21, 2025
Kind
B2
Abstract

Apparatuses, systems, and techniques to cause information to be provided. In at least one embodiment, one or more circuits are to perform an application programming interface (API) to cause an amount of information to be accessed as a result of one or more memory transactions to be provided to one or more users.

Claims (20)

1. One or more processors, comprising, one or more circuits to perform an application programming interface (API) to cause an amount of information to be accessed as a result of one or more asynchronous memory transactions that include data movement operations, to be provided to one or more users, by updating one or more synchronization objects.

2. The processor of claim 1 , wherein the API is to track completion of the one or more asynchronous memory transactions.

3. The processor of claim 1 , wherein the one or more users comprises a thread that is to use the result, wherein the thread is to update a synchronization object using the API.

4. The processor of claim 1 , wherein the API is to update the amount of information to be accessed as a result of tracking the one or more asynchronous memory transactions.

5. The processor of claim 1 , wherein the information is to be accessed by moving the information from a first one or more memory locations to a second one or more memory locations.

6. The processor of claim 1 , wherein the information is to be accessed by moving the information from a first type of memory of a graphics processing unit (GPU) to a second type of memory of the GPU.

7. The processor of claim 1 , wherein the amount of information to be accessed is to be specified using a transaction count.

8. A system, comprising: one or more processors to perform an application programming interface (API) to cause an amount of information to be accessed as a result of one or more asynchronous memory transactions that include data movement operations, to be provided to one or more users, by updating one or more synchronization objects.

9. The system of claim 8 , wherein the API is to track completion of the one or more asynchronous memory transactions.

10. The system of claim 8 , wherein the one or more users comprises a thread that is to use the result, wherein the thread is to update a synchronization object using the API.

11. The system of claim 8 , wherein the API is to update the amount of information to be accessed as a result of tracking the one or more asynchronous memory transactions.

12. The system of claim 8 , wherein the information is to be accessed by moving the information from a first type of memory of a graphics processing unit (GPU) to a second type of memory of the GPU.

13. The system of claim 8 , wherein the amount of information to be accessed is to be specified using a transaction count.

14. A method, comprising: performing an application programming interface (API) to cause an amount of information to be accessed as a result of one or more asynchronous memory transactions that include data movement operations, to be provided to one or more users, by updating one or more synchronization objects.

15. The method of claim 14 , wherein the API is to track completion of the one or more asynchronous memory transactions.

16. The method of claim 14 , wherein the one or more users comprises a thread that is to use the result, wherein the thread is to update a synchronization object using the API.

17. The method of claim 14 , wherein the API is to update the amount of information to be accessed as a result of tracking the one or more asynchronous memory transactions.

18. The method of claim 14 , wherein the information is to be accessed by moving the information from a first type of memory of a graphics processing unit (GPU) to a second type of memory of the GPU.

19. The method of claim 14 , wherein the amount of information to be accessed is to be specified using a transaction count.

20. A non-transitory computer-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least perform the method of claim 14 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: EDWARDS, HAROLD CARTER; GIROUX, OLIVIER; CHOQUETTE, JACK H.; HIRISAVE CHANDRA SHEKHARA, GOKUL RAMASWAMY; GUO, RUI; LI, CHAO; MEHTA, VISHALKUMAR KETANKUMAR; DASTOUS ST. HILAIRE, DAVID; ATLURI, ADITYA AVINASH; PARLE, APOORV; KRASHINSKY, RONNY MEIR; CHAKRABORTY, SUBHASMITA; DHAR, VIKRAM
To: NVIDIA CORPORATION
Reel/Frame 062489/0357 →
Priority Claims (1)
WO PCT/CN2022/132533 · Nov 17, 2022 · international
Continuity (2)
Continuation PCTCN2022132533 · Nov 17, 2022
Related Publication 20240169468A1 · May 23, 2024
References Cited (149)
US 4432079A · Mackelburg et al. · 1984 [cited by applicant]
US 4571674A · Hartung · 1986 [cited by applicant]
US 4955346A · Kaneyasu et al. · 1990 [cited by applicant]
US 5487172A · Hyatt · 1996 [cited by applicant]
US 5531771A · van der Veen · 1996 [cited by applicant]
US 6510470B1 · Capelli · 2003 [cited by applicant]
US 6792931B1 · Schaar · 2004 [cited by applicant]
US 6910213B1 · Hirono et al. · 2005 [cited by applicant]
US 6956579B1 · Diard et al. · 2005 [cited by applicant]
US 7506126B2 · Lovett · 2009 [cited by applicant]
US 7634621B1 · Coon et al. · 2009 [cited by applicant]
US 7684144B1 · Goker et al. · 2010 [cited by applicant]
US 8392312B2 · Batsakis et al. · 2013 [cited by applicant]
US 8539516B1 · Wilt et al. · 2013 [cited by applicant]
US 8555035B1 · Patney et al. · 2013 [cited by applicant]
US 8692834B2 · Peterson et al. · 2014 [cited by applicant]
US 8930926B2 · Bastoul et al. · 2015 [cited by applicant]
US 9478062B2 · Clohset et al. · 2016 [cited by applicant]
US 9817585B1 · Trachtman · 2017 [cited by applicant]
US 9959074B1 · Shain et al. · 2018 [cited by applicant]
US 10223407B2 · Pijewski et al. · 2019 [cited by applicant]
US 10275851B1 · Zhao et al. · 2019 [cited by applicant]
US 10891156B1 · Zhao et al. · 2021 [cited by applicant]
US 11093139B1 · Karr et al. · 2021 [cited by applicant]
US 11176631B1 · Tu et al. · 2021 [cited by applicant]
US 11321092B1 · Raikin et al. · 2022 [cited by applicant]
US 11327676B1 · Fernandez et al. · 2022 [cited by applicant]
US 11388047B1 · Hardwick et al. · 2022 [cited by applicant]
US 11442669B1 · Frandzel et al. · 2022 [cited by applicant]
US 11450059B1 · Morrical · 2022 [cited by applicant]
US 11494321B1 · Yu et al. · 2022 [cited by applicant]
US 11500621B2 · Lethin et al. · 2022 [cited by applicant]
US 11544229B1 · Seideman et al. · 2023 [cited by applicant]
US 11698787B2 · Grochowski et al. · 2023 [cited by applicant]
US 11861221B1 · Richardson et al. · 2024 [cited by applicant]
US 20010042041A1 · Moshal et al. · 2001 [cited by applicant]
US 20020152142A1 · Schellmann et al. · 2002 [cited by applicant]
US 20050046400A1 · Rotem · 2005 [cited by applicant]
US 20050097245A1 · Lym · 2005 [cited by examiner]
US 20060085591A1 · Kumar et al. · 2006 [cited by applicant]
US 20070143755A1 · Sahu et al. · 2007 [cited by applicant]
US 20070162425A1 · Betawadkar-Norwood et al. · 2007 [cited by applicant]
US 20080155546A1 · Ruemmler · 2008 [cited by applicant]
US 20100239186A1 · Fowler et al. · 2010 [cited by applicant]
US 20110078361A1 · Chen et al. · 2011 [cited by applicant]
US 20110122262A1 · Shinozaki et al. · 2011 [cited by applicant]
US 20110173595A1 · Gustafsson et al. · 2011 [cited by applicant]
US 20110219208A1 · Asaad et al. · 2011 [cited by applicant]
US 20120081373A1 · Li et al. · 2012 [cited by applicant]
US 20120146727A1 · Cyrusian · 2012 [cited by applicant]
US 20120198214A1 · Gadre et al. · 2012 [cited by applicant]
US 20140108773A1 · Jagatheesan et al. · 2014 [cited by applicant]
US 20140351826A1 · Llamas · 2014 [cited by applicant]
US 20140362292A1 · Lee et al. · 2014 [cited by applicant]
US 20150363890A1 · Butters et al. · 2015 [cited by applicant]
US 20160103765A1 · Rastogi · 2016 [cited by examiner]
US 20160188337A1 · Lee et al. · 2016 [cited by applicant]
US 20160321291A1 · Malhotra et al. · 2016 [cited by applicant]
US 20160371139A1 · Stark et al. · 2016 [cited by applicant]
US 20170003972A1 · Elliott et al. · 2017 [cited by applicant]
US 20170039396A1 · Sharp et al. · 2017 [cited by applicant]
US 20170236244A1 · Price et al. · 2017 [cited by applicant]
US 20170344880A1 · Nekuii · 2017 [cited by applicant]
US 20180024836A1 · Gschwind et al. · 2018 [cited by applicant]
US 20180322078A1 · Qiu et al. · 2018 [cited by applicant]
US 20180365561A1 · Temam et al. · 2018 [cited by applicant]
US 20190042336A1 · McElrath et al. · 2019 [cited by applicant]
US 20190043477A1 · Bang et al. · 2019 [cited by applicant]
US 20190220308A1 · Cui et al. · 2019 [cited by applicant]
US 20190294439A1 · Ostby · 2019 [cited by applicant]
US 20200192720A1 · Liu et al. · 2020 [cited by applicant]
US 20200193229A1 · Natarajan et al. · 2020 [cited by applicant]
US 20200285655A1 · Kaushik et al. · 2020 [cited by applicant]
US 20200301764A1 · Thoresen et al. · 2020 [cited by applicant]
US 20210019070A1 · Karr et al. · 2021 [cited by applicant]
US 20210019093A1 · Karr et al. · 2021 [cited by applicant]
US 20210019237A1 · Karr et al. · 2021 [cited by applicant]
US 20210044204A1 · Kesterson et al. · 2021 [cited by applicant]
US 20210072957A1 · Eilert et al. · 2021 [cited by applicant]
US 20210072986A1 · Yudanov et al. · 2021 [cited by applicant]
US 20210072987A1 · Yudanov et al. · 2021 [cited by applicant]
US 20210081373A1 · Tian · 2021 [cited by applicant]
US 20210117249A1 · Doshi et al. · 2021 [cited by applicant]
US 20210117544A1 · Kurtz et al. · 2021 [cited by applicant]
US 20210124582A1 · Kerr et al. · 2021 [cited by applicant]
US 20210124610A1 · Gardner et al. · 2021 [cited by applicant]
US 20210157687A1 · Drejza · 2021 [cited by examiner]
US 20210311900A1 · Malladi · 2021 [cited by examiner]
US 20210326175A1 · Herbert · 2021 [cited by applicant]
US 20210373955A1 · Galles et al. · 2021 [cited by applicant]
US 20210398676A1 · Evans et al. · 2021 [cited by applicant]
US 20220019367A1 · Freilich et al. · 2022 [cited by applicant]
US 20220019385A1 · Karr et al. · 2022 [cited by applicant]
US 20220035714A1 · Schultz et al. · 2022 [cited by applicant]
US 20220038532A1 · Horigane et al. · 2022 [cited by applicant]
US 20220083245A1 · Kant et al. · 2022 [cited by applicant]
US 20220113867A1 · Aharoni et al. · 2022 [cited by applicant]
US 20220138551A1 · Marani et al. · 2022 [cited by applicant]
US 20220245082A1 · Vijayashekar et al. · 2022 [cited by applicant]
US 20220303178A1 · Hardwick et al. · 2022 [cited by applicant]
US 20220309336A1 · Minkin · 2022 [cited by applicant]
US 20220342568A1 · Roberts · 2022 [cited by examiner]
US 20220365750A1 · Bharambe et al. · 2022 [cited by applicant]
US 20220414088A1 · Krishnan et al. · 2022 [cited by applicant]
US 20230028317A1 · Yoon et al. · 2023 [cited by applicant]
US 20230065994A1 · Yamato · 2023 [cited by applicant]
US 20230071424A1 · Kibardin et al. · 2023 [cited by applicant]
US 20230104845A1 · Ray et al. · 2023 [cited by applicant]
US 20230110438A1 · Ramani et al. · 2023 [cited by applicant]
US 20230164121A1 · Moon · 2023 [cited by applicant]
US 20230176769A1 · Shalom et al. · 2023 [cited by applicant]
US 20230185570A1 · Kerr et al. · 2023 [cited by applicant]
US 20230289242A1 · Guo et al. · 2023 [cited by applicant]
US 20230289292A1 · Minkin et al. · 2023 [cited by applicant]
US 20230298129A1 · Puffer et al. · 2023 [cited by applicant]
US 20240011691A1 · Kim et al. · 2024 [cited by applicant]
US 20240028423A1 · Zhu et al. · 2024 [cited by applicant]
US 20240069914A1 · George et al. · 2024 [cited by applicant]
US 20240161224A1 · Edwards et al. · 2024 [cited by applicant]
US 20250060908A1 · Siluvainathan et al. · 2025 [cited by applicant]
CN 112907344A · 2021 [cited by applicant]
JP 2023530064A · 2023 [cited by applicant]
KR 102797037B1 · 2025 [cited by applicant]
WO 2021018394A1 · 2021 [cited by applicant]
WO 2024242805A1 · 2024 [cited by applicant]
Gelado et al. (An Asymmetric Distributed Shared Memory Model for Heterogeneous Parallel Systems, ASPLOS, 2010) (Year: 2010). [cited by examiner]
U.S. Appl. No. 18/081,534, filed Dec. 14, 2022. [cited by applicant]
U.S. Appl. No. 18/081,537, filed Dec. 14, 2022. [cited by applicant]
U.S. Appl. No. 18/081,547, filed Dec. 14, 2022. [cited by applicant]
U.S. Appl. No. 18/081,550, filed Dec. 14, 2022. [cited by applicant]
U.S. Appl. No. 18/081,552, filed Dec. 14, 2022. [cited by applicant]
U.S. Appl. No. 18/081,559, filed Dec. 14, 2022. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/CN2022/132533, mailed Jul. 24, 2023, 7 pages. [cited by applicant]
U.S. Appl. No. 17/691,276, “Method and Apparatus for Efficient Access to MultiDimensional Data Structures and-or Other Large Data Blocks,” filed Mar. 10, 2022. [cited by applicant]
U.S. Appl. No. 17/691,422, “Method and Apparatus for Efficient Access to MultiDimensional Data Structures and-or Other Large Data Blocks,” filed Mar. 10, 2022. [cited by applicant]
U.S. Appl. No. 17/691,288, “Programmatically Controlled Data Multicasting Across Multiple Compute Engines,” filed Mar. 10, 2022. [cited by applicant]
Mathworks, “Im2col,” retrieved from https://www.mathworks.com/help/images/ref/im2col.html, 2021, 3 pages. [cited by applicant]
Caffe, “Im2col,” retrieved from https://caffe.berkeleyvision.org/tutorial/layers/im2col.html, 2020, 1 page. [cited by applicant]
Octave Forge,“ Im2col,” retrieved from https://octave.sourceforge.io/image/function/im2col.html, (undated), 2 pages. [cited by applicant]
Diaz et al., “A Survey of Parallel Programming Models and Tools in the Multi and Many-Core Era,” IEEE Transactions on Parallel and Distributed Systems, 23(8): Aug. 2012, 18 pages. [cited by applicant]
Lili et al., “Streaming FFT Asynchronously on Graphics Processor Units,” International Forum on Information Technology and Applications, 2010, 5 pages. [cited by applicant]
Georganas et al., “Anatomy Of High-Performance Deep Learning Convolutions On SIMD Architectures,” ACM, Nov. 2018, 12 pages. [cited by applicant]
Abhijit et al., “Implementing Adaptive and Dynamic Data Structures using CUDA Parallelism,” IEEE International Conference on Advances in Engineering & Technology Research, Aug. 2014, 7 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]
NVIDIA, “Shared Memory,” retrieved from https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#shared-memory, May 2019, 597 pages. [cited by applicant]
NVIDIA, CUDA: Parallel Thread Execution ISA Version 8.3, Retrieved from, https://docs.nvidia.com/cuda/parallel-thread-execution/index.html, Oct. 10, 2023, 594 Pages. [cited by applicant]
NVIDIA, “CUDA Toolkit Documentation 12.2 Update 2,” Retrieved from, https://docs.nvidia.com/cuda/archive/12.2.2/, Aug. 2023, 10 Pages. [cited by applicant]
NVIDIA, “NVIDA H100 Tensor Core GPU Architecture”, Mar. 2022, NVIDA Corporation, 71 pages. [cited by applicant]
Andersch, et al., “NVIDIA Hopper Architecture In-Depth”, Mar. 22, 2022, NVIDIA Developer, 39 pages. [cited by applicant]