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 .
Claims 1, 11, and 20 have been amended.
Claims 1-7,9,11-16,18, and 20 have been examined.
The claim objections in the previous Office Action have been addressed and are withdrawn.
The § 112 rejections in the previous Office Action have been addressed and are withdrawn.
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 (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 page 8 of the response filed May 13, 2026 (“response”), the Applicant argues, “claim 1 requires allocating a scoreboard to a first task of the first operation and a first task of the second operation to indicate a dependency between them (an inter-operation dependency). The Office Action on page 5 acknowledges that Symes lacks this scoreboard feature and relies on Gray to teach these features. Applicant respectfully asserts that the mapping of these features in the Office Action is flawed for at least the following reasons: 1. Intra-block vs. Inter-operation Tracking: Gray's scoreboard (245) tracks dependencies between instructions within a single, atomic instruction block (intra-block dependencies). Gray tracks whether operands are ready for an instruction to issue. Gray does not teach allocating a scoreboard to manage dependencies between tasks of entirely different operations.”
Though fully considered, the Examiner respectfully disagrees. The Applicant is arguing the references individually. As noted at MPEP § 2145, “One cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references.”
The Applicant argues that Gray’s scoreboard only tracks dependencies within a block. This argument is not persuasive at least because the Examiner does not cite Gray for this feature. The Examiner cites Symes at teaching identifying dependencies between the first operation and the second operation. See Symes, Figure 8 and related description, e.g., ¶ [0044]. Thus Gray is not cited as teaching dependencies between operations. Gray is cited as teaching a scoreboard to track dependency information. See Gray, ¶ [0056]. The combination includes Symes’s inter-operation dependency information in the scoreboard structure disclosed by Gray.
While the issue is fully resolved by the response above, the Examiner notes, for the sake of completeness, that the Examiner does not agree that Gray is limited to dependencies within a single block. Accordingly, the Applicant’s arguments are deemed unpersuasive.
On page 8 of the response the Applicant argues, “Incompatible Mechanisms: Symes already manages inter-operation dependencies using a specific numerical value ("block dependency data"), not a scoreboard. Combining Symes and Gray merely provides an instruction-level scoreboard within individual blocks (from Gray) operating alongside numerical block dependency data (from Symes).”
Though fully considered, the Examiner respectfully disagrees. The Applicant asserts that Symes’s dependency data is incompatible with storage in a scoreboard. However, the Applicant provides no evidence to support this assertion. As noted at MPEP § 2145, “Arguments presented by applicant cannot take the place of evidence in the record.” The Examiner is unaware of any reason why Gray’s scoreboard data structure, the purpose of which is to store dependency data, would be incompatible with Symes’s dependency data. Accordingly, the Applicant’s arguments are deemed unpersuasive.
Conclusion
THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
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