PetaVision  Alpha
TransposeWeights.hpp
1 /*
2  * TransposeWeights.hpp
3  *
4  * Created on: Sep 1, 2017
5  * Author: peteschultz
6  */
7 
8 #ifndef TRANSPOSEWEIGHTS_HPP_
9 #define TRANSPOSEWEIGHTS_HPP_
10 
11 #include "columns/Communicator.hpp"
12 #include "components/Weights.hpp"
13 
14 namespace PV {
15 
17  public:
18  static void transpose(Weights *preWeights, Weights *postWeights, Communicator *comm);
19  static void transpose(Weights *preWeights, Weights *postWeights, Communicator *comm, int arbor);
20 
21  private:
22  static void transposeShared(Weights *preWeights, Weights *postWeights, int arbor);
23  static void
24  transposeNonshared(Weights *preWeights, Weights *postWeights, Communicator *comm, int arbor);
25 };
26 
27 } // namespace PV
28 
29 #endif /* TRANSPOSEWEIGHTS_HPP_ */