High-Performance Tensor Transposition (HPTT) C++ Library
A C++ library for high-performance multi-threaded tensor transpositions.
plan.h
1#pragma once
2
3#include <vector>
4
5#include "plan.h"
6
7
8namespace hptt {
9
10class ComputeNode;
11
17class Plan
18{
19 public:
20 Plan() : rootNodes_(nullptr), numTasks_(0) { }
21
22 Plan(std::vector<int>loopOrder, std::vector<int>numThreadsAtLoop);
23
24 ~Plan();
25
26
27 const ComputeNode* getRootNode_const(int threadId) const;
28 ComputeNode* getRootNode(int threadId) const;
29 int getNumTasks() const { return numTasks_; }
30
31 void print() const;
32
33 private:
34 int numTasks_;
35 std::vector<int> loopOrder_;
36 std::vector<int> numThreadsAtLoop_;
37 ComputeNode *rootNodes_;
38};
39
40}
Definition: compute_node.h:3