Vectorizing combinations of program operations
First Claim
1. A non-transitory computer accessible memory medium that stores program instructions for vectorizing combinations of program operations, wherein the program instructions are executable to perform:
- receiving program code comprising a combination of individually vectorizable program portions that collectively implement a first computation, wherein each individually vectorizable program portion has at least one array input and at least one array output, wherein the program code comprises graphical program code in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program code;
transforming the combination of individually vectorizable program portions into a single vectorizable program portion, wherein the single vectorizable program portion comprises a functional composition of the combination of individually vectorizable program portions; and
generating vectorized executable code implementing the first computation based on the single vectorizable program portion, wherein said generating comprises generating executable code directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor.
5 Assignments
0 Petitions
Accused Products
Abstract
System and method for vectorizing combinations of program operations. Program code is received that includes a combination of individually vectorizable program portions that collectively implement a first computation. Each individually vectorizable program portion has at least one array input and at least one array output. The combination of individually vectorizable program portions is transformed into a single vectorizable program portion that is or includes a functional composition of the combination of individually vectorizable program portions. Vectorized executable code implementing the first computation is generated based on the single vectorizable program portion. The generated executable code is directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor.
-
Citations
23 Claims
-
1. A non-transitory computer accessible memory medium that stores program instructions for vectorizing combinations of program operations, wherein the program instructions are executable to perform:
-
receiving program code comprising a combination of individually vectorizable program portions that collectively implement a first computation, wherein each individually vectorizable program portion has at least one array input and at least one array output, wherein the program code comprises graphical program code in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program code; transforming the combination of individually vectorizable program portions into a single vectorizable program portion, wherein the single vectorizable program portion comprises a functional composition of the combination of individually vectorizable program portions; and generating vectorized executable code implementing the first computation based on the single vectorizable program portion, wherein said generating comprises generating executable code directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for vectorizing combinations of program operations, the method comprising:
utilizing a computer to perform; receiving program code comprising a combination of individually vectorizable program portions that collectively implement a first computation, wherein each individually vectorizable program portion has at least one array input and at least one array output, wherein the program code comprises graphical program code in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program code; transforming the combination of individually vectorizable program portions into a single vectorizable program portion, wherein the single vectorizable program portion comprises a functional composition of the combination of individually vectorizable program portions; and generating vectorized executable code implementing the first computation based on the single vectorizable program portion, wherein said generating comprises generating executable code directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. A system for vectorizing combinations of program operations, comprising:
-
a processor; and a memory medium coupled to the processor; and a display device; wherein the memory medium stores program instructions executable by the processor to; receive program code comprising a combination of individually vectorizable program portions that collectively implement a first computation, wherein each individually vectorizable program portion has at least one array input and at least one array output, wherein the program code comprises graphical program code in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program code; transform the combination of individually vectorizable program portions into a single vectorizable program portion, wherein the single vectorizable program portion comprises a functional composition of the combination of individually vectorizable program portions; and generate vectorized executable code implementing the first computation based on the single vectorizable program portion, wherein said generating comprises generating executable code directed to SIMD (Single-Instruction-Multiple-Data) computing units of a target processor.
-
Specification