Prosecution Insights
Last updated: July 17, 2026
Application No. 18/072,060

APPLICATION PROGRAMMING INTERFACE TO INDICATE MATRIX MULTIPLY-ACCUMULATE

Non-Final OA §102§103
Filed
Nov 30, 2022
Priority
Nov 21, 2022 — GR 20220100957
Examiner
ALLI, KASIM A
Art Unit
Tech Center
Assignee
NVIDIA Corporation
OA Round
1 (Non-Final)
65%
Grant Probability
Favorable
1-2
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 65% — above average
65%
Career Allowance Rate
122 granted / 187 resolved
+5.2% vs TC avg
Strong +36% interview lift
Without
With
+35.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
16 currently pending
Career history
209
Total Applications
across all art units

Statute-Specific Performance

§101
1.1%
-38.9% vs TC avg
§103
74.9%
+34.9% vs TC avg
§102
7.9%
-32.1% vs TC avg
§112
13.3%
-26.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 187 resolved cases

Office Action

§102 §103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Information Disclosure Statement The information disclosure statement (IDS) submitted on 08/23/2023, 02/16/2024, 08/21/2024, 09/02/2025, 02/23/2026, and 05/12/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Specification The disclosure is objected to because of the following informalities: The appropriate patent application numbers should be indicated in the blank spaces in [0002] Appropriate correction is required. Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 1, 9, and 15 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Choquette US 2023/0289398. The applied reference has a common assignee with the instant application. Based upon the earlier effectively filed date of the reference, it constitutes prior art under 35 U.S.C. 102(a)(2). This rejection under 35 U.S.C. 102(a)(2) might be overcome by: (1) a showing under 37 CFR 1.130(a) that the subject matter disclosed in the reference was obtained directly or indirectly from the inventor or a joint inventor of this application and is thus not prior art in accordance with 35 U.S.C. 102(b)(2)(A); (2) a showing under 37 CFR 1.130(b) of a prior public disclosure under 35 U.S.C. 102(b)(2)(B) if the same invention is not being claimed; or (3) a statement pursuant to 35 U.S.C. 102(b)(2)(C) establishing that, not later than the effective filing date of the claimed invention, the subject matter disclosed in the reference and the claimed invention were either owned by the same person or subject to an obligation of assignment to the same person or subject to a joint research agreement. Regarding claim 1, Choquette teaches: 1. A processor comprising: one or more circuits to perform an instruction to indicate whether one or more matrix multiply-accumulate (MMA) memory instructions have completed ([0104]: the MMA synchronization instruction (i.e., an instruction) indicates completion of previous MMA instructions (which are one or more MMA memory instructions in that they operate on data in memory, see also [0106] describing a GMMA instruction that reads from memory)). Claim 9 is directed to a system corresponding to the processor of claim 1 and is rejected for the same reasons as claim 1. Claim 15 is directed to a method performing steps corresponding to the processor of claim 1 and is rejected for the same reasons as claim 1. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-5, 9-12, and 14-18 are rejected under 35 U.S.C. 103 as being unpatentable over Edwards US 2021/0294673 (cited in 02/23/2026 IDS) in view of Sade US 2019/0042254. Regarding claim 1, Edwards teaches: 1. A processor comprising: one or more circuits ([0045]: the GPU executing process 102) to perform an instruction to indicate whether copy operations have completed ([0049] discloses that the synchronization 114 may be a function call/instruction and that it may copy data in shared memory to the threads and [0050] discloses that once data values are synchronized from shared memory the threads perform operations on the shared data values, these portions indicate that the synchronization indicates to the threads when the copy has completed for the threads to know when to start performing operations on the shared data values). Edwards does not teach one or more matrix multiply-accumulate (MMA) memory instructions for copying the data. However, Sade teaches one or more matrix multiply-accumulate (MMA) memory instructions ([0056] discloses that tile may be loaded from memory using load operations/instructions and [0053] discloses that each tile may be acted upon by tile multiplication and accumulation operations, which indicates that the load operations may be for matrix multiply accumulate (MMA) operations, i.e., the load operations are MMA memory instructions) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Edwards to copy/load data from memory using load operations as taught by Sade to support matrix multiply and accumulate (MMA) operations such that the combination may copy/load data for matrix multiply-accumulate operations. One of ordinary skill in the art would have been motivated to modify Edwards to support MMA operations to increase the types of operations that may be performed, which would improve flexibility of the system. One of ordinary skill in the art would have been motivated to modify Edwards to load data for the matrix multiply and accumulate operations using load/memory instructions because using load instructions is a known technique on the known device of a processor for loading data from memory and would yield the predictable result of improving control over loading data from memory. Regarding claim 2, Edwards in view of Sade teaches: 2. The processor of claim 1, wherein the instruction is to cause the one or more circuits to issue one or more MMA operations in response to completion of the one or more MMA memory instructions (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)). Regarding claim 3, Edwards in view of Sade teaches: 3. The processor of claim 1, wherein the one or more circuits are to issue one or more MMA operations to be performed by one or more accelerators in response to completion of the one or more MMA memory instructions (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data), any execution resource of the GPU that executes the operations of the thread after the synchronization is an accelerator). Regarding claim 4, Edwards in view of Sade teaches: 4. The processor of claim 1, wherein the one or more MMA memory instructions are to cause the one or more circuits to copy one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Regarding claim 5, Edwards in view of Sade teaches: 5. The processor of claim 1, wherein the one or more MMA memory instructions are to cause the one or more circuits to copy one or more fragments of one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands (which would include fragments of the operands under BRI) as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Regarding claim 9, Edwards teaches: 9. A system comprising: one or more processors ([0045]: the GPU executing process 102) to perform an instruction to indicate whether copy operations have completed ([0049] discloses that the synchronization 114 may be a function call/instruction and that it may copy data in shared memory to the threads and [0050] discloses that once data values are synchronized from shared memory the threads perform operations on the shared data values, these portions indicate that the synchronization indicates to the threads when the copy has completed for the threads to know when to start performing operations on the shared data values). Edwards does not teach one or more matrix multiply-accumulate (MMA) memory instructions for copying the data. However, Sade teaches one or more matrix multiply-accumulate (MMA) memory instructions ([0056] discloses that tile may be loaded from memory using load operations/instructions and [0053] discloses that each tile may be acted upon by tile multiplication and accumulation operations, which indicates that the load operations may be for matrix multiply accumulate (MMA) operations, i.e., the load operations are MMA memory instructions) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Edwards to copy/load data from memory using load operations as taught by Sade to support matrix multiply and accumulate (MMA) operations such that the combination may copy/load data for matrix multiply-accumulate operations. One of ordinary skill in the art would have been motivated to modify Edwards to support MMA operations to increase the types of operations that may be performed, which would improve flexibility of the system. One of ordinary skill in the art would have been motivated to modify Edwards to load data for the matrix multiply and accumulate operations using load/memory instructions because using load instructions is a known technique on the known device of a processor for loading data from memory and would yield the predictable result of improving control over loading data from memory. Regarding claim 10, Edwards in view of Sade teaches: 10. The system of claim 9, wherein the one or more processors are to issue, in response to the instruction, an MMA operation (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)) Edwards in view of Sade does not teach: the MMA operation to be performed by one or more streaming multiprocessors (SMs). However, a further embodiment of Edwards teaching streaming multiprocessors including cores configured to perform matrix multiply and accumulate operations, see [0230]-[0231] and Figs. 23-24. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Edwards in view of Sade to perform the MMA operation by one or more streaming multiprocessors as taught by the further embodiment of Edwards. One of ordinary skill in the art would have been motivated to make this modification improve performance since by providing more processing resources to process MMA operations. Regarding claim 11, Edwards in view of Sade teaches: 11. The system of claim 9, wherein the instruction is to cause the one or more processors to issue one or more MMA operations in response to completion of the one or more MMA memory instructions (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)). Regarding claim 12, Edwards in view of Sade teaches: 12. The system of claim 9, wherein the one or more MMA memory instructions are to cause the one or more processors to copy one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Regarding claim 14, Edwards in view of Sade teaches: 14. The system of claim 9, wherein the one or more processors are graphics processing units (GPUs) (Edwards [0045]: the GPU executing process 102). Regarding claim 15, Edwards teaches: 15. A method comprising: performing an instruction to indicate whether copy operations have completed ([0049] discloses that the synchronization 114 may be a function call/instruction and that it may copy data in shared memory to the threads and [0050] discloses that once data values are synchronized from shared memory the threads perform operations on the shared data values, these portions indicate that the synchronization indicates to the threads when the copy has completed for the threads to know when to start performing operations on the shared data values). Edwards does not teach one or more matrix multiply-accumulate (MMA) memory instructions for copying the data. However, Sade teaches one or more matrix multiply-accumulate (MMA) memory instructions ([0056] discloses that tile may be loaded from memory using load operations/instructions and [0053] discloses that each tile may be acted upon by tile multiplication and accumulation operations, which indicates that the load operations may be for matrix multiply accumulate (MMA) operations, i.e., the load operations are MMA memory instructions) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Edwards to copy/load data from memory using load operations as taught by Sade to support matrix multiply and accumulate (MMA) operations such that the combination may copy/load data for matrix multiply-accumulate operations. One of ordinary skill in the art would have been motivated to modify Edwards to support MMA operations to increase the types of operations that may be performed, which would improve flexibility of the system. One of ordinary skill in the art would have been motivated to modify Edwards to load data for the matrix multiply and accumulate operations using load/memory instructions because using load instructions is a known technique on the known device of a processor for loading data from memory and would yield the predictable result of improving control over loading data from memory. Regarding claim 16, Edwards in view of Sade teaches: 16. The method of claim 15, further comprising issuing one or more MMA operations in response to the instruction (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)). Regarding claim 17, Edwards in view of Sade teaches: 17. The method of claim 15, further comprising issuing, in response to the instruction, an MMA operation (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)) Edwards in view of Sade does not teach: the MMA operation to be performed by one or more streaming multiprocessors (SMs). However, a further embodiment of Edwards teaching streaming multiprocessors including cores configured to perform matrix multiply and accumulate operations, see [0230]-[0231] and Figs. 23-24. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Edwards in view of Sade to perform the MMA operation by one or more streaming multiprocessors as taught by the further embodiment of Edwards. One of ordinary skill in the art would have been motivated to make this modification improv Regarding claim 18, Edwards in view of Sade teaches: 18. The method of claim 15, further comprising causing one or more processors (Edwards [0045]: the GPU executing process 102) to copy, in response to the instruction, one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Claims 6-7 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Edwards US 2021/0294673 in view of Sade US 2019/0042254 and Giroux US 2021/0124627. Regarding claim 6, Edwards in view of Sade teaches: 6. The processor of claim 1, wherein the one or more MMA memory instructions are to cause the one or more circuits to copy one or more fragments of one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands (which would include fragments of the operands under BRI) as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Edwards in view of Sade does not teach one or more asynchronous MMA operations. However, Giroux teaches asynchronous compute operations, see [0010]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the MMA operations of Edwards in view of Sade to be asynchronous MMA operations as suggested by Giroux. One of ordinary skill in the art would have been motivated to make this modification to increase GPU utilization (Giroux [0010]). Regarding claim 7, Edwards in view of Sade teaches: 7. The processor of claim 1, wherein the one or more MMA memory instructions are to cause the one or more circuits to copy one or more fragments of one or more operands in memory to be used by one or more MMA operations to be performed by one or more accelerators (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data once the data is synchronized (i.e., in response to completing the memory instructions that copy the data), any execution resource of the GPU that executes the operations of the thread after the synchronization is an accelerator). Edwards in view of Sade does not teach one or more asynchronous MMA operations. However, Giroux teaches asynchronous compute operations, see [0010]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the MMA operations of Edwards in view of Sade to be asynchronous MMA operations as suggested by Giroux. One of ordinary skill in the art would have been motivated to make this modification to increase GPU utilization (Giroux [0010]). Regarding claim 20, Edwards in view of Sade teaches: 20. The method of claim 15, further comprising copying, in response to the instruction, one or more fragments of one or more operands in memory to be used by one or more MMA operations (Edwards [0049]: synchronization 114 copies (using load/MMA memory instructions, in the combination) data in shared memory to the threads, and the data may be operands (which would include fragments of the operands under BRI) as Edwards [0050] discloses that the threads may perform operations (i.e., MMA operations, in the combination) on the data). Edwards in view of Sade does not teach one or more asynchronous MMA operations. However, Giroux teaches asynchronous compute operations, see [0010]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the MMA operations of Edwards in view of Sade to be asynchronous MMA operations as suggested by Giroux. One of ordinary skill in the art would have been motivated to make this modification to increase GPU utilization (Giroux [0010]). Claims 8, 13, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Edwards US 2021/0294673 in view of Sade US 2019/0042254 and Hughes US 2022/0100513. Regarding claim 8, Edwards in view of Sade teaches: 8. The processor of claim 1, wherein completion of the one or more MMA memory instructions is to cause the one or more circuits to issue one or more MMA operations to be performed on input operands (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data/input operands once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)) Edwards in view of Sade does not teach: input operands with a shape and a type indicated to the instruction. However, Hughes teaches a determining the amount of data to load by a load instruction using a configuration that indicates the number of rows and columns (i.e., a shape) and the number of bytes per row/column (i.e., a type), see [0174]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the synchronization of Edwards to receive indication of the numbers of rows/columns and number of bytes per row/column (i.e., a shape and type) to load/copy from memory as suggested by Hughes. One of ordinary skill in the art would have been motivated to make this modification to allow for more precious loading of data. Regarding claim 13, Edwards in view of Sade teaches: 13. The system of claim 9, wherein completion of the one or more MMA memory instructions is to cause the one or more circuits to issue one or more MMA operations to be performed on input operands (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on the data/input operands once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)) Edwards in view of Sade does not teach: input operands with a shape and a type indicated to the instruction. However, Hughes teaches a determining the amount of data to load by a load instruction using a configuration that indicates the number of rows and columns (i.e., a shape) and the number of bytes per row/column (i.e., a type), see [0174]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the synchronization of Edwards to receive indication of the numbers of rows/columns and number of bytes per row/column (i.e., a shape and type) to load/copy from memory as suggested by Hughes. One of ordinary skill in the art would have been motivated to make this modification to allow for more precious loading of data. Regarding claim 19, Edwards in view of Sade teaches: 19. The method of claim 15, wherein completion of the one or more MMA memory instructions is to cause one or more MMA operations to be issued based, at least in part, on operands (Edwards [0049]-[0050]: the synchronization instruction copies data (using MMA memory instructions in the combination) from memory to the threads, which causes the threads to perform/issue operations (MMA operations, in the combination) on/based on the data/input operands once the data is synchronized (i.e., in response to completing the memory instructions that copy the data)) Edwards in view of Sade does not teach: operands with a shape and a type indicated to the instruction. However, Hughes teaches a determining the amount of data to load by a load instruction using a configuration that indicates the number of rows and columns (i.e., a shape) and the number of bytes per row/column (i.e., a type), see [0174]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the synchronization of Edwards to receive indication of the numbers of rows/columns and number of bytes per row/column (i.e., a shape and type) to load/copy from memory as suggested by Hughes. One of ordinary skill in the art would have been motivated to make this modification to allow for more precious loading of data. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 2006/0101062 teaches executing commands asynchronously as resources become available, see [0030] Any inquiry concerning this communication or earlier communications from the examiner should be directed to KASIM ALLI whose telephone number is (571)270-1476. The examiner can normally be reached Monday - Friday 9am 5pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jyoti Mehta can be reached at (571) 270-3995. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /KASIM ALLI/Examiner, Art Unit 2183 /JYOTI MEHTA/Supervisory Patent Examiner, Art Unit 2183
Read full office action

Prosecution Timeline

Nov 30, 2022
Application Filed
Jun 29, 2026
Non-Final Rejection mailed — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12645453
DATA TRANSFER FOR VECTORS IN NEURAL NETWORKS
3y 8m to grant Granted Jun 02, 2026
Patent 12639072
REDUCING INSTRUMENTATION CODE BLOAT AND PERFORMANCE OVERHEADS USING A RUNTIME CALL INSTRUCTION
3y 11m to grant Granted May 26, 2026
Patent 12632256
PREFETCH REQUEST GENERATION
1y 12m to grant Granted May 19, 2026
Patent 12632255
RESERVATION STATION WITH MULTIPLE ENTRY TYPES
1y 11m to grant Granted May 19, 2026
Patent 12578963
IMPLIED FENCE ON STREAM OPEN
2y 5m to grant Granted Mar 17, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
65%
Grant Probability
99%
With Interview (+35.5%)
3y 3m (~0m remaining)
Median Time to Grant
Low
PTA Risk
Based on 187 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month