-
公开(公告)号:US20200272464A1
公开(公告)日:2020-08-27
申请号:US16818200
申请日:2020-03-13
Applicant: Apple Inc.
Inventor: Eric Bainville , Tal Uliel , Erik Norden , Jeffry E. Gonion , Ali Sazegari
Abstract: In an embodiment, a matrix computation engine is configured to perform matrix computations (e.g. matrix multiplications). The matrix computation engine may perform numerous matrix computations in parallel, in an embodiment. More particularly, the matrix computation engine may be configured to perform numerous multiplication operations in parallel on input matrix elements, generating resulting matrix elements. In an embodiment, the matrix computation engine may be configured to accumulate results in a result memory, performing multiply-accumulate operations for each matrix element of each matrix.
-
公开(公告)号:US10754649B2
公开(公告)日:2020-08-25
申请号:US16043772
申请日:2018-07-24
Applicant: Apple Inc.
Inventor: Eric Bainville , Jeffry E. Gonion , Ali Sazegari , Gerard R. Williams, III
Abstract: In an embodiment, a computation engine is configured to perform vector multiplications, producing either vector results or outer product (matrix) results. The instructions provided to the computation engine specify a matrix mode or a vector mode for the instructions. The computation engine performs the specified operation. The computation engine may perform numerous computations in parallel, in an embodiment. In an embodiment, the instructions may also specify an offset with the input memories, providing additional flexibility in the location of operands. More particularly, the computation engine may be configured to perform numerous multiplication operations in parallel and to accumulate results in a result memory, performing multiply-accumulate operations for each matrix/vector element in the targeted locations of the output memory.
-
公开(公告)号:US10599427B2
公开(公告)日:2020-03-24
申请号:US15955417
申请日:2018-04-17
Applicant: Apple Inc.
Inventor: Eric Bainville , Ali Sazegari
Abstract: A novel software updating method is provided. A target file is divided into segments, where some segments are updated by patching, while other segments are updated by archiving. The segmentation of the update allows very large files such as DYLD shared caches to be patched in-place, i.e., by using free space available within the file to perform patching rather than requiring enough free space on disk to store both the new version and the old version of the file. The segmentation of the update also allows each segment to be updated individually by the most optimal update method (copy, patch, or archive) so that the size of the update file can be minimized.
-
公开(公告)号:US20190310854A1
公开(公告)日:2019-10-10
申请号:US15946719
申请日:2018-04-05
Applicant: Apple Inc.
Inventor: Eric Bainville , Tal Uliel , Jeffry E. Gonion , Ali Sazegari , Erik K. Norden
Abstract: In an embodiment, a computation engine may perform computations on input vectors having vector elements of a first precision and data type. The computation engine may convert the vector elements from the first precision to a second precision and may also interleave the vector elements as specified by an instruction issued by the processor to the computation engine. The interleave may be based on a ratio of a result precision and the second precision. An extract instruction may be supported to extract results from the computations and convert and deinterleave the vector elements to to provide a compact result in a desired order.
-
公开(公告)号:US09792109B2
公开(公告)日:2017-10-17
申请号:US14941269
申请日:2015-11-13
Applicant: Apple Inc.
Inventor: Eric Bainville , Ali Sazegari
Abstract: A novel method for updating a bundle of files from an update package that minimize the free space requirement on disk is provided. The method segments the update of the entire package and performs the update in multiple passes. The method divide the archive payload of the entire update package into pieces and expand one piece of the archive in each pass. At the end of each pass, some embodiments remove from the disk the archive piece expanded in that pass in order to free additional space for the next pass.
-
公开(公告)号:US11914737B2
公开(公告)日:2024-02-27
申请号:US17242105
申请日:2021-04-27
Applicant: Apple Inc.
Inventor: Frederic Jacobs , Eric Bainville , Yannick L. Sierra
CPC classification number: G06F21/6227 , H04L9/0861 , H04L9/0894 , H04L9/3247 , G06F2221/2107
Abstract: Embodiments described herein provide a compressed container format that enables the container to be decrypted and decompressed in a streaming manner. One embodiment provides a container format for encrypted archives in which data is compressed and encrypted in a segmented manner. A segment of the archive can be decompressed, decrypted, and checked for integrity before the entire archive is received. Metadata for the encrypted archive is also encrypted to secure details of data stored within the archive.
-
公开(公告)号:US11822921B2
公开(公告)日:2023-11-21
申请号:US18054017
申请日:2022-11-09
Applicant: Apple Inc.
Inventor: Eric Bainville , Ali Sazegari
CPC classification number: G06F9/30145 , G06F9/30036 , G06F9/30098 , H03M7/3059 , H03M7/3082 , G06F9/30018
Abstract: In an embodiment, a processor supports one or more compression assist instructions which may be employed in compression software to improve the performance of the processor when performing compression/decompression. That is, the compression/decompression task may be performed more rapidly and consume less power when the compression assist instructions are employed then when they are not. In some cases, the cost of a more effective, more complex compression algorithm may be reduced to the cost of a less effective, less complex compression algorithm.
-
公开(公告)号:US11086625B2
公开(公告)日:2021-08-10
申请号:US16566344
申请日:2019-09-10
Applicant: Apple Inc.
Inventor: Eric Bainville , Ali Sazegari
Abstract: In an embodiment, a processor supports one or more compression assist instructions which may be employed in compression software to improve the performance of the processor when performing compression/decompression. That is, the compression/decompression task may be performed more rapidly and consume less power when the compression assist instructions are employed then when they are not. In some cases, the cost of a more effective, more complex compression algorithm may be reduced to the cost of a less effective, less complex compression algorithm.
-
公开(公告)号:US10990401B2
公开(公告)日:2021-04-27
申请号:US16837631
申请日:2020-04-01
Applicant: Apple Inc.
Inventor: Tal Uliel , Eric Bainville , Jeffry E. Gonion , Ali Sazegari
IPC: G06F9/302 , G06F9/312 , G06F15/76 , G06F17/16 , G06F7/52 , G06F9/38 , G06F15/80 , G06F9/30 , G06F7/544
Abstract: In an embodiment, a computation engine may perform dot product computations on input vectors. The dot product operation may have a first operand and a second operand, and the dot product may be performed on a subset of the vector elements in the first operand and each of the vector elements in the second operand. The subset of vector elements may be separated in the first operand by a stride that skips one or more elements between each element to which the dot product operation is applied. More particularly, in an embodiment, the input operands of the dot product operation may be a first vector having second vectors as elements, and the stride may select a specified element of each second vector.
-
公开(公告)号:US10592239B2
公开(公告)日:2020-03-17
申请号:US16423702
申请日:2019-05-28
Applicant: Apple Inc.
Inventor: Eric Bainville , Tal Uliel , Erik Norden , Jeffry E. Gonion , Ali Sazegari
Abstract: In an embodiment, a matrix computation engine is configured to perform matrix computations (e.g. matrix multiplications). The matrix computation engine may perform numerous matrix computations in parallel, in an embodiment. More particularly, the matrix computation engine may be configured to perform numerous multiplication operations in parallel on input matrix elements, generating resulting matrix elements. In an embodiment, the matrix computation engine may be configured to accumulate results in a result memory, performing multiply-accumulate operations for each matrix element of each matrix.
-
-
-
-
-
-
-
-
-