TheInfoListRev V5.1.84
Xfr/
SummaryRelatedTreeNews

Related topics

Automatic parallelization

Sponsored
Shop Amazon for Bluetooth speakers
Browse products on Amazon.
Search Amazon →
As an Amazon Associate I earn from qualifying purchases.

Automatic parallelization, also auto-parallelization or autoparallelization, is a compiler optimization in which a compiler or other software tool transforms sequential program code so that some of its operations can execute in parallel. The generated program may use multiple processor cores or hardware threads, vector instructions, or other forms of parallel execution. Automatic parallelization attempts to reduce the amount of explicit parallel programming required of the programmer.

Automatic vectorizationAutomatic vectorizationAutomatic vectorization, in parallel computing, is a special case of automatic parallelization, where a computer program is converted from a scalar implementation, which processes a single pair of operands at a time, to a vector implementation, which processes one operation on multiple pairs of operands at once.Dependence analysisDependence analysisIn compiler theory, dependence analysis produces execution-order constraints between statements/instructions. Broadly speaking, a statement S2 depends on S1 if S1 must be executed before S2. Broadly, there are two classes of dependencies--control dependencies and data dependencies. Dependence analysis determines whether it is safe to reorder or parallelize statements.Vector processorVector processorIn computing, a vector processor is a central processing unit (CPU) that implements an instruction set where its instructions are designed to operate efficiently and architecturally sequentially on large one-dimensional arrays of data called vectors. When integrated as a hardware component the vector processor is often called a vector processing unit (VPU).Parallel computingParallel computingParallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism.Alias analysisAlias analysisAlias analysis is a technique in compiler theory, used to determine if a storage location may be accessed in more than one way. Two pointers are said to be aliased if they point to the same location. Alias analysis techniques are usually classified by flow-sensitivity and context-sensitivity. They may determine may-alias or must-alias information. The term alias analysis is often used interchangeably with points-to analysis, a specific case.Data-flow analysisData-flow analysisData-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. It forms the foundation for a wide variety of compiler optimizations and program verification techniques. A program's control-flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program.FortranFortranGeneral-purpose programming languageFortran (; formerly FORTRAN) is a third-generation, compiled, imperativeprogramming language designed for numeric computation and scientific computing. Fortran was originally developed by IBM with a reference manual being released in 1956; however, the first compilers only began to produce accurate code two years later.David KuckDavid KuckDavid Jerome Kuck (born October 3, 1937) was a professor in the Computer Science Department the University of Illinois at Urbana-Champaign from 1965 to 1993. While at the University of Illinois at Urbana-Champaign he developed the Parafrase compiler system (1977), which was the first testbed for the development of automatic vectorization and related program transformations.Optimizing compilerOptimizing compilerAn optimizing compiler is a compiler designed to generate code that is optimized in aspects such as minimizing program execution time, memory usage, storage size, and power consumption. Optimization is generally implemented as a sequence of optimizing transformations, a.k.a. compiler optimizations – algorithms that transform code to produce semantically equivalent code optimized for some aspect. Optimization is limited by a number of factors.University of Illinois Urbana-ChampaignUniversity of Illinois Urbana-ChampaignPublic university in Illinois, USThe University of Illinois Urbana-Champaign (UIUC, U of I, Illinois, or University of Illinois) is a publicland-grantresearch university in the Champaign–Urbana metropolitan area, Illinois, United States. Established in 1867, it is the founding campus and flagship institution of the University of Illinois System.Control flowControl flowIn software, control flow (or flow of control) describes how execution progresses from one command to the next. In many contexts, such as machine code and an imperativeprogramming language, control progresses sequentially (to the command located immediately after the currently executing command) except when a command transfers control to another point – in which case the command is classified as a control flow command.Single instruction, multiple dataSingle instruction, multiple dataSingle instruction, multiple data (SIMD) is a type of parallel computing (processing) in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it should not be confused with an ISA.

*As an Amazon Associate I earn from qualifying purchases.

AboutPrivacyContact

TheInfoList organizes topic information and links to original sources.

Loading topic…