Executable
#include <poplar/Executable.hpp>
-
namespace poplar
Poplar classes and functions.
-
class Executable
- #include <Executable.hpp>
An instance of poplar::Executable contains all of the information needed to run a program on an IPU device.
It can be saved to or loaded from disk.
Public Functions
-
~Executable()
-
Executable()
-
Executable(Executable &&other) noexcept
-
Executable &operator=(Executable &&other) noexcept
-
void serialize(std::ostream &out) const
Serialize an executable to a stream.
All of the binary files and metadata needed to run a Poplar executable will be written to the stream. Currently the format is opaque, and compatibility between different versions of Poplar is not guaranteed.
- Parameters
out – The stream to write to. It must be seekable.
- Throws
poplar_error – if the target is not an IPU - this cannot be used to serialise CPU or IPU_MODEL executables.
Public Static Functions
-
static Executable deserialize(std::istream &in)
Load an executable from a stream.
This interface createss a temporary file that can be several GB for later use. The alternative
deserialize(std::unique_ptr<std::istream>)
below can be used to avoid this.- Parameters
in – The stream to read from. It must be seekable.
-
static Executable deserialize(std::unique_ptr<std::istream> in)
Load an executable from a stream.
This interface retains the open
in
to avoid creating a large temporary file.- Parameters
in – The stream to read from.
Friends
- friend class Engine
-
~Executable()
-
namespace core
-
class Executable