Global Information Lookup Global Information

Software pipelining information


In computer science, software pipelining is a technique used to optimize loops, in a manner that parallels hardware pipelining. Software pipelining is a type of out-of-order execution, except that the reordering is done by a compiler (or in the case of hand written assembly code, by the programmer) instead of the processor. Some computer architectures have explicit support for software pipelining, notably Intel's IA-64 architecture.

It is important to distinguish software pipelining, which is a target code technique for overlapping loop iterations, from modulo scheduling, the currently most effective known compiler technique for generating software pipelined loops. Software pipelining has been known to assembly language programmers of machines with instruction-level parallelism since such architectures existed. Effective compiler generation of such code dates to the invention of modulo scheduling by Rau and Glaeser.[1] Lam showed that special hardware is unnecessary for effective modulo scheduling. Her technique, modulo variable expansion is widely used in practice.[2] Gao et al. formulated optimal software pipelining in integer linear programming, culminating in validation of advanced heuristics in an evaluation paper.[3] This paper has a good set of references on the topic.

  1. ^ B.R. Rau and C.D. Glaeser, "Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing", In Proceedings of the Fourteenth Annual Workshop on Microprogramming (MICRO-14), December 1981, pages 183-198
  2. ^ M. Lam, "Software pipelining: An effective scheduling technique for VLIW machines", In Proceedings of the ACM SIGPLAN 88 Conference on Programming Language Design and Implementation (PLDI 88), July 1988 pages 318-328. Also published as ACM SIGPLAN Notices 23(7).
  3. ^ J. Ruttenberg, G.R. Gao, A. Stoutchinin, and W. Lichtenstein, "Software pipelining showdown: optimal vs. heuristic methods in a production compiler", In Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, June 1996, pages 1-11. Also published as ACM SIGPLAN Notices 31(5).

and 21 Related for: Software pipelining information

Request time (Page generated in 0.8132 seconds.)

Software pipelining

Last Update:

computer science, software pipelining is a technique used to optimize loops, in a manner that parallels hardware pipelining. Software pipelining is a type of...

Word Count : 1991

HTTP pipelining

Last Update:

legacy HTTP/1.1 servers do not support pipelining correctly, forcing most HTTP clients to not use HTTP pipelining. The technique was superseded by multiplexing...

Word Count : 1648

Cydrome

Last Update:

instruction word (VLIW) containing instructions from parallel operations. Software pipelining in a custom Fortran compiler generated code that would run efficiently...

Word Count : 609

Loop optimization

Last Update:

the only dependencies are between iterations of the outer loop. Software pipelining – a type of out-of-order execution of loop iterations to hide the...

Word Count : 1501

Explicitly parallel instruction computing

Last Update:

architecture also added rotating register files, a tool useful for software pipelining since it avoids having to manually unroll and rename registers. There...

Word Count : 871

Simultaneous and heterogeneous multithreading

Last Update:

When they finish the next subtask is handed to the TPU(s). Adding software pipelining allows the second subtask to run using partial results from the first...

Word Count : 472

Cell software development

Last Update:

efficiently accommodated using software pipelining of memory block transfers using a multi-buffering strategy. The software cache offers a solution for random...

Word Count : 774

Graphics pipeline

Last Update:

overcome the bottlenecks of the geometry pipeline fixed layout. Pipeline (computing) Instruction pipelining Hardware acceleration Akenine-Möller, Tomas;...

Word Count : 4397

Continuous delivery

Last Update:

following a pipeline through a "production-like environment", without doing so manually. It aims at building, testing, and releasing software with greater...

Word Count : 1779

Filename

Last Update:

through the DCF standard), a date and time (widely used by smartphone camera software and for screenshots), and/or a comment such as the name of a subject or...

Word Count : 3699

Instruction scheduling

Last Update:

block boundaries. Modulo scheduling: an algorithm for generating software pipelining, which is a way of increasing instruction level parallelism by interleaving...

Word Count : 1189

Optimizing compiler

Last Update:

body inside each of the if and else clauses of the conditional. Software pipelining The loop is restructured in such a way that work done in an iteration...

Word Count : 5321

Open64

Last Update:

of Open64 that was released in 2002 was missing its very advanced software pipelining code generator, and had only a rudimentary code generator for Itanium...

Word Count : 674

XML pipeline

Last Update:

one of the first software programs to use XML pipelines. 1998 PolarLake build XML Operating System, which includes XML Pipelining. 2002 Notes submitted...

Word Count : 1308

Financial software

Last Update:

every transaction of the business. Pipeline tracking is one of the key features of an accounting system and software for asset management. This provides...

Word Count : 938

IWarp

Last Update:

Lueh and James Reinders. Modeling Instruction-Level Parallelism for Software Pipelining. In Proceedings of the IFIP WG10.3 Working Conference on Architectures...

Word Count : 597

International Symposium on Microarchitecture

Last Update:

2016 (For MICRO 1994) Iterative modulo scheduling: an algorithm for software pipelining loops 2015 (For MICRO 1996) Trace Cache: A Low Latency Approach to...

Word Count : 338

The Portland Group

Last Update:

applications. PGI compilers incorporate global optimization, vectorization, software pipelining, and shared-memory parallelization capabilities targeting both Intel...

Word Count : 1187

Pipeline

Last Update:

operation of these assets, some pipeline companies are using what is called "Advanced Pipeline Applications", which are software tools installed on top of the...

Word Count : 8291

Cycles per instruction

Last Update:

cycle and an instruction passes through the stages sequentially. Without pipelining, in a multi-cycle processor, a new instruction is fetched in stage 1 only...

Word Count : 912

Colonial Pipeline

Last Update:

The Colonial Pipeline is the largest pipeline system for refined oil products in the U.S. The pipeline – consisting of three tubes – is 5,500 miles (8...

Word Count : 4795

PDF Search Engine © AllGlobal.net