Menu

Pipeline execution

We like it or not, we must prepare to reuse a memory allocated network bacause we can't allocate them all in what relates to the weights in the context of an ensemble method.

What is the best way to do so?

Remembering our old computer architecture courses at school, we may notice that we have all the qualities for a "RISK" pipeline execution. In a risk architecture, the instruction set is and must be simple. For instructions taking multiple cycles, if there is enough similarity between the instructions, we can begin the first cycle of an instruction and then execute the second cycle of the instruction at the next physical layer while beginning the first cycle of the next instruction at the first physical layer. Then the first instruction may execute its third cycle on the third physical layer, the second instruction its second cycle on the second physical layer and a new third instruction begins its first cycle on the first physical layer. Etc. Hence multiple instructions are computed at the same time much like a car assembly line. Multiple cars get assembled at the same time though not at the same step and the throughput is increased.

In our case, a network may be regarded as an instruction and since, in our design, the layers are executed one after the other, a layer execution may be regarded as

Posted by Francis Girard 2012-08-10