3#ifndef poplar_exceptions_hpp
4#define poplar_exceptions_hpp
6#include <poplar/DebugContext.hpp>
7#include <poplar/Error.hpp>
28 const char *what()
const noexcept override;
55 const std::string &error);
85 const std::string &vertexTypeName);
114 index_error(
const std::string &vertexDotField, std::size_t index);
125 const std::string &vertexName);
303 explicit link_error(
const std::string &s,
const std::string &out =
"");
304 explicit link_error(
const char *s,
const char *out =
"");
376 const std::string &s);
401 explicit symbol_error(
const std::string &name,
const unsigned tile);
402 ~symbol_error()
override;
405struct file_load_error : poplar_error {
406 explicit file_load_error(
const std::string &path);
407 ~file_load_error()
override;
DebugContext gathers the common external parameters of the context of an operation.
Definition: DebugContext.hpp:221
Poplar classes and functions.
Definition: ArrayRef.hpp:14
std::ostream & operator<<(std::ostream &os, const DebugNameAndId &dnai)
Display the path name of the DebugNameAndId.
std::string toString(RecoveryAction recoveryAction)
Convert the recovery action to a string.
RecoveryAction
An enumeration that specifies how to recover from a recoverable_runtime_error.
Definition: exceptions.hpp:351
@ PARTITION_RESET
Reset the IPU partition. This retrains the IPU-links between IPUs.
@ IPU_RESET
Reset the IPU and reload IPU memory.
@ FULL_RESET
Power cycle the system.
ErrorCode
Unique error codes for all the possible errors.
Definition: Error.hpp:31
Uniquely identify the location of an error within a Poplar Device.
Definition: Error.hpp:97
This exception is thrown when running a program fails due to an error in the program or a misuse of a...
Definition: exceptions.hpp:333
This exception is thrown when the construction of a graph program is invalid.
Definition: exceptions.hpp:92
This exception is thrown during construction of an Engine object if there is an error in the structur...
Definition: exceptions.hpp:133
This exception is thrown during the construction of an Engine object if there are any cycles in the g...
Definition: exceptions.hpp:142
This exception is thrown when an memory allocation fails.
Definition: exceptions.hpp:259
std::string profilePath
Holds the absolute path to the profile.pop file that was produced when this error occurred.
Definition: exceptions.hpp:265
This exception is thrown in the construction of a GraphProgEnv object if there was an error in the cr...
Definition: exceptions.hpp:44
This exception is thrown in the construction of a GraphProgEnv object if there was an error in loadin...
Definition: exceptions.hpp:53
This exception is thrown in the construction of a GraphProgEnv object if there are any compilation er...
Definition: exceptions.hpp:35
This exception is thrown during the construction of an Engine object if there are recursive calls.
Definition: exceptions.hpp:151
This exception is thrown when an invalid operation is carried out on a replicated graph.
Definition: exceptions.hpp:161
This exception is thrown if the index of a subscript is out of the bounds of the field it is accessin...
Definition: exceptions.hpp:111
This exception is thrown when an invalid model of the IPU (for performance model profiling) has been ...
Definition: exceptions.hpp:283
This exception is thrown when an unrecognised or invalid option is passed to a Poplar API.
Definition: exceptions.hpp:292
This exception is thrown when the tile mapping passed to the UserTilePartitioner is invalid.
Definition: exceptions.hpp:196
This exception is thrown when the linking stage for codelets fails.
Definition: exceptions.hpp:301
This exception is thrown when an invalid memory element constraint has been provided in a codelet.
Definition: exceptions.hpp:251
This exception is thrown if the graph and/or execution profile is required but the graph profile that...
Definition: exceptions.hpp:179
This exception is thrown when an Engine is constructed with profiling enabled but a vertex does not h...
Definition: exceptions.hpp:188
This exception is thrown, in the construction of a GraphProgEnv object, in mixed-mode compilation,...
Definition: exceptions.hpp:64
This exception is thrown if the size of a field is not specified in a Graph object when an EngineBuil...
Definition: exceptions.hpp:121
This exception is thrown when an arithmetic overflow occurs within Poplar.
Definition: exceptions.hpp:242
This exception is thrown when an input file or string cannot be parsed.
Definition: exceptions.hpp:413
Base class for Poplar exceptions.
Definition: exceptions.hpp:16
This exception is thrown if profiling information is requested from an Engine but that Engine has not...
Definition: exceptions.hpp:170
This exception is thrown when when running a program fails due to a system error that is likely to be...
Definition: exceptions.hpp:368
RecoveryAction getRecoveryAction() const
Return the action required to recover from error.
Definition: exceptions.hpp:374
This exception is thrown when running a program on a system fails.
Definition: exceptions.hpp:310
std::vector< ErrorInfo > errors
Additional information about why the exception was thrown.
Definition: exceptions.hpp:323
This exception is thrown when an invalid attempt is made to connect a data stream.
Definition: exceptions.hpp:233
This exception is thrown when allocation of stream buffers fails.
Definition: exceptions.hpp:274
This exception is thrown when running a program fails due to an error in the system it is running on.
Definition: exceptions.hpp:342
This exception is thrown in the construction of a tensor if invalid arguments are provided to the ten...
Definition: exceptions.hpp:205
This exception is thrown when an attempt is made to mark a tensor as an input or output,...
Definition: exceptions.hpp:215
This exception is thrown when there is an error related to the field types of vertices,...
Definition: exceptions.hpp:102
This exception is thrown when a field name is specified that does not exist in the graph-programming ...
Definition: exceptions.hpp:81
This exception is throw when execution fails due to a system error where the cause cannot be automati...
Definition: exceptions.hpp:394
This exception is thrown when a vertex type name is specified that does not exist in the graph progra...
Definition: exceptions.hpp:73
This exception is thrown when execution fails due to a system error that is likely to persist.
Definition: exceptions.hpp:385