Patents by Inventor Shou Jen Lai
Shou Jen Lai has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11175920Abstract: A computing device operative to perform parallel computations. The computing device includes a controller unit to assign workgroups to a set of batches. Each batch includes a program counter shared by M workgroups assigned to the batch, where M is a positive integer determined according to a configurable batch setting. Each batch further includes a set of thread processing units operative to execute, in parallel, a subset of work items in each of the M workgroups. Each batch further includes a spilling memory to store intermediate data of the M workgroups when one or more workgroups in the M workgroups encounters a synchronization barrier.Type: GrantFiled: April 25, 2019Date of Patent: November 16, 2021Assignee: MediaTek Inc.Inventors: Shou-Jen Lai, Pei-Kuei Tsung, Po-Chun Fan, Sung-Fang Tsai
-
Patent number: 10838656Abstract: A system is provided to manage on-chip memory access for multiple threads. The system comprises multiple parallel processing units to execute the threads, and an on-chip memory including multiple memory units and each memory unit includes a first region and a second region. The first region and the second region have different memory addressing schemes for parallel access by the threads. The system further comprises an address decoder coupled to the parallel processing units and the on-chip memory. The address decoder is operative to activate access by the threads to memory locations in the first region or the second region according to decoded address signals from the parallel processing units.Type: GrantFiled: August 12, 2017Date of Patent: November 17, 2020Assignee: MediaTek Inc.Inventors: Po-Chun Fan, Pei-Kuei Tsung, Sung-Fang Tsai, Chia-Hsien Chou, Shou-Jen Lai
-
Patent number: 10394929Abstract: A system performs convolution computing in either a matrix mode or a filter mode. An analysis module generates a mode select signal to select the matrix mode or the filter mode based on results of analyzing convolution characteristics. The results include at least a comparison of resource utilization between the matrix mode and the filter mode. A convolution module includes processing elements, each of which further includes arithmetic computing circuitry. The convolution module is configured according to the matrix mode for performing matrix multiplications converted from convolution computations, and is configured according to the filter mode for performing the convolution computations.Type: GrantFiled: October 19, 2017Date of Patent: August 27, 2019Assignee: MediaTek, Inc.Inventors: Sung-Fang Tsai, Pei-Kuei Tsung, Po-Chun Fan, Shou-Jen Lai
-
Publication number: 20190250924Abstract: A computing device operative to perform parallel computations. The computing device includes a controller unit to assign workgroups to a set of batches. Each batch includes a program counter shared by M workgroups assigned to the batch, where M is a positive integer determined according to a configurable batch setting. Each batch further includes a set of thread processing units operative to execute, in parallel, a subset of work items in each of the M workgroups. Each batch further includes a spilling memory to store intermediate data of the M workgroups when one or more workgroups in the M workgroups encounters a synchronization barrier.Type: ApplicationFiled: April 25, 2019Publication date: August 15, 2019Inventors: Shou-Jen Lai, Pei-Kuei Tsung, Po-Chun Fan, Sung-Fang Tsai
-
Patent number: 10324730Abstract: A computing device performs parallel computations using a set of thread processing units and a memory shuffle engine. The memory shuffle engine includes a register array to store an array of data elements retrieved from a memory buffer, and an array of input selectors. According to a first control signal, each input selector transfers at least a first data element from a corresponding subset of the register array, which is coupled to the input selector via input lines, to one or more corresponding thread processing units. According to a second control signal, each input selector transfers at least a second data element from another subset of the register array, which is coupled to another input selector via other input lines, to the one or more corresponding thread processing units.Type: GrantFiled: October 4, 2016Date of Patent: June 18, 2019Assignee: MediaTek, Inc.Inventors: Shou-Jen Lai, Pei-Kuei Tsung, Po-Chun Fan, Sung-Fang Tsai
-
Publication number: 20180173676Abstract: A system performs convolution computing in either a matrix mode or a filter mode. An analysis module generates a mode select signal to select the matrix mode or the filter mode based on results of analyzing convolution characteristics. The results include at least a comparison of resource utilization between the matrix mode and the filter mode. A convolution module includes processing elements, each of which further includes arithmetic computing circuitry. The convolution module is configured according to the matrix mode for performing matrix multiplications converted from convolution computations, and is configured according to the filter mode for performing the convolution computations.Type: ApplicationFiled: October 19, 2017Publication date: June 21, 2018Inventors: Sung-Fang Tsai, Pei-Kuei Tsung, Po-Chun Fan, Shou-Jen Lai
-
Publication number: 20180173463Abstract: A system is provided to manage on-chip memory access for multiple threads. The system comprises multiple parallel processing units to execute the threads, and an on-chip memory including multiple memory units and each memory unit includes a first region and a second region. The first region and the second region have different memory addressing schemes for parallel access by the threads. The system further comprises an address decoder coupled to the parallel processing units and the on-chip memory. The address decoder is operative to activate access by the threads to memory locations in the first region or the second region according to decoded address signals from the parallel processing units.Type: ApplicationFiled: August 12, 2017Publication date: June 21, 2018Inventors: Po-Chun Fan, Pei-Kuei Tsung, Sung-Fang Tsai, Chia-Hsien Chou, Shou-Jen Lai
-
Patent number: 9786098Abstract: A rendering method executed by a graphics processing unit includes: loading a vertex shading command from a first command queue to a shader module; executing the vertex shading command for computing the varying of the vertices to perform a vertex shading operation by taking the vertices as first input data; storing first tessellation stage commands into a second command queue; loading the first tessellation stage commands to the shader module; and executing the first tessellation commands for computing first tessellation stage outputs to perform a first tessellation stage of the one or more tessellation stages by taking the varying of the vertices as second input data. The vertex shading command is stored into the first command queue by a first processing unit. The varying of the vertices and the first tessellation stage outputs are stored in a cache of the graphics processing unit.Type: GrantFiled: July 6, 2015Date of Patent: October 10, 2017Assignee: MEDIATEK INC.Inventors: Pei-Kuei Tsung, Shou-Jen Lai, Yan-Hong Lu, Sung-Fang Tsai, Chien-Ping Lu
-
Publication number: 20170277567Abstract: A computing device performs parallel computations using a set of thread processing units and a memory shuffle engine. The memory shuffle engine includes a register array to store an array of data elements retrieved from a memory buffer, and an array of input selectors. According to a first control signal, each input selector transfers at least a first data element from a corresponding subset of the register array, which is coupled to the input selector via input lines, to one or more corresponding thread processing units. According to a second control signal, each input selector transfers at least a second data element from another subset of the register array, which is coupled to another input selector via other input lines, to the one or more corresponding thread processing units.Type: ApplicationFiled: October 4, 2016Publication date: September 28, 2017Inventors: Shou-Jen Lai, Pei-Kuei Tsung, Po-Chun Fan, Sung-Fang Tsai
-
Publication number: 20170262291Abstract: A heterogeneous computing system described herein includes a parallel processing module shared among a set of heterogeneous processors. The processors have different processor types, and each processor includes an internal memory unit to store its current context. The parallel processing module includes multiple execution units. A switch module is coupled to the processors and the parallel processing module. The switch module is operative to select, according to a control signal, one of the processors to use the parallel processing module for executing an instruction with multiple data entries in parallel.Type: ApplicationFiled: March 9, 2016Publication date: September 14, 2017Inventors: Shou-Jen Lai, Pei-Kuei Tsung, Sung-Fang Tsai
-
Patent number: 9760969Abstract: A graphic processing system and a method of graphic processing are provided. The graphic processing system has a collector, a plurality of slots, a scheduler, an arbiter and at least an arithmetic logic unit (ALU). The collector is configured to group a plurality of workitems into elementary wavefronts. Each of the elementary wavefronts comprises workitems configured to execute the same kernel code. The scheduler is configured to allocate the elementary wavefronts to the slots. Two or more of the elementary wavefronts exist at one slot to form one of a plurality of macro wavefronts. The arbiter is configured to select one of the macro wavefronts. The ALU is configured to execute workitems of at least an elementary wavefront of the selected macro wavefront and output results of execution of the workitems.Type: GrantFiled: March 9, 2015Date of Patent: September 12, 2017Assignee: MEDIATEK INC.Inventors: Ming-Hao Liao, Shou-Jen Lai, Chia-Hsien Chou, Po-Chun Fan, Yan-Hong Lu, Chih-Chung Cheng, Hung-Yau Lin
-
Publication number: 20170011550Abstract: A rendering method executed by a graphics processing unit includes: loading a vertex shading command from a first command queue to a shader module; executing the vertex shading command for computing the varying of the vertices to perform a vertex shading operation by taking the vertices as first input data; storing first tessellation stage commands into a second command queue; loading the first tessellation stage commands to the shader module; and executing the first tessellation commands for computing first tessellation stage outputs to perform a first tessellation stage of the one or more tessellation stages by taking the varying of the vertices as second input data. The vertex shading command is stored into the first command queue by a first processing unit. The varying of the vertices and the first tessellation stage outputs are stored in a cache of the graphics processing unit.Type: ApplicationFiled: July 6, 2015Publication date: January 12, 2017Inventors: Pei-Kuei TSUNG, Shou-Jen LAI, Yan-Hong LU, Sung-Fang TSAI, Chien-Ping LU
-
Publication number: 20160267621Abstract: A graphic processing system and a method of graphic processing are provided. The graphic processing system has a collector, a plurality of slots, a scheduler, an arbiter and at least an arithmetic logic unit (ALU). The collector is configured to group a plurality of workitems into elementary wavefronts. Each of the elementary wavefronts comprises workitems configured to execute the same kernel code. The scheduler is configured to allocate the elementary wavefronts to the slots. Two or more of the elementary wavefronts exist at one slot to form one of a plurality of macro wavefronts. The arbiter is configured to select one of the macro wavefronts. The ALU is configured to execute workitems of at least an elementary wavefront of the selected macro wavefront and output results of execution of the workitems.Type: ApplicationFiled: March 9, 2015Publication date: September 15, 2016Inventors: Ming-Hao Liao, Shou-Jen Lai, Chia-Hsien Chou, Po-Chun Fan, Yan-Hong Lu, Chih-Chung Cheng, Hung-Yau Lin
-
Publication number: 20030016226Abstract: An apparatus and method for pixel block compression during rendering in computer graphics is proposed. The method is to divide the image frame into a plurality of blocks and compute those blocks covered by a rendering triangle. If a block is not totally covered by the triangle, the method will read in and decompress the block for reference. Then, the system will render the blocks covered by the triangle and compress each block. At last, the system stores the compressed data stream into memory. The compression method is first to compute a plurality of initial seed colors for clustering the block of pixels. Then, each pixel within the block will be classified into groups with the corresponding initial seed colors. Those pixels with the same initial seed color are averaged to become a new final seed color. Therefore, the coded data comprise the index table and the final seed colors.Type: ApplicationFiled: July 18, 2001Publication date: January 23, 2003Inventors: Chung-Yen Lu, Shou Jen Lai