-
1.
公开(公告)号:US20180007302A1
公开(公告)日:2018-01-04
申请号:US15201237
申请日:2016-07-01
Applicant: Google Inc.
Inventor: Albert MEIXNER , Daniel Frederic FINCHELSTEIN , David PATTERSON , William R. MARK , Jason Rupert REDGRAVE , Ofer SHACHAM
CPC classification number: H04N5/3742 , G06F5/015 , G06F12/0207 , G06F17/16 , G06T1/20 , H04N5/341
Abstract: A method is described that includes, on an image processor having a two dimensional execution lane array and a two dimensional shift register array, repeatedly shifting first content of multiple rows or columns of the two dimensional shift register array and repeatedly executing at least one instruction between shifts that operates on the shifted first content and/or second content that is resident in respective locations of the two dimensional shift register array that the shifted first content has been shifted into.
-
公开(公告)号:US20180005074A1
公开(公告)日:2018-01-04
申请号:US15201204
申请日:2016-07-01
Applicant: Google Inc.
Inventor: Ofer SHACHAM , David PATTERSON , William R. MARK , Albert MEIXNER , Daniel Frederic FINCHELSTEIN , Jason Rupert REDGRAVE
Abstract: A method is described that includes executing a convolutional neural network layer on an image processor having an array of execution lanes and a two-dimensional shift register. The two-dimensional shift register provides local respective register space for the execution lanes. The executing of the convolutional neural network includes loading a plane of image data of a three-dimensional block of image data into the two-dimensional shift register. The executing of the convolutional neural network also includes performing a two-dimensional convolution of the plane of image data with an array of coefficient values by sequentially: concurrently multiplying within the execution lanes respective pixel and coefficient values to produce an array of partial products; concurrently summing within the execution lanes the partial products with respective accumulations of partial products being kept within the two dimensional register for different stencils within the image data; and, effecting alignment of values for the two-dimensional convolution within the execution lanes by shifting content within the two-dimensional shift register array.
-
公开(公告)号:US20170249921A1
公开(公告)日:2017-08-31
申请号:US15389168
申请日:2016-12-22
Applicant: Google Inc.
Inventor: Albert MEIXNER , Neeti DESAI , Dilan Manatunga , Jason Rupert REDGRAVE , William MARK
CPC classification number: G09G5/006 , G06F12/06 , G06T1/20 , G06T1/60 , G06T2200/28 , G09G5/02 , G09G2340/02 , H04N1/32358 , H04N2201/3291
Abstract: An image processor is described. The image processor includes an I/O unit to read input image data from external memory for processing by the image processor and to write output image data from the image processor into the external memory. The I/O unit includes multiple logical channel units. Each logical channel unit is to form a logical channel between the external memory and a respective producing or consuming component within the image processor. Each logical channel unit is designed to utilize reformatting circuitry and addressing circuitry. The addressing circuitry is to control addressing schemes applied to the external memory and reformatting of image data between external memory and the respective producing or consuming component. The reformatting circuitry is to perform the reformatting.
-
公开(公告)号:US20170161064A1
公开(公告)日:2017-06-08
申请号:US14960334
申请日:2015-12-04
Applicant: Google Inc.
Inventor: Artem VASILYEV , Jason Rupert REDGRAVE , Albert MEIXNER , Ofer SHACHAM
IPC: G06F9/30
CPC classification number: G06F9/3001 , G06F7/57 , G06F9/30014 , G06F15/80
Abstract: An apparatus is described that includes an execution unit having a multiply add computation unit, a first ALU logic unit and a second ALU logic unit. The ALU unit is to perform first, second, third and fourth instructions. The first instruction is a multiply add instruction. The second instruction is to perform parallel ALU operations with the first and second ALU logic units operating simultaneously to produce different respective output resultants of the second instruction. The third instruction is to perform sequential ALU operations with one of the ALU logic units operating from an output of the other of the ALU logic units to determine an output resultant of the third instruction. The fourth instruction is to perform an iterative divide operation in which the first ALU logic unit and the second ALU logic unit operate during to determine first and second division resultant digit values.
-
公开(公告)号:US20180005346A1
公开(公告)日:2018-01-04
申请号:US15201269
申请日:2016-07-01
Applicant: Google Inc.
Inventor: Albert MEIXNER , Daniel Frederic FINCHELSTEIN , David PATTERSON , William R. MARK , Jason Rupert REDGRAVE , Ofer SHACHAM
CPC classification number: G06T1/20 , G06K9/00986 , G11C19/28
Abstract: A method is described that includes, on an image processor having a two dimensional execution lane array and a two dimensional shift register array, doubling a simultaneous shift amount of multiple rows or columns of the two dimensional shift register array with each next iteration. The method also includes executing one or more instructions within respective lanes of the two dimensional execution lane array in between shifts of iterations. Another method is described that includes, on an image processor having a two dimensional execution lane array and a two dimensional shift register array, repeatedly executing one or more instructions within respective lanes of the execution lane array that select between content in different registers of a same array location in between repeated simultaneous shifts of multiple rows or columns of data in the two dimensional shift register array.
-
公开(公告)号:US20170249717A1
公开(公告)日:2017-08-31
申请号:US15427374
申请日:2017-02-08
Applicant: Google Inc.
Inventor: Albert MEIXNER , Hyunchul PARK , Qiuling ZHU , Jason Rupert REDGRAVE
CPC classification number: G06T1/60 , G06F9/3887 , G06T1/20
Abstract: A method is described. The method includes repeatedly loading a next sheet of image data from a first location of a memory into a two dimensional shift register array. The memory is locally coupled to the two-dimensional shift register array and an execution lane array having a smaller dimension than the two-dimensional shift register array along at least one array axis. The loaded next sheet of image data keeps within an image area of the two-dimensional shift register array. The method also includes repeatedly determining output values for the next sheet of image data through execution of program code instructions along respective lanes of the execution lane array, wherein, a stencil size used in determining the output values encompasses only pixels that reside within the two-dimensional shift register array. The method also includes repeatedly moving a next sheet of image data to be fully loaded into the two dimensional shift register array from a second location of the memory to the first location of the memory.
-
公开(公告)号:US20170163931A1
公开(公告)日:2017-06-08
申请号:US15352260
申请日:2016-11-15
Applicant: Google Inc.
Inventor: Jason Rupert REDGRAVE
CPC classification number: H04N9/045 , G06F15/173 , G06F15/8015 , G06T1/20 , G11C7/1075 , G11C19/00 , G11C19/28 , G11C19/38 , H01P5/12 , H03K19/17744 , H04N5/907
Abstract: A shift register is described. The shift register includes a plurality of cells and register space. The shift register includes circuitry having inputs to receive shifted data and outputs to transmit shifted data, wherein: i) circuitry of cells physically located between first and second logically ordered cells are configured to not perform any logical shift; ii) circuitry of cells coupled to receive shifted data transmitted by an immediately preceding logically ordered cell comprises circuitry for writing into local register space data received at an input assigned an amount of shift specified in a shift command being executed by the shift register, and, iii) circuitry of cells coupled to transmit shifted data to an immediately following logically ordered cell comprises circuitry to transmit data from an output assigned an incremented shift amount from a shift amount of an input that the data was received on.
-
-
-
-
-
-