Patents by Inventor Terry D. Greyzck
Terry D. Greyzck 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: 11403082Abstract: Systems and methods are configured to receive code containing an original loop that includes irregular memory accesses. The original loop can be split. A pre-execution loop that contains code to prefetch content of the memory can be generated. Execution of the pre-execution loop can access memory inclusively between a starting location and the starting location plus a prefetch distance. A modified loop that can perform at least one computation based on the content prefetched with execution of the pre-execution loop can be generated. Execution of the main loop can to follow the execution of the pre-execution loop. The original loop can be replaced with the pre-execution loop and the modified loop.Type: GrantFiled: April 30, 2021Date of Patent: August 2, 2022Assignee: Hewlett Packard Enterprise Development LPInventors: Sanyam Mehta, Gary William Elsesser, Terry D. Greyzck
-
Patent number: 9015656Abstract: A system implementing a method for generating code for execution based on a SIMT model with parallel units of threads is provided. The system identifies a loop within a program that includes vector processing. The system generates instructions for a thread that include an instruction to set a predicate based on whether the thread of a parallel unit corresponds to a vector element. The system also generates instructions to perform the vector processing via scalar operations predicated on the predicate. As a result, the system generates instructions to perform the vector processing but to avoid branch divergence within the parallel unit of threads that would be needed to check whether a thread corresponds to a vector element.Type: GrantFiled: February 28, 2013Date of Patent: April 21, 2015Assignee: Cray Inc.Inventors: Terry D. Greyzck, William R. Fulton, David W. Oehmke, Gary W. Elsesser
-
Patent number: 8826252Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for an equation which operates on data of lengths other than the limited number of vector supported data lengths. The equation is then replaced with vectorized machine executable code, wherein the machine executable code comprises a nested loop and wherein the nested loop comprises an exterior loop and a virtual interior loop. The exterior loop decomposes the equation into a plurality of loops of length N, wherein N is an integer greater than one. The virtual interior loop executes vector operations corresponding to the N length loop to form a result vector of length N, wherein the virtual interior loop includes one or more vector atomic memory operation (AMO) instructions, used to resolve false conflicts.Type: GrantFiled: June 12, 2009Date of Patent: September 2, 2014Assignee: Cray Inc.Inventor: Terry D. Greyzck
-
Patent number: 8583898Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for operations that are vectorizable. The vectorizable operations are examined to determine whether they should be executed at least in part in a vector atomic memory operation (AMO) functional unit attached to memory. If so, the compiled code includes vector AMO instructions.Type: GrantFiled: June 12, 2009Date of Patent: November 12, 2013Assignee: Cray Inc.Inventor: Terry D. Greyzck
-
Patent number: 8458685Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for an equation which may have recurring data points. The equation is then replaced with vectorized machine executable code, wherein the machine executable code comprises a nested loop and wherein the nested loop comprises an exterior loop and a virtual interior loop. The exterior loop decomposes the equation into a plurality of loops of length N, wherein N is an integer greater than one. The virtual interior loop executes vector operations corresponding to the N length loop to form a result vector resident in memory, wherein the virtual interior loop includes a vector atomic memory operation (AMO) instruction.Type: GrantFiled: June 12, 2009Date of Patent: June 4, 2013Assignee: Cray Inc.Inventor: Terry D. Greyzck
-
Patent number: 8433883Abstract: A computer system is operable to identify index elements in a vector index array that cannot be processed in parallel by calculating a complement modified bit matrix compare function between a first matrix filled with elements from the vector index array and a second matrix filled with the same elements from the vector index array.Type: GrantFiled: June 11, 2009Date of Patent: April 30, 2013Assignee: Cray Inc.Inventors: Terry D. Greyzck, William F. Long, Peter M. Klausler, Matthew F. Taylor
-
Publication number: 20100318764Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for operations that are vectorizable. The vectorizable operations are examined to determine whether they should be executed at least in part in a vector atomic memory operation (AMO) functional unit attached to memory. If so, the compiled code includes vector AMO instructions.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Cray Inc.Inventor: Terry D. Greyzck
-
Publication number: 20100318979Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for an equation which may have recurring data points. The equation is then replaced with vectorized machine executable code, wherein the machine executable code comprises a nested loop and wherein the nested loop comprises an exterior loop and a virtual interior loop. The exterior loop decomposes the equation into a plurality of loops of length N, wherein N is an integer greater than one. The virtual interior loop executes vector operations corresponding to the N length loop to form a result vector resident in memory, wherein the virtual interior loop includes a vector atomic memory operation (AMO) instruction.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Cray Inc.Inventor: Terry D. Greyzck
-
Publication number: 20100318769Abstract: A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for an equation which operates on data of lengths other than the limited number of vector supported data lengths. The equation is then replaced with vectorized machine executable code, wherein the machine executable code comprises a nested loop and wherein the nested loop comprises an exterior loop and a virtual interior loop. The exterior loop decomposes the equation into a plurality of loops of length N, wherein N is an integer greater than one. The virtual interior loop executes vector operations corresponding to the N length loop to form a result vector of length N, wherein the virtual interior loop includes one or more vector atomic memory operation (AMO) instructions, used to resolve false conflicts.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Cray Inc.Inventor: Terry D. Greyzck
-
Publication number: 20100318773Abstract: A computer system is operable to identify index elements in a vector index array that cannot be processed in parallel by calculating a complement modified bit matrix compare function between a first matrix filled with elements from the vector index array and a second matrix filled with the same elements from the vector index array.Type: ApplicationFiled: June 11, 2009Publication date: December 16, 2010Applicant: Cray Inc.Inventors: Terry D. Greyzck, William F. Long, Peter M. Klausler, Matthew F. Taylor
-
Patent number: 5987626Abstract: The precise detection of errors in computer programs using the hardware watchpoint mechanism found in computers is disclosed. In one embodiment, a software detection phase of a method detects the approximate location of an error, generating information regarding this approximate location. In this embodiment, a hardware watchpoint phase of the method detects the precise location of the error based on the information generated by the software detection phase, generating information regarding the precise location. Finally, in this embodiment of the invention, a debugger phase of the method identifies the statement in the computer program causing the error, based on the information generated by the hardware watchpoint phase.Type: GrantFiled: August 25, 1997Date of Patent: November 16, 1999Assignee: Cray Research, Inc.Inventor: Terry D. Greyzck