Prosecution Insights
Last updated: October 27, 2026
Application No. 18/667,614

MEMORY INITIALIZATION

Non-Final OA §102§103
Filed
May 17, 2024
Examiner
FATIMA, AYMAN
Art Unit
2176
Tech Center
2100 — Computer Architecture & Software
Assignee
NVIDIA Corporation
OA Round
3 (Non-Final)
81%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allowance Rate
25 granted / 31 resolved
+25.6% vs TC avg
Moderate +12% lift
Without
With
+12.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
15 currently pending
Career history
53
Total Applications
across all art units

Statute-Specific Performance

§101
0.5%
-39.5% vs TC avg
§103
60.6%
+20.6% vs TC avg
§102
31.1%
-8.9% vs TC avg
§112
7.8%
-32.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 31 resolved cases

Office Action

§102 §103
DETAILED ACTION Claims 1-20 are pending. Notice of Pre-AIA or AIA Status This Office Action is sent in response to Applicant’s Communication received on 07/20/2026 for application number 18/667,614. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claims 1-3, 6, 8-10, 15-17 and 19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gaster et al. (US 2011/0022817 A1). Regarding claim 1, Gaster teaches one or more processors (Figure 1, GPU 102), comprising: circuitry to: determine that one or more software programs are to share information between two or more threads using one or more portions of memory (“GPU local memory, such as, GPU local memory 114 and 115, is shared between the processing elements of a compute unit. Therefore, one GPU local memory is shared between all workitems of a workgroup.” Par 0072 and “The execution of GPU-kernels can be described with respect to GPU 102. A GPU-kernel generally executes as multiple threads in parallel. Each of these parallel threads is a “workitem.”” Par 0039) [GPU-kernels (software programs) use workitems (threads) to share data through local memory (portions)], wherein the two or more threads lack access to the one or more portions of memory until the two or more threads have been scheduled for execution (“In scheduling a processing logic and/or code segment to be executed on a selected GPU, a command including an executable code including the code segment (e.g., executable kernel object) can be scheduled to a command queue created in the context of the selected GPU. A “context,” … defines the execution environment for the GPU-kernel. The context can include handles and other information for devices, memory, and other program objects associated with the kernel … [and] can provide the executing kernel with the GPU device and memory locations it is permitted to use.” Par 0058 and “Step 311 can also include creating a context and a command queue for that GPU, creating memory objects associated with the context, compiling and creating GPU-kernel objects, issuing corresponding commands to the command queue to execute the GPU-kernel objects” par 0056 and paragraph 66, 73, Figure 3) [the threads lack access because memory permissions are given within a context established once the workgroup is scheduled and mapped to a core]; and cause the one or more software programs to be modified to cause a first-to-begin thread of the two or more threads to initialize the one or more portions of memory to be used by the two or more threads to share the information (“the local memory area allocated in the memory and/or cache may require being flushed before being reused for each successive workgroup.” Par 0073 and “additional code is inserted in the entry, exit, and/or barrier routines of the GPU-kernels” par 0079 and “Scheduling another workgroup may include re-initializing the memory allocations for the currently executing OS thread on the current CPU core.” Par 0089) [the modification maps to the inserting instructions into the entry routine to ensure the shared memory is flushed/re-initialized when execution begins]. Claims 8 and 15 correspond to claim 1 and are rejected accordingly. Regarding claim 2, Gaster teaches the one or more processors of claim 1, wherein the circuitry is to modify the one or more software programs at runtime of the one or more software programs (“In scheduling the GPU-kernel for execution on multi-core CPU 101, instructions to enforce the mappings and configurations determined in steps 313-325 can be inserted in the code to be executed” par 0078 and paragraph 79) [the kernel’s code is modified by inserting instructions at the time of execution]. Claims 9 and 16 correspond to claim 2 and are rejected accordingly. Regarding claim 3, Gaster teaches the one or more processors of claim 1, wherein the modification comprises selecting one or more instructions with which to perform the initialization (“instructions to enforce the mappings and configurations determined in steps 313-325 can be inserted in the code to be executed” par 0078 and paragraph 79) [specific instructions are chosen to enforce memory configurations and inserting them into the code]. Claims 10 and 17 correspond to claim 3 and are rejected accordingly. Regarding claim 6, Gaster teaches the one or more processors of claim 1, wherein the information is to be initialized on a reserved shared memory included in one or more GPUs (“GPU local memory, such as GPU local memories 114 and 115, are shared by workitems in a workgroup.” Par 0073 and “Scheduling another workgroup may include re-initializing the memory allocations for the currently executing OS thread” par 0089). Claim 19 corresponds to claim 6 and is rejected accordingly. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 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 4, 5, 7, 11-14, 18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gaster in view of Levit-Gurevich (US 2023/0109752 A1). Regarding claim 4, Gaster teaches the one or more processors of claim 1. However, Gaster does not explicitly teach wherein the one or more software programs comprise one or more GPU kernels, and the modification comprises inserting one or more instructions to be performed by the one or more GPU kernels to perform the initialization prior to each of one or more invocations of one or more APIs within the one or more software programs. In the analogous art, Levit-Gurevich teaches wherein the one or more software programs comprise one or more GPU kernels (“As used herein, a GPU kernel refers to a kernel in binary format.” Par 0042), and the modification comprises inserting one or more instructions to be performed by the one or more GPU kernels to perform the initialization prior to each of one or more invocations of one or more APIs within the one or more software programs (“the profiling instructions 104A-104C are inserted at a first address (e.g., a first position) of a kernel (e.g., the beginning of the first kernel 106) to initialize variables used for profiling.” Par 0069 and “the trace emulator 430 can execute the first instrumentation routine 1302 prior to executing the emulation routine (EmulRoutines) and the second instrumentation routine 1304 after executing the emulation routine.” Par 0170 and paragraphs 99-102 and Figure 12) [this shows inserting instructions (which perform initialization) at beginning of kernel (prior to execution calls)]. It would have been obvious to a person having ordinary skill in the art, having the teachings of Gaster and Levit-Gurevich before him before the effective filing date of the claimed invention, to have modified Gaster to incorporate the teachings of Levit-Gurevich to insert instructions for the GPU kernels to perform before the API invocations to execute emulation routines to generate and provide data to a GPU profiling tool which can identify improvements to GPU/CPU operations. (Levit-Gurevich, paragraph 99) Claims 11 and 18 correspond to claim 4 and are rejected accordingly. Regarding claim 5, Gaster teaches the one or more processors of claim 1, However, Gaster does not explicitly teach wherein the one or more software programs comprise one or more GPU kernels, and the modification comprises inserting one or more instructions to be performed by the one or more GPU kernels after each of one or more invocations of one or more APIs within the one or more software programs. In the analogous art, Levit-Gurevich teaches wherein the one or more software programs comprise one or more GPU kernels (“As used herein, a GPU kernel refers to a kernel in binary format.” Par 0042), and the modification comprises inserting one or more instructions to be performed by the one or more GPU kernels after each of one or more invocations of one or more APIs within the one or more software programs (“insert a second callback routine in the instrumented routine after the emulation routine, the second call-back routine to invoke the first API or a second API to provide the first GPU state to the application.” Par 0305 and “In some examples, in response to executing the second instrumentation routine 1304, the trace emulator 430 can invoke a callback routine (e.g., “CallbackAfter( )”) to invoke an API to provide GPU states of the hardware thread that executed the software thread to an upper level construct, such as the application 120 of FIG. 1 , the hardware profiling analysis tool 718 of FIG. 7 , etc.” par 0172). It would have been obvious to a person having ordinary skill in the art, having the teachings of Gaster and Levit-Gurevich before him before the effective filing date of the claimed invention, to have modified Gaster to incorporate the teachings of Levit-Gurevich to insert instructions for the GPU kernels to perform after each of the API invocations to provide GPU states of the head thread prior to and after executing the emulation routine to determine changes in the GPU states and generate profiling data and determine appropriate improvements to be made. (Levit-Gurevich, paragraph 172) Claim 12 corresponds to claim 5 and is rejected accordingly. Regarding claim 7, Gaster teaches the one or more processors of claim 1. However, Gaster does not explicitly teach wherein the one or more software programs comprise one or more GPU kernels, and the modification comprises inserting one or more instructions to be performed by the first-to-begin thread of the one or more GPU kernels. In the analogous art, Levit-Gurevich teaches wherein the one or more software programs comprise one or more GPU kernels (“As used herein, a GPU kernel refers to a kernel in binary format.” Par 0042), and the modification comprises inserting one or more instructions to be performed by the first-to-begin thread of the one or more GPU kernels (“the thread dispatcher 506 may load initial GPU state(s) into an idle one of the thread(s) 208 and start its execution based on the determination(s).” par 0120 and “Identified Events may include, but are not limited to: (a) Code dispatch” par 0224 and “the profiling instructions 104A-104C are inserted at a first address (e.g., a first position) of a kernel (e.g., the beginning of the first kernel 106)” par 0069 and “Specifically, a process is to save data before the first instruction (ADD) of the code (code dispatch point),” par 0239 and Figure 2) [the code dispatch point marks the start of kernel execution; instructions are inserted before kernel’s main execution by hardware thread (first-to-begin thread)]. It would have been obvious to a person having ordinary skill in the art, having the teachings of Gaster and Levit-Gurevich before him before the effective filing date of the claimed invention, to have modified Gaster to incorporate the teachings of Levit-Gurevich to insert instructions by the first-to-begin thread to allow for the execution environments to be initialized with initial data values and be ready for program execution. Claims 14 and 20 correspond to claim 7 and are rejected accordingly. Regarding claim 13, Gaster teaches the one or more processors of claim 8. However, Gaster does not explicitly teach wherein the information is to be initialized on a memory that is not accessible until performance of a GPU kernel thread of one or more software programs associated with the memory has started. In the analogous art, Levit-Gurevich teaches wherein the information is to be initialized on a memory that is not accessible until performance of a GPU kernel thread of one or more software programs associated with the memory has started (“As used herein, a GPU state refers to one or more first values stored in a general-purpose register file (GRF) and/or one or more second values stored in an architecture register file (ARF) associated with a hardware thread of the GPU.” Par 0045 and “the thread dispatcher 506 may load initial GPU state(s) into an idle one of the thread(s) 208 and start its execution based on the determination(s).” par 0120 and Figure 5) [this shows initial GPU states, stored in thread specific registers, are only loaded into the thread and execution is started synchronously by the dispatcher, meaning those register contents only become relevant/accessible to the executing thread right at the beginning of its performance]. It would have been obvious to a person having ordinary skill in the art, having the teachings of Gaster and Levit-Gurevich before him before the effective filing date of the claimed invention, to have modified Gaster to incorporate the teachings of Levit-Gurevich to forestall access to the information to be initialized on a memory before the GPU kernel thread performance has started to prevent a program to access or alter memory areas, ensuring system stability and security. Response to Arguments Applicant’s arguments with respect to claim(s) 1, 8 and 15 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. No additional arguments were presented as to the remaining claims. As such, the rejection is maintained. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. Hari et al. (US 2019/0102180 A1) teaches methods for software optimization to reduce overhead of intra-thread instruction duplication on a GPU. The method identifies duplication eligible original instructions, inserts duplicate instructions after original ones, creates a shadow register and verifies the integrity of source operands for the instructions using the shadow registers. Hu et al. (US 2022/0004438 A1) teaches a processing unit generating different versions of a GPU based on allocated hardware resources from a global memory and fast shared resource. Any inquiry concerning this communication or earlier communications from the examiner should be directed to AYMAN FATIMA whose telephone number is (571)270-0830. The examiner can normally be reached M to Fri between 8am and 4pm EST. 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, Jaweed Abbaszadeh can be reached on (571)270-1640. 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. /AYMAN FATIMA/Examiner, Art Unit 2176 /JAWEED A ABBASZADEH/Supervisory Patent Examiner, Art Unit 2176
Read full office action

