Package bbflow

Class ff_all2all<T,U,V,W>

java.lang.Object
bbflow.block<T,U>
bbflow.ff_node<T,V>
bbflow.ff_all2all<T,U,V,W>
Type Parameters:
T - Custom type of channels

public class ff_all2all<T,U,V,W> extends ff_node<T,V>
All2All Building Block able to merge multiple farms
  • Field Details

    • a2a

      collection of blocks where first and last element are of type ff_farm in any circumstances
    • bufferSize

      int bufferSize
  • Constructor Details

    • ff_all2all

      public ff_all2all()
    • ff_all2all

      public ff_all2all(int bufferSize)
  • Method Details

    • preload

      public static void preload()
    • combine_farm

      public void combine_farm(ff_farm<T,U> b1, ff_farm<V,W> b2, ff_node<U,Object> customEmitterR, ff_node<Object,V> customCollectorG, boolean merge)
      All2All building block. For details see the thesis. 8 Cases considered
      Parameters:
      b1 - Left farm
      b2 - Right farm
      customEmitterR - custom emitter to use during fusion
      customCollectorG - custom collector to use during fusion
      merge - true, pipeline with single channel generated between farms. False pipeline with multiple channels
    • combine_farm

      public void combine_farm(ff_farm<T,U> b1, ff_farm<V,W> b2)
    • addInputChannel

      public void addInputChannel(ff_queue<T> input)
      add input channel to the left side
      Overrides:
      addInputChannel in class ff_node<T,V>
      Parameters:
      input - input channel
    • addOutputChannel

      public void addOutputChannel(ff_queue<V> output)
      add output channel to the right side
      Overrides:
      addOutputChannel in class ff_node<T,V>
      Parameters:
      output - output channel
    • start

      public void start()
      start all blocks
      Overrides:
      start in class ff_node<T,V>
    • join

      public void join()
      wait end of all blocks
      Overrides:
      join in class ff_node<T,V>