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 .
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 6/1/2026 has been entered.
Response to Arguments
With respect to the 101 rejection, Applicant transforms the order of weights loaded into memory, and this transformation may improve memory access times.1 This integrates the abstract idea into a practical application and overcomes the 101 rejection.
With respect to the 103 rejection, Applicant argues, “However, the combination of Taba and Baum fails to disclose or make obvious, at least, ‘accessing a first memory to retrieve weights of the weight tensor in a transformed order based on at least one of the type of model or the type of layer,’ as claimed.” Remarks 10. This argument is moot in light of new art necessitated by the amendments.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
Claim 17 invokes a mean-for interpretation.
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-3, 5-11, 13-20 and 22-25 are rejected under 35 U.S.C. 103 as being unpatentable over US20200104718A1 to Taba et al and US20190205737A1 to Bleiweiss et al.
Claims 4, 12 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over US20200104718A1 to Taba et al, US20190205737A1 to Bleiweiss et al and US20190205735A1 to Smelyanskiy et al (Smely).
Taba teaches claims 1, 9, 17 and 18. (Currently Amended) A method for weight layout transformation of a weight tensor, comprising:
accessing a first memory to retrieve weights of the weight tensor in a transformed order that is different than an order for retrieving the weights for a calculation at a network layer of a trained machine learning model, (Taba para 41 “IPU 200 includes a memory 201 for the neural network model. As described above, the neural network model may include the synapse weights for a neural network to be computed.” Taba para 70 “the weight order and input order are illustrated for exemplary snake paths.” Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.” The weights are stored in a matrix in model memory 301 in Taba fig. 3, and then computed in the cores 305/303.)
loading the weights to a second memory in the transformed order. (Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.”)
Taba doesn’t teach transformation based on type of model or layer.
However, Bleiweiss teaches processing source code of a trained machine learning model to identify at least one of a type of model or a type of a layer of the trained machine learning model;
… wherein the transformed order is based on at least one of the type of model or the type of layer; (Bleiweiss para 236 “ accelerator 2708 may be implemented to perform additional data deep layout transformations other than a transpose. For instance, data layout is one of the primary sources of inefficiencies in deep leaning applications. Different architectures have different layout requirements forcing programmers to make specific choices. The idea here is to do these transformations on the fly and potentially do any data transformations required from one layer to another. Thus, data layout conversions (e.g., NHWC-NCHW data format conversions) may be offloaded to accelerator 2709…”)
Taba, Bleiweiss and the claims all arrange NN tensors. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to arrange based on NN model or layer “to enable parallel execution with other computations…” Bleiweiss para 236.
Taba teaches claims 2, 10 and 19. (Currently Amended) The method of claim 1, wherein accessing the first memory to retrieve the weights of the weight tensor in the transformed order that is different than the order for retrieving the weights for the calculation at the network layer of the trained machine learning model comprises retrieving the weights according to a pattern of memory access iterating over a slowest changing dimension of the weight tensor. (Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.” Taba fig. 6a iterates over all the dimensions, R and S, so Taba necessarily iterates over the slowest changing dimension.)
Taba teaches claims 3, 11 and 20. (Original) The method of claim 2, wherein accessing the first memory to retrieve the weights according to the pattern of memory access iterating over the slowest changing dimension of the weight tensor comprises retrieving the weights according to a pattern of memory access iterating over a height dimension of the weight tensor. (Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.” Taba fig. 6a iterates over all the dimensions, R and S, so Taba necessarily iterates over the height dimension.)
Taba teaches claims 4, 12 and 21. The method of claim 1, wherein accessing the first memory to retrieve weights of the weight tensor in the transformed order that is different than the order for retrieving the weights for the calculation at the network layer of the trained machine learning model comprises accessing the first memory to retrieve weights of the weight tensor in an order specified by a first counter variable and a second counter variable of a first memory access command, wherein the first counter variable and the second counter variable are configured to represent a location in the weight tensor, and wherein the first counter variable and the second counter variable are (Taba fig. 6b shows an access and storage order that are different. The first and second counter variable is the position in the matrix, see below.) Taba doesn’t teach iterating one column at a time, which is what happens when you transpose the counters in a square 2D matrix.
PNG
media_image1.png
132
314
media_image1.png
Greyscale
Taba fig. 6b.
However, Smely teaches traversing a column one-at-a-time. (Smely para 47 “hardware lowering operations of the instant disclosure may involve linearizing matrices or submatrices (e.g., patches of a matrix) by converting them to and/or arranging them in a single row or column of a matrix multiplication operand to allow for matrix multiplication.”)
Taba, Smely and the claims are all directed to machine implementations of linear algebra. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to traverse the columns after accessing on a row-by-row basis in order to “improve the efficiency of neural networks that rely on convolution” (Smely para 45), because flattening the matrix allows for parallel processing of all the columnar values at once.
Taba teaches claims 5, 13 and 22. The method of claim 1, wherein loading the weights to the second memory in the transformed order comprises loading the weights to the second memory in a linear layout according to a pattern of memory access iterating over a slowest changing dimension of the weight tensor. (Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.” Taba fig. 6a iterates over all the dimensions, R and S, so Taba necessarily iterates over the slowest changing dimension.)
Taba teaches claims 6, 14 and 23. The method of claim 5, wherein loading the weights to the second memory in the linear layout comprises loading the weights to the second memory as a linear array. (Taba shows the linear array as the line traversing the weights in Fig. 6b, see below.)
PNG
media_image2.png
554
574
media_image2.png
Greyscale
Taba teaches claims 7, 15 and 24. The method of claim 1, further comprising:
retrieving the weights from the second memory in the transformed order; and
reordering the weights to the order for implementing the calculation at the network layer of the trained machine learning model. (Taba para 71 “FIGS. 13A-F, the weight order and input order are illustrated for exemplary spiral paths.”)
Taba teaches claims 8, 16 and 25. The method of claim 1, wherein the first memory and the second memory are in a same memory device. (Taba para 43 “IPU 300 includes a model memory 301… IPU 300 includes a plurality of cores 303.” The IPU 300 is the memory device, and the cores 303 and model memory 301 are in the IPU 300, see below.)
PNG
media_image3.png
378
602
media_image3.png
Greyscale
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Austin Hicks whose telephone number is (571)270-3377. The examiner can normally be reached Monday - Thursday 8-4 PST.
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, Mariela Reyes can be reached at (571) 270-1006. 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.
/AUSTIN HICKS/Primary Examiner, Art Unit 2142
1 Spec. 46 “The pattern of access iterating over a slower changing dimension of the weight tensor 200 may improve data locality in the memory, as the pattern of access is configured to use more of the data, such as the weights, loaded to the memory per load.”