-
公开(公告)号:US20180330467A1
公开(公告)日:2018-11-15
申请号:US15594512
申请日:2017-05-12
申请人: Google Inc.
发明人: Hyunchul PARK , Albert MEIXNER , Qiuling ZHU , William MARK
CPC分类号: G06T1/60 , G06F3/0604 , G06F3/0631 , G06F3/0659 , G06F3/0664 , G06F3/068 , G06F9/5016 , G06F12/084 , G06F12/0842 , G06F17/5009 , G06F17/5022 , G06F2212/455 , G06F2212/601 , G06F2217/86 , G06T1/20 , G09G5/363
摘要: A method is described. The method includes simulating execution of an image processing application software program. The simulating includes intercepting kernel-to-kernel communications with simulated line buffer memories that store and forward lines of image data communicated from models of producing kernels to models of consuming kernels. The simulating further includes tracking respective amounts of image data stored in the respective line buffer memories over a simulation runtime. The method also includes determining respective hardware memory allocations for corresponding hardware line buffer memories from the tracked respective amounts of image data. The method also includes generating configuration information for an image processor to execute the image processing application software program. The configuration information describes the hardware memory allocations for the hardware line buffer memories of the image processor.
-
2.
公开(公告)号:US20180007302A1
公开(公告)日:2018-01-04
申请号:US15201237
申请日:2016-07-01
申请人: Google Inc.
发明人: Albert MEIXNER , Daniel Frederic FINCHELSTEIN , David PATTERSON , William R. MARK , Jason Rupert REDGRAVE , Ofer SHACHAM
CPC分类号: H04N5/3742 , G06F5/015 , G06F12/0207 , G06F17/16 , G06T1/20 , H04N5/341
摘要: 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.
-
3.
公开(公告)号:US20180329864A1
公开(公告)日:2018-11-15
申请号:US15594502
申请日:2017-05-12
申请人: Google Inc.
发明人: Jason REDGRAVE , Albert MEIXNER , Ji KIM , Ofer SHACHAM
摘要: A method is described. The method includes configuring a first instance of object code to execute on a processor. The processor has multiple cores and an internal network. The internal network is configured in a first configuration that enables a first number of the cores to be communicatively coupled. The method also includes configuring a second instance of the object code to execute on a second instance of the processor. A respective internal network of the second instance of the processor is configured in a second configuration that enables a different number of cores to be communicatively coupled, wherein, same positioned cores on the processor and the second instance of the processor have same network addresses for the first and second configurations. A processor is also described having an internal network designed to enable the above method.
-
公开(公告)号:US20170249921A1
公开(公告)日:2017-08-31
申请号:US15389168
申请日:2016-12-22
申请人: Google Inc.
CPC分类号: G09G5/006 , G06F12/06 , G06T1/20 , G06T1/60 , G06T2200/28 , G09G5/02 , G09G2340/02 , H04N1/32358 , H04N2201/3291
摘要: 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
申请人: Google Inc.
IPC分类号: G06F9/30
CPC分类号: G06F9/3001 , G06F7/57 , G06F9/30014 , G06F15/80
摘要: 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.
-
公开(公告)号:US20180005074A1
公开(公告)日:2018-01-04
申请号:US15201204
申请日:2016-07-01
申请人: Google Inc.
发明人: Ofer SHACHAM , David PATTERSON , William R. MARK , Albert MEIXNER , Daniel Frederic FINCHELSTEIN , Jason Rupert REDGRAVE
摘要: 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.
-
公开(公告)号:US20170249716A1
公开(公告)日:2017-08-31
申请号:US15389113
申请日:2016-12-22
申请人: Google Inc.
CPC分类号: G06T1/20 , G06F8/447 , G06F9/5077
摘要: A method is described. The method includes compiling program code targeted for an image processor having programmable stencil processors composed of respective two-dimensional execution lane and shift register circuit structures. The program code is to implement a directed acyclic graph and is composed of multiple kernels that are to execute on respective ones of the stencil processors, wherein the compiling includes any of: recognizing there are a different number of kernels in the program code than stencil processors in the image processor; recognizing that at least one of the kernels is more computationally intensive than another one of the kernels; and, recognizing that the program code has resource requirements that exceed the image processor's memory capacity. The compiling further includes in response to any of the recognizing above performing any of: horizontal fusion of kernels; vertical fusion of kernels; fission of one of the kernels into multiple kernels; spatial partitioning of a kernel into multiple spatially partitioned kernels; splitting the directed acyclic graph into smaller graphs.
-
公开(公告)号:US20180329745A1
公开(公告)日:2018-11-15
申请号:US15594517
申请日:2017-05-12
申请人: Google Inc.
发明人: Hyunchul PARK , Albert MEIXNER
CPC分类号: G06F9/5005 , G06F9/4881 , G06T1/20 , G06T1/60
摘要: A method is described. The method includes constructing an image processing software data flow in which a buffer stores and forwards image data being transferred from a producing kernel to one or more consuming kernels. The method also includes recognizing that the buffer has insufficient resources to store and forward the image data. The method also includes modifying the image processing software data flow to include multiple buffers that store and forward the image data during the transfer of the image data from the producing kernel to the one or more consuming kernels.
-
公开(公告)号:US20180329685A1
公开(公告)日:2018-11-15
申请号:US15594223
申请日:2017-05-12
申请人: Google Inc.
发明人: Artem VASILYEV , Albert MEIXNER , Jason REDGRAVE
CPC分类号: G06F7/50 , G06F9/3001 , G06F9/30036 , G06F9/30134 , G06F9/3893 , G06T1/20 , G11C19/38
摘要: An execution unit is described. The execution unit includes an arithmetic logic unit (ALU) circuit having a first input to receive a first value and a second input to receive a second value. The ALU circuit includes circuitry to determine an absolute value of the first value and to add the absolute value to the second value. The first input is coupled to a first data path having register space and an output of another ALU of the execution unit circuit as alternative sources of the first value. The second input is coupled to a second data path having the register space as a source for the second value.
-
公开(公告)号:US20180005346A1
公开(公告)日:2018-01-04
申请号:US15201269
申请日:2016-07-01
申请人: Google Inc.
发明人: Albert MEIXNER , Daniel Frederic FINCHELSTEIN , David PATTERSON , William R. MARK , Jason Rupert REDGRAVE , Ofer SHACHAM
CPC分类号: G06T1/20 , G06K9/00986 , G11C19/28
摘要: 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.
-
-
-
-
-
-
-
-
-