Poplar and PopLibs
CycleCount.hpp
1// Copyright (c) 2019 Graphcore Ltd. All rights reserved.
2
3#ifndef poplar_CycleCount_hpp
4#define poplar_CycleCount_hpp
5
6#include <poplar/Graph.hpp>
7#include <poplar/Program.hpp>
8#include <string.h>
9
10namespace poplar {
11
28 unsigned tile, SyncType syncType,
29 const DebugContext &debugContext = {});
30
50 unsigned tile, SyncType syncType,
51 const DebugContext &debugContext = {});
52
63std::vector<poplar::Tensor> cycleStamp(poplar::Graph &graph,
65 const std::vector<unsigned> &tiles,
66 SyncType syncType,
67 const DebugContext &debugContext = {});
68
69} // namespace poplar
70
71#endif // poplar_CycleCount_hpp
DebugContext gathers the common external parameters of the context of an operation.
Definition: DebugContext.hpp:221
This class represents a graph program to be executed on the IPU.
Definition: Graph.hpp:52
A reference to a subset of tensor elements.
Definition: Tensor.hpp:38
Program that executes a sequence of programs.
Definition: Program.hpp:77
Poplar classes and functions.
Definition: ArrayRef.hpp:14
poplar::Tensor cycleStamp(poplar::Graph &graph, poplar::program::Sequence &prog, unsigned tile, SyncType syncType, const DebugContext &debugContext={})
Add a sequence program to record an absolute hardware cycle stamp on a given tile.
poplar::Tensor cycleCount(poplar::Graph &graph, poplar::program::Sequence &prog, unsigned tile, SyncType syncType, const DebugContext &debugContext={})
Time the program for a given a sequence program type.
SyncType
An enumeration used to state what type of synchronisation a Sync program represents.
Definition: SyncType.hpp:13