DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1, 11, and 20 have been amended.
Claims 1-7, 9, 11-16, 18, and 20 have been examined.
The § 112 rejections in the previous Office Action have been addressed and are withdrawn.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on November 14, 2025 has been entered.
Claim Objections
Claim 20 objected to because of the following informalities.
Claim 20 recites, “a commend processing unit.” This appears to be a typographical error. Applicant may have intended, “a command processing unit.”.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-7, 9, 11-16, 18, and 20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the Applicant regards as the invention.
Claim 1 recites, at lines 12-13, “the scoreboard is allocated to indicate the dependency such that the second operation is stalled until the first task of the first operation completes execution.” Claim 1 also recites, at lines 24-25, “stalling, at a command processing unit, the second operation, to be executed on the first output sub-portion, if the dependencies are not met.” These limitations introduce ambiguity as to whether the claims require stalling once or twice, and whether the criteria for stalling are the same. For purposes of examination, the claims are interpreted as requiring stalling once and the first limitation is interpreted as, “the scoreboard is allocated to indicate the dependency .” Claims 11 and 20 include similar limitations and are similarly rejected.
Claims 2-7, 9, 12-16, and 18 are rejected as depending from rejected base claims and failing to cure the indefiniteness of those base claims.
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-7, 9, 11-16, 18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over US Publication No. 2021/0334643 by Symes et al. (hereinafter referred to as “Symes”) in view of US Publication No. 2016/0378661 by Gray et al. (previously cited and hereinafter referred to as “Gray”).
Regarding claims 1, 11, and 20, taking claim 1 as representative, Symes discloses:
a method of distributing operations for execution comprising: receiving input data, the input data being subdivided into a plurality of portions, each portion comprising at least a first and second sub-portion (Symes discloses, at Figure 8 and related description, receiving data and dividing the data into blocks.);
receiving a first operation and a second operation, the first operation to operate on the input data, wherein the first operation and the second operation each comprise a plurality of tasks (Symes discloses, at Figure 8 and related description, receiving instructions to operate on the data. Symes also discloses, at Figure 2 and related description, performing the operation on multiple blocks, which discloses a plurality of tasks.).
identifying dependencies between the first operation and the second operation, the dependencies comprising at least the second operation to operate on at least a portion of the output of the first operation, and …indicate a dependency between the first task of the first operation and the first task of the second operation…such that the second operation is stalled until the first operation completes execution (Symes discloses, at Figure 8 and related description, receiving dependency information, which discloses identifying dependencies between the operations and indicating dependencies between tasks of the operations. Symes also discloses, at Figure 8 and related description, performing the second operation only if the dependency criterion is satisfied, which discloses stalling until the first operation is complete.); and
for each of the plurality of portions: issuing for execution, across one or more processing cores, the first operation on the first sub-portion to produce a first output sub-portion, and tracking completion of the execution (Symes discloses, at Figure 8 and related description, operating on the input data and determining whether the output has been generated, which discloses tracking completion. As disclosed at Figure 1 and related description, the operation is done by one or more processing units, which discloses cores.);
issuing, across the one or more processing cores, the first operation for execution on the second sub-portion to produce a second output sub-portion (Symes discloses, at Figure 8 and related description, operating on the input data, which discloses operating on the second sub-portion.); and
depending upon satisfaction of the dependencies between the first operation and the second operation in respect of the first sub-portion, either: issuing the second operation to be executed, across the one or more processing cores, on the first output sub-portion if the dependencies are met (Symes discloses, at Figure 8 and related description, performing the second operation only if the dependency criterion is satisfied.); or
stalling, at a command processing unit, the second operation, to be executed on the first output sub-portion, if the dependencies are not met (Symes discloses, at Figure 8 and related description, performing the second operation only if the dependency criterion is satisfied, which discloses stalling if not.); and
repeating for each subsequent portion (Symes discloses, at Figure 8 and related description, repeating the operations on all of the data.).
Symes does not explicitly disclose allocating, by a command processing unit, a scoreboard to a first task of the plurality of tasks of the first operation, and a first task of the plurality of tasks of the second operation, wherein the scoreboard is allocated to indicate the dependency.
However, in the same field of endeavor (e.g., data processing) Gray discloses:
allocating, by a command processing unit, a scoreboard to indicate a dependency (Gray discloses, at ¶ [0056], a scoreboard that tracks dependencies. Allocating by a command processing unit is implicit.).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Symes to include using a scoreboard, as disclosed by Gray, in order to efficiently track information used to prevent errors due to dependency.
Regarding claims 2 and 12, taking claim 2 as representative, Symes discloses the elements of claim 1, as discussed above. Symes also discloses:
the input data is a tensor comprising at least two dimensions (Symes discloses, ¶ [0027], the input can be tensor data.).
Regarding claims 3 and 13, taking claim 3 as representative, Symes discloses the elements of claim 1, as discussed above. Symes also discloses:
the plurality of portions of input data each have a given size based on at least one characteristic associated with at least one of the one or more processing cores (Symes discloses, at ¶ [0029], basing block size on memory size.).
Regarding claims 4 and 14, taking claim 4 as representative, Symes discloses the elements of claim 3, as discussed above. Symes also discloses:
the at least one characteristic comprises a size of a local cache associated with at least one of the one or more processing cores (Symes discloses, at ¶ [0029], basing block size on memory size.).
Regarding claims 5 and 15, taking claim 5 as representative, Symes discloses the elements of claim 3, as discussed above. Symes also discloses:
adjusting the given size of a given portion based on the execution of an operation on one or more preceding portions of the input data (Symes discloses, at ¶ [0035], adjusting a size, e.g., dividing by two, an input block, which is an output of a previous execution, which discloses adjusting the size based on execution on a preceding portion of input data.).
Regarding claims 6 and 16, taking claim 6 as representative, Symes discloses the elements of claim 3, as discussed above. Symes also discloses:
the at least one characteristic is based on a type associated with at least one of the first operation or the second operation (Symes discloses, at ¶ [0028], specifying the type of operation.).
Regarding claim 7, Symes discloses the elements of claim 6, as discussed above. Symes also discloses:
the type is any one of: an element-wise operation; a convolution operation; a reduction operation; a transform operation; a resize operation; and a pooling operation (Symes discloses, at Figure 2 and related description, performing convolution.).
Regarding claims 9 and 18, taking claim 9 as representative, Symes discloses the elements of claim 8, as discussed above. Symes also discloses:
a first task of the plurality of tasks is executed by a first processing core of the one or more processing cores, and a second task of the plurality of tasks is executed by a …processing core of the one or more processing cores (Symes discloses, at Figure 1 and related description, operating on data using one or more processing cores, which discloses executing a first and second task.).
Symes does not explicitly disclose the aforementioned second task is executed by a second core.
However, in the same field of endeavor (e.g., data processing) Gray discloses:
using multiple cores to process data (Gray discloses, at Figure 7 and related description, using multiple cores to execute tasks.).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Symes to include multiple cores, as disclosed by Gray, in order to improve performance by increasing parallelism.
Response to Arguments
On pages 8-9 of the response filed November 14, 2025 (“response”), the Applicant argues, “The Office Action recognizes that Symes does not disclose "allocating a scoreboard to a first task of the plurality of tasks of the first operation, and a first task of the plurality of tasks of the second operation, " and instead relies on Underwood to teach this feature. Applicant respectfully submits that the scoreboard in Underwood (element 28, paragraph [0149]) serves a fundamentally different purpose. In Underwood, the scoreboard is a shared resource that tracks overall job completion. In Underwood, a 'job' is processing work assigned to an iterator. The iterator breaks down the job for distribution to the different cores (paragraph [0151]). The scoreboard of Underwood, tracks job completion at the command stream interface level (paragraph [0149]). This is fundamentally different to the invention as claimed, where a task is a component of an operation that can execute on a processing core, and the scoreboard is allocated to the specific tasks to indicate their inter-task dependencies (paragraphs [0020] - [0021]). Accordingly, Underwood's scoreboard tracks general job completion status across command stream interfaces. It does not allocate scoreboards to individual tasks to indicate dependencies between those specific tasks, when those tasks are from different operations, stalling a task of a second operation until completion of a task of the first operation (when there is an indication of dependency between the tasks of the different operations).”
These remarks have been fully considered and, in light of the claim amendments presented in the response, are deemed persuasive. Please see above for new grounds of rejection of the amended claims. Gray discloses a scoreboard that tracks dependencies between tasks. The new ground for rejection renders the Applicant’s remaining arguments moot.
Conclusion
The following prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure.
US 20230393889 by Zhang discloses scoreboards tracking dependencies between tasks in a multicore processor.
US 20220414816 by Surti discloses scoreboards tracking dependencies between threads in a multicore processor.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHAWN DOMAN whose telephone number is (571)270-5677. The examiner can normally be reached on Monday through Friday 8:30am-6pm Eastern Time.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jyoti Mehta can be reached on 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.
/SHAWN DOMAN/Primary Examiner, Art Unit 2183