Prosecution Timeline

May 17, 2024
Application Filed
Feb 12, 2026
Non-Final Rejection mailed — §102, §103
Apr 18, 2026
Response Filed
May 26, 2026
Final Rejection mailed — §102, §103
Jul 20, 2026
Request for Continued Examination
Jul 22, 2026
Response after Non-Final Action
Sep 30, 2026
Non-Final Rejection mailed — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769379
METHOD FOR RESETTING PROCESSOR AND COMPUTER DEVICE
3y 0m to grant Granted Oct 20, 2026
Patent 12738839
POWER SUPPLY VOLTAGE CONTROL METHOD AND APPARTUS, BLOCKCHAIN SERVER, AND STORAGE MEDIUM
3y 2m to grant Granted Sep 15, 2026
Patent 12687904
INTEGRATED CIRCUIT CAPABLE OF PERFORMING DYNAMIC VOLTAGE AND FREQUENCY SCALING OPERATION BASED ON WORKLOAD AND OPERATING METHOD THEREOF
2y 11m to grant Granted Jul 21, 2026
Patent 12681547
Asymmetrical Power Sharing
2y 6m to grant Granted Jul 14, 2026
Patent 12681546
Power Management Interface for Multiple Software Requestors
2y 7m to grant Granted Jul 14, 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

3-4
Expected OA Rounds
81%
Grant Probability
93%
With Interview (+12.3%)
2y 5m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 31 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