Reduction operations in Legion must be implemented as a class Operation with associative and commutative properties which can This is only possibleīecause the Legion runtime understands reductions are a special Reductions: Legion reductions permit tasks applying reductions It is possible that multiple tasks will be applying reductions Some wires into a node may come from different circuit pieces, Various incoming wires to each of the different nodes. In the circuit simulation, reduction operations are used in theĭistribute charge phase to accumulate charge differences from Visible to a task even though the ultimate destination of the The runtime to buffer reduction operations locally in a memory As we will see in the next section, this enables The runtime is free to actually perform the apply operations inĪny order. Regardless of the order in which reductions are issued by tasks Legion assumes that reduction operations are always associativeĪnd commutative in the mathematical sense. We describe how fold functionsĪre used by the runtime in the next section. Support a second operation called a fold which must be a pureįunction of the type T2 -> T2 -> T2 where T2 is again the In addition to the apply function, reduction operations may also T1 is the type of the cell and T2 is the type of the particle. Of a reduction might be inserting a particle into a cell where One simple example of a reduction is a summation, whereīoth T1 and T2 are double values. T2 is the type of the value being applied as a reduction. Where T1 is the type of the field being reduced to and Which must be a pure function of the form T1 -> T2 -> T1 Of the optimizations supported by the Legion runtimeĪ reduction operation in Legion is characterized by an apply function Give a mathematically precise definition of a reduction Which tasks will apply values to a location usingĪ specific reduction operation, instead of needing toĪrbitrarily mutate locations in a logical region. Reduction privileges are used to handle the scenario in Reduction privilegesĪllow the user to describe a very specific (butĬommon) computational paradigm to the runtime. One of the interesting features employed by the circuit
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |