Poplar and PopLibs
CTCPlan.hpp
Go to the documentation of this file.
1// Copyright (c) 2021 Graphcore Ltd. All rights reserved.
8#ifndef popnn_CTCPlan_hpp
9#define popnn_CTCPlan_hpp
10
11#include <poputil/DebugInfo.hpp>
12
13namespace popnn {
14namespace ctc {
15
19class Plan {
20public:
21 Plan();
22 ~Plan();
23 Plan(const Plan &other);
24 Plan(Plan &&other);
25 Plan &operator=(const Plan &other);
26 Plan &operator=(Plan &&other);
27
28 friend bool operator<(const Plan &a, const Plan &b);
29 friend bool operator==(const Plan &a, const Plan &b);
30
31 friend std::ostream &operator<<(std::ostream &o, const Plan &p);
32 friend poplar::ProfileValue poputil::toProfileValue<>(const Plan &p);
33
34 // Internal implementation
35 class Impl;
36 Impl &getImpl() const { return *impl; }
37 Plan(std::unique_ptr<Impl> impl);
38
39private:
40 std::unique_ptr<Impl> impl;
41};
42
43bool operator<(const Plan &a, const Plan &b);
44bool operator==(const Plan &a, const Plan &b);
45bool operator!=(const Plan &a, const Plan &b);
46
47} // namespace ctc
48} // namespace popnn
49
50#endif // popnn_CTCPlan_hpp
Poplibs generic debug info structure.
ProfileValue represents a read-only JSON-like tree of values that are used to store the output of the...
Definition: ProfileValue.hpp:39
An object representing a plan that describes how to map tensors and implement the CTC Loss or CTC Inf...
Definition: CTCPlan.hpp:19
Functions used in neural networks.
Definition: BatchNorm.hpp:14