SYMBOL INDEX (3940 symbols across 441 files) FILE: config.buildenv.py class DownloadExternalDatasets (line 59) | class DownloadExternalDatasets(Installer): method __init__ (line 60) | def __init__(self, **kwargs): method hashString (line 67) | def hashString(self): method install (line 71) | def install(self, env): FILE: docs/common/conf.py function get_current_release (line 38) | def get_current_release() -> str: FILE: docs/poptorch_geometric/common/conf.py function get_current_release (line 39) | def get_current_release() -> str: FILE: docs/user_guide/api.py class Model (line 10) | class Model(torch.nn.Module): method forward (line 11) | def forward(self, log_probs, lengths): class ExampleModel (line 19) | class ExampleModel(torch.nn.Module): method __init__ (line 20) | def __init__(self): method forward (line 24) | def forward(self, x): function custom_loss (line 40) | def custom_loss(output, target): class ExampleModelWithCustomLoss (line 47) | class ExampleModelWithCustomLoss(torch.nn.Module): method __init__ (line 48) | def __init__(self): method forward (line 52) | def forward(self, input, target): FILE: docs/user_guide/buffers.py class CounterModel (line 7) | class CounterModel(torch.nn.Module): method __init__ (line 8) | def __init__(self): method forward (line 12) | def forward(self): method __init__ (line 29) | def __init__(self): method forward (line 33) | def forward(self): class CounterModel (line 28) | class CounterModel(torch.nn.Module): method __init__ (line 8) | def __init__(self): method forward (line 12) | def forward(self): method __init__ (line 29) | def __init__(self): method forward (line 33) | def forward(self): FILE: docs/user_guide/debugging.py class Model (line 7) | class Model(torch.nn.Module): method __init__ (line 8) | def __init__(self): method forward (line 15) | def forward(self, x, labels=None): FILE: docs/user_guide/device_iterations.py class ExampleModelWithLoss (line 17) | class ExampleModelWithLoss(torch.nn.Module): method __init__ (line 18) | def __init__(self, data_shape, num_classes): method forward (line 24) | def forward(self, x, target=None): class ExampleDataset (line 33) | class ExampleDataset(torch.utils.data.Dataset): method __init__ (line 34) | def __init__(self, shape, length): method __len__ (line 50) | def __len__(self): method __getitem__ (line 53) | def __getitem__(self, index): function device_iterations_example (line 57) | def device_iterations_example(): function replication_factor_example (line 94) | def replication_factor_example(): function gradient_accumulation_example (line 133) | def gradient_accumulation_example(): function data_accessor_example (line 169) | def data_accessor_example(): function process (line 203) | def process(process_id=0, num_processes=1): FILE: docs/user_guide/error_handling.py class PytorchModel (line 9) | class PytorchModel(torch.nn.Module): method __init__ (line 10) | def __init__(self, error): method forward (line 15) | def forward(self, x, y): function run_example (line 19) | def run_example(model_param=None): FILE: docs/user_guide/mnist.py function get_mnist_data (line 13) | def get_mnist_data(opts): class Network (line 46) | class Network(nn.Module): method __init__ (line 47) | def __init__(self): method forward (line 55) | def forward(self, x): class TrainingModelWithLoss (line 69) | class TrainingModelWithLoss(torch.nn.Module): method __init__ (line 70) | def __init__(self, model): method forward (line 75) | def forward(self, args, loss_inputs=None): function accuracy (line 87) | def accuracy(predictions, labels): function train (line 96) | def train(training_model, training_data, opts): function test (line 112) | def test(inference_model, test_data): FILE: docs/user_guide/phased_execution.py class Model (line 14) | class Model(torch.nn.Module): method __init__ (line 15) | def __init__(self): method forward (line 22) | def forward(self, in0, target=None): method forward (line 69) | def forward(self, x, y): method forward (line 96) | def forward(self, x, y): method forward (line 134) | def forward(self, x, y): class Model (line 68) | class Model(torch.nn.Module): method __init__ (line 15) | def __init__(self): method forward (line 22) | def forward(self, in0, target=None): method forward (line 69) | def forward(self, x, y): method forward (line 96) | def forward(self, x, y): method forward (line 134) | def forward(self, x, y): class Model (line 95) | class Model(torch.nn.Module): method __init__ (line 15) | def __init__(self): method forward (line 22) | def forward(self, in0, target=None): method forward (line 69) | def forward(self, x, y): method forward (line 96) | def forward(self, x, y): method forward (line 134) | def forward(self, x, y): class Model (line 133) | class Model(torch.nn.Module): method __init__ (line 15) | def __init__(self): method forward (line 22) | def forward(self, in0, target=None): method forward (line 69) | def forward(self, x, y): method forward (line 96) | def forward(self, x, y): method forward (line 134) | def forward(self, x, y): FILE: docs/user_guide/pipeline_simple.py class WrappedModel (line 13) | class WrappedModel(torch.nn.Module): method __init__ (line 14) | def __init__(self): method forward (line 19) | def forward(self, input_ids, attention_mask, token_type_ids): method __getattr__ (line 25) | def __getattr__(self, attr): class Network (line 104) | class Network(torch.nn.Module): method __init__ (line 105) | def __init__(self): method forward (line 115) | def forward(self, x): method __init__ (line 146) | def __init__(self): method forward (line 156) | def forward(self, x): method block_one (line 164) | def block_one(self, x): method block_two (line 170) | def block_two(self, x): method final_activation (line 176) | def final_activation(self, x): class Network (line 145) | class Network(torch.nn.Module): method __init__ (line 105) | def __init__(self): method forward (line 115) | def forward(self, x): method __init__ (line 146) | def __init__(self): method forward (line 156) | def forward(self, x): method block_one (line 164) | def block_one(self, x): method block_two (line 170) | def block_two(self, x): method final_activation (line 176) | def final_activation(self, x): FILE: docs/user_guide/poptorch_training_simple.py class ExampleModel (line 6) | class ExampleModel(torch.nn.Module): method __init__ (line 7) | def __init__(self): method forward (line 11) | def forward(self, x): class ExampleModelWithLoss (line 20) | class ExampleModelWithLoss(torch.nn.Module): method __init__ (line 21) | def __init__(self): method forward (line 25) | def forward(self, input, target): class ExampleDataset (line 35) | class ExampleDataset(torch.utils.data.Dataset): method __init__ (line 36) | def __init__(self, shape, length): method __len__ (line 51) | def __len__(self): method __getitem__ (line 54) | def __getitem__(self, index): function run_examples (line 58) | def run_examples(): FILE: docs/user_guide/precompilation.py class ExampleModelWithLoss (line 17) | class ExampleModelWithLoss(torch.nn.Module): method __init__ (line 18) | def __init__(self): method forward (line 23) | def forward(self, x, target=None): function setIpuDevice (line 58) | def setIpuDevice(opts): function run_training (line 109) | def run_training(_): function run_validation (line 113) | def run_validation(_): FILE: docs/user_guide/replica_grouped_weights.py class ModelWithLoss (line 9) | class ModelWithLoss(torch.nn.Module): method __init__ (line 10) | def __init__(self, W_init): method forward (line 14) | def forward(self, X): FILE: docs/user_guide/sumAnchorReturnType.py class ExampleClassDataset (line 10) | class ExampleClassDataset(torch.utils.data.Dataset): method __init__ (line 24) | def __init__(self, num_classes, vec_length, num_examples): method __getitem__ (line 51) | def __getitem__(self, idx): method __len__ (line 61) | def __len__(self): class MulticlassPerceptron (line 67) | class MulticlassPerceptron(torch.nn.Module): method __init__ (line 68) | def __init__(self, vec_length, num_classes): method forward (line 73) | def forward(self, x, target): FILE: docs/user_guide/trainingModel.py class ExampleModelWithLoss (line 7) | class ExampleModelWithLoss(torch.nn.Module): method __init__ (line 8) | def __init__(self): method forward (line 13) | def forward(self, x, target=None): function train (line 53) | def train(model): function train_on_cpu (line 58) | def train_on_cpu(model): function validate (line 66) | def validate(model): FILE: examples/bert_ipu.py class WrappedModel (line 18) | class WrappedModel(torch.nn.Module): method __init__ (line 19) | def __init__(self): method forward (line 24) | def forward(self, input_ids, attention_mask): method __getattr__ (line 29) | def __getattr__(self, attr): FILE: examples/lstm.py class SimpleLSTM (line 9) | class SimpleLSTM(nn.Module): method __init__ (line 10) | def __init__(self): method forward (line 14) | def forward(self, input_tensors, hidden): FILE: examples/mnist.py function example (line 6) | def example(): FILE: examples/simple_adder.py class SimpleAdder (line 12) | class SimpleAdder(nn.Module): method forward (line 13) | def forward(self, x, y): FILE: popart_compiler/include/popart_compiler/CodeletsCompilation.hpp type poptorch (line 7) | namespace poptorch { type popart_compiler (line 8) | namespace popart_compiler { FILE: popart_compiler/include/popart_compiler/Compiler.hpp type popart (line 14) | namespace popart { class any (line 15) | class any type DataType (line 16) | enum class DataType class ConstVoidData (line 17) | class ConstVoidData type poptorch (line 20) | namespace poptorch { type popart_compiler (line 21) | namespace popart_compiler { type detail (line 23) | namespace detail { type CompilerImpl (line 24) | struct CompilerImpl type SessionOptionsImpl (line 25) | struct SessionOptionsImpl class Compiler (line 42) | class Compiler class SessionOptions (line 43) | class SessionOptions { method SessionOptions (line 49) | SessionOptions(const SessionOptions &) = delete; method SessionOptions (line 50) | SessionOptions &operator=(const SessionOptions &) = delete; class PopartAttribute (line 80) | class PopartAttribute { class PopartConstant (line 114) | class PopartConstant { class HostSideConstant (line 130) | class HostSideConstant { method PopartType (line 135) | PopartType popartType() const { return _popart_type; } class Compiler (line 147) | class Compiler { FILE: popart_compiler/include/popart_compiler/Utils.hpp type poptorch (line 8) | namespace poptorch { type popart_compiler (line 9) | namespace popart_compiler { FILE: popart_compiler/source/CodeletsCompilation.cpp type poptorch (line 15) | namespace poptorch { type popart_compiler (line 16) | namespace popart_compiler { class ExclusiveFileLock (line 21) | class ExclusiveFileLock { method ExclusiveFileLock (line 23) | explicit ExclusiveFileLock(const std::string &path) function poplarVersion (line 43) | std::string poplarVersion() { function getFileContentHash (line 74) | std::size_t getFileContentHash(const std::string &path) { function compiledCodeletPath (line 93) | std::string compiledCodeletPath(const std::string &src_file_path) { function compileCodelet (line 106) | void compileCodelet(const std::string &src_file_path, function setCustomCodeletsPath (line 216) | void setCustomCodeletsPath(const char *cache_path) { function compileCustomCodeletIfNeeded (line 222) | std::unique_ptr compileCustomCodeletIfNeeded(const char *src... FILE: popart_compiler/source/Compiler.cpp type poptorch (line 37) | namespace poptorch { type popart_compiler (line 38) | namespace popart_compiler { function saveModelProtoIfNeeded (line 41) | void saveModelProtoIfNeeded(popart::Builder *builder, function T (line 71) | T convertType(T &&t) { return std::forward(t); } function convertType (line 73) | std::vector convertType(std::vector v) { function exchangeStrToPopartEnum (line 78) | std::pair type HandleOutput (line 100) | struct HandleOutput { method TensorId (line 101) | TensorId operator()(T &in, bool loss, detail::CompilerImpl *_impl) { type HandleOutput (line 120) | struct HandleOutput { method TensorId (line 121) | TensorId operator()(const popart::TensorId &in, bool loss, type HandleOutput (line 149) | struct HandleOutput { method TensorId (line 150) | TensorId operator()(TensorId in, bool loss, detail::CompilerImpl *... function IsLoss (line 159) | bool IsLoss(const std::string &operation) { function copyParam (line 165) | void copyParam(Optimizer &dest_optim, const Optimizer &source_optim, function TensorId (line 257) | TensorId Compiler::addInputTensor(const char *type, function TensorId (line 278) | TensorId Compiler::createTensorId(const char *name) { function TensorId (line 345) | TensorId function TensorId (line 365) | TensorId Compiler::addInitializedInputTensor( function setUpInputImpl (line 436) | static void setUpInputImpl(TensorId id, T *ptr, function addOutput (line 496) | static void addOutput(TensorId id, T *ptr, function PopartType (line 1195) | PopartType Compiler::getPopartType(TensorId id) const { function TensorId (line 1485) | TensorId Compiler::endForLoop(std::int32_t trip_count, std::int64_t ... function TensorId (line 1535) | TensorId Compiler::endIfBlock(const TensorId &condition, function TensorId (line 1567) | TensorId Compiler::addUntypedInputTensor() { function TensorId (line 1650) | TensorId function Timestamps (line 1727) | Timestamps Compiler::getTimestamps() const { function setPopartLogLevel (line 1784) | void setPopartLogLevel(logging::Level level) { function throwTestError (line 1793) | void throwTestError(TestErrorType type) { class PopExceptionInfo (line 1833) | class PopExceptionInfo : public ExceptionInfo { function ErrorCategory (line 1873) | ErrorCategory PopExceptionInfo::category() const { return mcategory; } function rethrowPopartOrPoplarException (line 1899) | void rethrowPopartOrPoplarException(const std::exception_ptr &eptr, FILE: popart_compiler/source/CompilerImpl.cpp type poptorch (line 37) | namespace poptorch { type popart_compiler (line 38) | namespace popart_compiler { function toString (line 41) | std::string toString(const std::vector &vec) { function toString (line 53) | std::string toString(OptimizerType type) { function getAttributeNames (line 83) | std::vector getAttributeNames(OptimizerType type, function indexOf (line 130) | int indexOf(const std::vector &vec, const std::string &... function vectorDiff (line 138) | std::vector vectorDiff(const std::vector &... type OptimizerParameters (line 151) | struct OptimizerParameters { function assertSingleInstanceMaxNumIPUs (line 234) | void assertSingleInstanceMaxNumIPUs(std::size_t num_ipus) { type detail (line 243) | namespace detail { function T (line 304) | T StepIO::get(const popart::TensorId &id, TensorArrayInfo *map, function TensorId (line 606) | TensorId CompilerImpl::hostSideTensorConstant( type Bool (line 991) | struct Bool { type PoptorchUnfoldHelper (line 1006) | struct PoptorchUnfoldHelper { type InternalState (line 1007) | struct InternalState { method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method InternalState (line 1033) | static InternalState slice(const InternalState &state, uint64_t ... method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method InternalState (line 1043) | static InternalState broadcast(const InternalState &state, uint6... method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method InternalState (line 1054) | static InternalState reshape(const InternalState &state, method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method InternalState (line 1062) | static InternalState concat(const std::vector &st... method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method InternalState (line 1077) | static InternalState dimShuffle(const InternalState &state, method scalarConstI64 (line 1012) | popart::TensorId scalarConstI64(int64_t val) const { method shapeAsTensor (line 1017) | popart::TensorId shapeAsTensor(const std::vector &sh... method InternalState (line 1025) | InternalState transform(popart::TensorId &&new_id) const { method dim (line 1088) | static uint64_t dim(const InternalState &state, uint64_t axis) { method rank_u64 (line 1092) | static uint64_t rank_u64(const InternalState &state) { // NOLINT method shape (line 1097) | static std::vector shape(const InternalState &state) { function HostSideConstant (line 1140) | const HostSideConstant &CompilerImpl::getHostSideConstant(TensorId... function PopartType (line 1253) | PopartType CompilerImpl::getPopartType(TensorId id) const { FILE: popart_compiler/source/SessionOptions.cpp class Setter (line 53) | class Setter { method Setter (line 55) | Setter(std::function fn, std::string name) function registerSetter (line 83) | void registerSetter(std::map> &o... type poptorch (line 91) | namespace poptorch { type popart_compiler (line 92) | namespace popart_compiler { type detail (line 93) | namespace detail { FILE: popart_compiler/source/Utils.cpp type ONNX_NAMESPACE (line 16) | namespace ONNX_NAMESPACE { type TensorProto_DataType (line 17) | enum class TensorProto_DataType type popart (line 20) | namespace popart { type onnxutil (line 21) | namespace onnxutil { type poptorch (line 27) | namespace poptorch { type popart_compiler (line 28) | namespace popart_compiler { function ipuModelEnvironmentVariableIsEnabled (line 30) | bool ipuModelEnvironmentVariableIsEnabled() { function ipuSmallModelEnvironmentVariableIsEnabled (line 40) | bool ipuSmallModelEnvironmentVariableIsEnabled() { function getIpuModelVersion (line 55) | std::string getIpuModelVersion() { function getNumTilesPerIpu (line 64) | int getNumTilesPerIpu(const std::string &ipu_model_version) { function roundUpNumIPUs (line 89) | std::uint64_t roundUpNumIPUs(std::uint64_t num_ipus) { function waitIfIpuIsUnavailable (line 99) | bool waitIfIpuIsUnavailable() { function waitForAWhile (line 110) | bool waitForAWhile() { function ipuHardwareVersion (line 117) | std::int64_t ipuHardwareVersion(std::uint64_t num_ipus) { function stringToUniquePtr (line 145) | std::unique_ptr stringToUniquePtr(const std::string &str) { function dtypeIntFromOnnxStr (line 152) | int64_t dtypeIntFromOnnxStr(const char *onnx_type) { function poplarTypeFromPoptorch (line 165) | poplar::Type poplarTypeFromPoptorch(PopartType type) { function popartTypeFromPoptorch (line 170) | popart::DataType popartTypeFromPoptorch(PopartType type) { FILE: popart_compiler/source/custom_operations/Embedding.cpp type poptorch (line 24) | namespace poptorch { type poptorch_custom_ops (line 25) | namespace poptorch_custom_ops { class EmbeddingGradOp (line 27) | class EmbeddingGradOp method EmbeddingGradOp (line 68) | explicit EmbeddingGradOp(const EmbeddingOp &fwd_op) method clone (line 74) | std::unique_ptr clone() const final { method setup (line 94) | void setup() final { outInfo(gradOutIndex()) = _wieght_info; } method gradInIndex (line 96) | static popart::InIndex gradInIndex() { return 0; } method indicesInIndex (line 97) | static popart::InIndex indicesInIndex() { return 1; } method gradOutIndex (line 98) | static popart::OutIndex gradOutIndex() { return 0; } method appendOutlineAttributes (line 100) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const f... method getSubgraphValue (line 106) | float getSubgraphValue() const final { return getLowSubgraphValue(... method paddingIndex (line 108) | nonstd::optional paddingIndex() const { return _padding_i... method availableMemoryProportion (line 110) | nonstd::optional availableMemoryProportion() const { class EmbeddingOp (line 31) | class EmbeddingOp : public popart::GatherOp { method EmbeddingOp (line 33) | EmbeddingOp(const popart::OperatorIdentifier &_opid, method clone (line 41) | std::unique_ptr clone() const final { method getGradOps (line 45) | std::vector> getGradOps() final { method weightInIndex (line 51) | static popart::InIndex weightInIndex() { return 0; } method indicesInIndex (line 52) | static popart::InIndex indicesInIndex() { return 1; } method outIndex (line 53) | static popart::OutIndex outIndex() { return 0; } method appendOutlineAttributes (line 55) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const f... method paddingIndex (line 60) | nonstd::optional paddingIndex() const { return _padding_i... class EmbeddingGradOp (line 66) | class EmbeddingGradOp : public popart::Op { method EmbeddingGradOp (line 68) | explicit EmbeddingGradOp(const EmbeddingOp &fwd_op) method clone (line 74) | std::unique_ptr clone() const final { method setup (line 94) | void setup() final { outInfo(gradOutIndex()) = _wieght_info; } method gradInIndex (line 96) | static popart::InIndex gradInIndex() { return 0; } method indicesInIndex (line 97) | static popart::InIndex indicesInIndex() { return 1; } method gradOutIndex (line 98) | static popart::OutIndex gradOutIndex() { return 0; } method appendOutlineAttributes (line 100) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const f... method getSubgraphValue (line 106) | float getSubgraphValue() const final { return getLowSubgraphValue(... method paddingIndex (line 108) | nonstd::optional paddingIndex() const { return _padding_i... method availableMemoryProportion (line 110) | nonstd::optional availableMemoryProportion() const { class EmbeddingOpx (line 167) | class EmbeddingOpx : public popart::popx::Opx { method EmbeddingOpx (line 169) | EmbeddingOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 185) | void grow(poplar::program::Sequence &prog) const final { method createInputTensor (line 201) | poplar::Tensor method getInputCreatorType (line 229) | popart::popx::InputCreatorType method mustExistBeforeCreate (line 239) | std::set class EmbeddingGradOpx (line 249) | class EmbeddingGradOpx : public popart::popx::Opx { method EmbeddingGradOpx (line 251) | EmbeddingGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 270) | void grow(poplar::program::Sequence &prog) const final { method createInputTensor (line 304) | poplar::Tensor method getInputCreatorType (line 332) | popart::popx::InputCreatorType method mustExistBeforeCreate (line 342) | std::set FILE: popart_compiler/source/custom_operations/FastGatherLastDim.cpp type poptorch (line 14) | namespace poptorch { type poptorch_custom_ops (line 15) | namespace poptorch_custom_ops { FILE: popart_compiler/source/custom_operations/FastGatherLastDim.hpp type poptorch (line 16) | namespace poptorch { type poptorch_custom_ops (line 17) | namespace poptorch_custom_ops { class FastGatherLastDimOp (line 19) | class FastGatherLastDimOp : public popart::Op { method FastGatherLastDimOp (line 25) | FastGatherLastDimOp(const FastGatherLastDimOp &) = default; method FastGatherLastDimOp (line 26) | FastGatherLastDimOp &operator=(const FastGatherLastDimOp &) = delete; method getSubgraphValue (line 32) | float getSubgraphValue() const final { return getHighSubgraphValue... method getAxis (line 33) | int64_t getAxis() const { return _axis; } method getInShape (line 34) | popart::Shape getInShape() const { return _in_shape; } method getOutShape (line 35) | popart::Shape getOutShape() const { return _out_shape; } class FastGatherLastDimOpx (line 45) | class FastGatherLastDimOpx : public popart::popx::Opx { class FastGatherLastDimGradOp (line 60) | class FastGatherLastDimGradOp : public popart::Op { method setup (line 65) | virtual void setup() { method getSubgraphValue (line 94) | float getSubgraphValue() const final { return getLowSubgraphValue(... method getFwdInShape (line 96) | popart::Shape getFwdInShape() const { return _fwd_in_shape; } class FastGatherLastDimGradOpx (line 104) | class FastGatherLastDimGradOpx : public popart::popx::Opx { FILE: popart_compiler/source/custom_operations/FastGatherLastDimBwdCodelets.inc.cpp type FloatDef (line 15) | struct FloatDef{ type FloatDef (line 19) | struct FloatDef{ type FloatDef (line 27) | struct FloatDef{ type FloatDef (line 34) | struct FloatDef{ type FloatDef (line 41) | struct FloatDef{ type OutputDef (line 48) | struct OutputDef{ type OutputDef (line 52) | struct OutputDef{ type OutputDef (line 57) | struct OutputDef{ class FastGatherGradVertex (line 62) | class FastGatherGradVertex : public Vertex { method run (line 75) | static void run(Vector>> const& gra... method run (line 115) | static void run(Vector>> const& grad_out, method compute (line 157) | bool compute() { class FastGatherGradVertex (line 163) | class FastGatherGradVertex class FastGatherGradVertex (line 164) | class FastGatherGradVertex FILE: popart_compiler/source/custom_operations/FastGatherLastDimFwdCodelets.inc.cpp type FloatDef (line 15) | struct FloatDef{ type FloatDef (line 19) | struct FloatDef{ type FloatDef (line 27) | struct FloatDef{ type FloatDef (line 34) | struct FloatDef{ type FloatDef (line 41) | struct FloatDef{ class FastGatherVertex (line 47) | class FastGatherVertex : public Vertex { method run (line 58) | static void run(Vector>> const& data, method run (line 91) | static void run(Vector>> const& data, method compute (line 127) | bool compute() { class FastGatherVertex (line 133) | class FastGatherVertex class FastGatherVertex (line 134) | class FastGatherVertex FILE: popart_compiler/source/custom_operations/HostOp.cpp type poptorch (line 30) | namespace poptorch { type poptorch_custom_ops (line 31) | namespace poptorch_custom_ops { type popart_compiler (line 41) | namespace popart_compiler { function shapeInferOutput (line 46) | popart::TensorInfo shapeInferOutput(detail::CallbackInternalMetadata... class HostOp (line 87) | class HostOp : public popart::Op { method HostOp (line 89) | HostOp(const popart::OperatorIdentifier &_opid, method setup (line 95) | void setup() override { method clone (line 102) | std::unique_ptr clone() const final { method getSubgraphValue (line 106) | float getSubgraphValue() const final { return getLowSubgraphValue(... class HostOpx (line 111) | class HostOpx : public popart::popx::Opx { method HostOpx (line 113) | HostOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 120) | void grow(poplar::program::Sequence &sequence) const override { FILE: popart_compiler/source/custom_operations/TorchSoftplus.cpp type poptorch (line 15) | namespace poptorch { type poptorch_custom_ops (line 16) | namespace poptorch_custom_ops { function create (line 119) | std::unique_ptr create(popart::Op *op) { FILE: popart_compiler/source/custom_operations/TorchSoftplus.hpp type poptorch (line 14) | namespace poptorch { type poptorch_custom_ops (line 15) | namespace poptorch_custom_ops { class TorchSoftplusOp (line 17) | class TorchSoftplusOp : public popart::ElementWiseUnaryOp { method beta (line 33) | float beta() const { return _beta; } method threshold (line 34) | float threshold() const { return _threshold; } class TorchSoftplusInplaceOp (line 41) | class TorchSoftplusInplaceOp : public popart::ElementWiseInplaceUnar... method beta (line 48) | float beta() const { return _beta; } method threshold (line 49) | float threshold() const { return _threshold; } class TorchSoftplusGradOp (line 56) | class TorchSoftplusGradOp : public popart::ElementWiseNonLinearUnary... method beta (line 63) | float beta() const { return _beta; } method threshold (line 64) | float threshold() const { return _threshold; } class TorchSoftplusComputex (line 71) | class TorchSoftplusComputex : public popart::popx::EwuComputex { method TorchSoftplusComputex (line 73) | TorchSoftplusComputex(float beta, float threshold) class TorchSoftplusOpx (line 88) | class TorchSoftplusOpx : public popart::popx::ElementWiseUnaryOutpla... class TorchSoftplusInplaceOpx (line 93) | class TorchSoftplusInplaceOpx class TorchSoftplusGradOpx (line 99) | class TorchSoftplusGradOpx : public popart::popx::Opx { FILE: popart_compiler/source/custom_operations/UpsampleBilinear2d.cpp type BilinearParams (line 23) | struct BilinearParams { function areaPixelComputeSourceIndex (line 30) | float areaPixelComputeSourceIndex(float scale, size_t dst_index, function BilinearParams (line 51) | BilinearParams computeSourceIndexAndLambda(const float scale, function connectVertex (line 73) | poplar::VertexRef connectVertex( type TileInputs (line 94) | struct TileInputs { function bilinearMap (line 102) | poplar::Tensor bilinearMap(poplar::Graph &graph, // NOLINT type GradMultipleVal (line 191) | struct GradMultipleVal { function GradMultipleMap (line 197) | GradMultipleMap computeGradMap(size_t in_height, size_t in_width, function computeInputsWeights (line 220) | std::pair, std::vector> function splitIntervalMultiple (line 244) | void splitIntervalMultiple( function splitInterval (line 289) | void splitInterval(poplar::Graph &graph, poplar::ComputeSet &cs, // NOLINT function splitIntervalMultiplePixels (line 335) | void splitIntervalMultiplePixels(poplar::Graph &graph, // NOLINT function processTile (line 398) | void processTile(poplar::Graph &graph, poplar::ComputeSet &cs, // NOLINT function splitMapping (line 423) | std::vector splitMapping(const Mapping &m, uint32_t partitions, function bilinearMapGrads (line 438) | poplar::Tensor bilinearMapGrads(poplar::Graph &graph, // NOLINT class UpsampleOp (line 520) | class UpsampleOp method UpsampleOp (line 621) | UpsampleOp(const popart::OperatorIdentifier &_opid, float scalingFactor, method setup (line 628) | void setup() override { method clone (line 644) | std::unique_ptr clone() const final { method getGradOps (line 652) | std::vector> getGradOps() override { method appendAttributes (line 657) | void appendAttributes(popart::OpSerialiserBase &os) const override { method appendOutlineAttributes (line 663) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const overr... method getSubgraphValue (line 670) | float getSubgraphValue() const final { return getLowSubgraphValue(); } method getScalingFactor (line 672) | float getScalingFactor() const { return _scalingFactor; } method getAlignCorners (line 673) | bool getAlignCorners() const { return _alignCorners; } class UpsampleGradOp (line 521) | class UpsampleGradOp method clone (line 538) | std::unique_ptr clone() const final { method setup (line 546) | void setup() final { method getSubgraphValue (line 603) | float getSubgraphValue() const final { return getLowSubgraphValue(); } method getScalingFactor (line 605) | float getScalingFactor() const { return _scalingFactor; } method getAlignCorners (line 606) | bool getAlignCorners() const { return _alignCorners; } class UpsampleOpx (line 522) | class UpsampleOpx method UpsampleOpx (line 709) | UpsampleOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 723) | void grow(poplar::program::Sequence &prog) const final { class UpsampleGradOpx (line 523) | class UpsampleGradOpx method UpsampleGradOpx (line 739) | UpsampleGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 747) | void grow(poplar::program::Sequence &prog) const final { function makeUnique (line 528) | std::unique_ptr makeUnique(Args &&...args) { class UpsampleGradOp (line 534) | class UpsampleGradOp : public popart::Op { method clone (line 538) | std::unique_ptr clone() const final { method setup (line 546) | void setup() final { method getSubgraphValue (line 603) | float getSubgraphValue() const final { return getLowSubgraphValue(); } method getScalingFactor (line 605) | float getScalingFactor() const { return _scalingFactor; } method getAlignCorners (line 606) | bool getAlignCorners() const { return _alignCorners; } class UpsampleOp (line 619) | class UpsampleOp : public popart::Op { method UpsampleOp (line 621) | UpsampleOp(const popart::OperatorIdentifier &_opid, float scalingFactor, method setup (line 628) | void setup() override { method clone (line 644) | std::unique_ptr clone() const final { method getGradOps (line 652) | std::vector> getGradOps() override { method appendAttributes (line 657) | void appendAttributes(popart::OpSerialiserBase &os) const override { method appendOutlineAttributes (line 663) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const overr... method getSubgraphValue (line 670) | float getSubgraphValue() const final { return getLowSubgraphValue(); } method getScalingFactor (line 672) | float getScalingFactor() const { return _scalingFactor; } method getAlignCorners (line 673) | bool getAlignCorners() const { return _alignCorners; } class UpsampleOpx (line 707) | class UpsampleOpx : public popart::popx::Opx { method UpsampleOpx (line 709) | UpsampleOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 723) | void grow(poplar::program::Sequence &prog) const final { class UpsampleGradOpx (line 737) | class UpsampleGradOpx : public popart::popx::Opx { method UpsampleGradOpx (line 739) | UpsampleGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 747) | void grow(poplar::program::Sequence &prog) const final { FILE: popart_compiler/source/custom_operations/UpsampleBilinear2dCodelets.inc.cpp class BilinearMultipleVertex (line 16) | class BilinearMultipleVertex : public poplar::Vertex { method compute (line 22) | bool compute() { class BilinearMultipleVertex (line 33) | class BilinearMultipleVertex class BilinearMultipleVertex (line 34) | class BilinearMultipleVertex class BilinearGradVertex (line 36) | class BilinearGradVertex : public poplar::Vertex { method compute (line 42) | bool compute() { class BilinearGradVertex (line 56) | class BilinearGradVertex class BilinearGradVertex (line 57) | class BilinearGradVertex class BilinearGradMultipleVertex (line 59) | class BilinearGradMultipleVertex : public poplar::Vertex { method compute (line 66) | bool compute() { class BilinearGradMultipleVertex (line 87) | class BilinearGradMultipleVertex class BilinearGradMultipleVertex (line 88) | class BilinearGradMultipleVertex FILE: popart_compiler/source/include/popart_compiler/CompilerImpl.hpp type poptorch (line 31) | namespace poptorch { type popart_compiler (line 32) | namespace popart_compiler { class Compiler (line 34) | class Compiler type detail (line 36) | namespace detail { type CallbackInternalMetadata (line 43) | struct CallbackInternalMetadata { class StepIO (line 71) | class StepIO : public popart::IStepIO { type ArrayInfo (line 73) | struct ArrayInfo { method StepIO (line 87) | StepIO() = default; method assertNumElements (line 105) | void assertNumElements( class WeightsIO (line 146) | class WeightsIO : public popart::IWeightsIO { type ConstVoidDataLessThan (line 162) | struct ConstVoidDataLessThan { type CompilerImpl (line 167) | struct CompilerImpl { method CompilerImpl (line 171) | CompilerImpl() : op_builder(popart::Builder::create()) { method optimizerGroup (line 341) | void optimizerGroup(const std::vector &tensors, int64_... method setOptionIfNotSet (line 355) | void setOptionIfNotSet(T &option, U value, const std::string &name, method setOptionIfNotSet (line 368) | void setOptionIfNotSet(T &option, U value, const std::string &na... method PopartType (line 402) | PopartType getCachedPopartType(TensorId id) const { return ids_t... FILE: popart_compiler/source/include/popart_compiler/CompilerOptions.hpp type poptorch (line 15) | namespace poptorch { type popart_compiler (line 16) | namespace popart_compiler { type detail (line 17) | namespace detail { type ExecutionMode (line 19) | enum class ExecutionMode { Pipelined, Sharded, Phased, N } type Liveness (line 22) | enum class Liveness { type CompilerOptions (line 30) | struct CompilerOptions { FILE: popart_compiler/source/include/popart_compiler/CustomOps.hpp type poptorch (line 14) | namespace poptorch { type poptorch_custom_ops (line 15) | namespace poptorch_custom_ops { FILE: popart_compiler/source/include/popart_compiler/MultiConvBuilder.hpp type poptorch (line 14) | namespace poptorch { type popart_compiler (line 15) | namespace popart_compiler { type detail (line 16) | namespace detail { class MultiConvBuilder (line 18) | class MultiConvBuilder { method addConv (line 20) | void addConv(const std::vector &inputs, method setAvailableMemoryProportions (line 33) | void setAvailableMemoryProportions(const std::vector &v) { method setPartialsTypes (line 37) | void setPartialsTypes(const std::vector &partials_types) { method setEnableConvDithering (line 53) | void setEnableConvDithering(const std::vector &v) { method setPlanType (line 57) | void setPlanType(int64_t plan_type) { method setPerConvReservedTiles (line 67) | void setPerConvReservedTiles(int n) { _options.perConvReservedTi... method setCycleBackOff (line 69) | void setCycleBackOff(float v) { _options.cycleBackOff = v; } method build (line 71) | std::vector build(popart::Builder *builder) co... FILE: popart_compiler/source/include/popart_compiler/SessionOptionsImpl.hpp type poptorch (line 13) | namespace poptorch { type popart_compiler (line 14) | namespace popart_compiler { type detail (line 15) | namespace detail { type SessionOptionsImpl (line 17) | struct SessionOptionsImpl { method setMemoryProportion (line 33) | void setMemoryProportion(std::uint32_t ipu, float memory) { method set (line 38) | void set(const std::string &key, ValueType value, FILE: popart_compiler/types/include/popart_compiler/CompilerTypes.hpp type poptorch (line 13) | namespace poptorch { type popart_compiler (line 14) | namespace popart_compiler { type TensorMetadata (line 18) | struct TensorMetadata { type CallbackMetadata (line 32) | struct CallbackMetadata { type OutputElemType (line 49) | enum class OutputElemType { Tensor, Tuple, List } type TestErrorType (line 52) | enum class TestErrorType { type OutputTypeShape (line 63) | struct OutputTypeShape { type Timestamps (line 68) | struct Timestamps { type Optimizer (line 75) | struct Optimizer { type Parameter (line 76) | struct Parameter { method Optimizer (line 83) | explicit Optimizer(OptimizerType t, bool useTfVariant) method Optimizer (line 85) | explicit Optimizer(OptimizerType t, bool useTfVariant, float maxGr... method Optimizer (line 88) | Optimizer(OptimizerType t, bool accumType, bool firstOrderType, FILE: popart_compiler/types/include/popart_compiler/PopartEnums.hpp type poptorch (line 8) | namespace poptorch { type popart_compiler (line 9) | namespace popart_compiler { type OptimizerType (line 18) | enum class OptimizerType : std::uint8_t { type PopartType (line 60) | enum class PopartType { FOR_ALL_POPART_TYPES function toPopartTypeStr (line 68) | inline std::string toPopartTypeStr(const PopartType &type) { type PopartOutputMode (line 79) | enum class PopartOutputMode : std::uint8_t { Final = 0, EveryN, All,... function PopartOutputMode (line 88) | static PopartOutputMode outputModeFromString(const std::string &str) { FILE: poptorch/include/poptorch/DispatchTracer.hpp type at (line 11) | namespace at { class Tensor (line 12) | class Tensor type torch (line 15) | namespace torch { type jit (line 16) | namespace jit { type Graph (line 17) | struct Graph type Node (line 18) | struct Node type Value (line 19) | struct Value type poptorch (line 23) | namespace poptorch { type CompilerOptions (line 25) | struct CompilerOptions type InplaceGraphInfo (line 26) | struct InplaceGraphInfo type PoptorchErrorInfo (line 27) | struct PoptorchErrorInfo type TracingMode (line 31) | enum TracingMode { type PerReplicaSettings (line 36) | struct PerReplicaSettings { FILE: poptorch/include/poptorch/InplaceOps.hpp type c10 (line 11) | namespace c10 { type Symbol (line 12) | struct Symbol type torch (line 15) | namespace torch { type jit (line 16) | namespace jit { type Graph (line 17) | struct Graph type Node (line 18) | struct Node type Value (line 20) | struct Value type poptorch (line 24) | namespace poptorch { type InplaceGraphInfo (line 27) | struct InplaceGraphInfo { class InplaceInputsTracker (line 58) | class InplaceInputsTracker { FILE: poptorch/include/poptorch/LowerToPopart.hpp type poptorch (line 18) | namespace poptorch { type popart_compiler (line 19) | namespace popart_compiler { class SessionOptions (line 20) | class SessionOptions type detail (line 23) | namespace detail { class LowerToPopartImpl (line 24) | class LowerToPopartImpl type Anchor (line 32) | struct Anchor { method Anchor (line 33) | Anchor(std::string n, std::uint8_t m, size_t p) type InplaceGraphInfo (line 47) | struct InplaceGraphInfo class LowerToPopart (line 49) | class LowerToPopart { FILE: poptorch/include/poptorch/LowerToPopartFactories.hpp type poptorch (line 14) | namespace poptorch { FILE: poptorch/include/poptorch/PoplarExecutable.hpp type poptorch (line 16) | namespace poptorch { class PoplarExecutable (line 18) | class PoplarExecutable { method PoplarExecutable (line 20) | PoplarExecutable() = delete; method PoplarExecutable (line 21) | PoplarExecutable(popart_compiler::Compiler &&c, FILE: poptorch/include/poptorch/SessionOptionsParser.hpp type poptorch (line 18) | namespace poptorch { type popart_compiler (line 19) | namespace popart_compiler { class SessionOptions (line 20) | class SessionOptions class IPyValue (line 24) | class IPyValue { class SessionOptionsParser (line 54) | class SessionOptionsParser { FILE: poptorch/include/poptorch/Utils.hpp type poptorch (line 13) | namespace poptorch { class ListTypeWithNumElements (line 62) | class ListTypeWithNumElements method ListTypeWithNumElements (line 66) | ListTypeWithNumElements(c10::TypePtr elem_type, size_t num_elements) method equals (line 69) | bool equals(const Type &rhs) const override { method numElements (line 76) | size_t numElements() const { return _num_elements; } method getOriginalListType (line 80) | c10::ListTypePtr getOriginalListType() const { method annotation_str_impl (line 87) | std::string annotation_str_impl(c10::TypePrinter printer) const over... type JitTensorInfo (line 94) | struct JitTensorInfo { FILE: poptorch/source/AddDetachOperations.cpp type poptorch (line 12) | namespace poptorch { function maybeInsertDetachOp (line 45) | void maybeInsertDetachOp(torch::jit::Graph *graph, torch::jit::Node *n... function replaceDetachedValues (line 63) | void replaceDetachedValues(torch::jit::Node *node) { function addDetachOperations (line 89) | void addDetachOperations(torch::jit::Graph *graph) { FILE: poptorch/source/AddSubgraphConnectionNodes.cpp type poptorch (line 16) | namespace poptorch { type Subgraph (line 21) | struct Subgraph { function isTerminator (line 36) | bool isTerminator(const torch::jit::Node *node) { function isUsedInTerminator (line 40) | bool isUsedInTerminator(const torch::jit::Node *node) { function markInputsAsComingFromParent (line 54) | bool markInputsAsComingFromParent(torch::jit::Graph *graph, function markOutputs (line 83) | void markOutputs(torch::jit::Graph *graph, torch::jit::Node *outputs, type InsertionPointAndShape (line 111) | struct InsertionPointAndShape { function markCondOutputs (line 117) | void markCondOutputs(torch::jit::Graph *graph, torch::jit::Node *outputs, function insertSetAttribute (line 204) | void insertSetAttribute(torch::jit::Graph *graph, size_t cond_nest_lvl, function insertClearAttribute (line 217) | void insertClearAttribute(torch::jit::Graph *graph, size_t cond_nest_lvl, function annotateSubgraphs (line 237) | void annotateSubgraphs(torch::jit::Graph *graph, torch::jit::Node *sta... FILE: poptorch/source/AliasProcessing.cpp type poptorch (line 8) | namespace poptorch { function resolveAliases (line 10) | void resolveAliases(torch::jit::Graph *graph) { FILE: poptorch/source/CPUOffloadingCleanUp.cpp type poptorch (line 30) | namespace poptorch { function cpuOffloadingCleanup (line 32) | void cpuOffloadingCleanup(torch::jit::Graph *graph) { FILE: poptorch/source/ErrorOnUnsupportedAten.cpp type poptorch (line 9) | namespace poptorch { function errorOnUnsupportedAten (line 11) | void errorOnUnsupportedAten(torch::jit::Graph *graph) { FILE: poptorch/source/FixupSetAvailableMemory.cpp type poptorch (line 18) | namespace poptorch { function isValidInputOpForAMP (line 23) | bool isValidInputOpForAMP(const Node *node) { function tryRemovePossibleInput (line 33) | bool tryRemovePossibleInput(const Node *input) { function setAvailableMemoryAddPossibleInputOp (line 60) | void setAvailableMemoryAddPossibleInputOp(torch::jit::Node *node) { function moveSetAvailableMemoryIfRequired (line 69) | void moveSetAvailableMemoryIfRequired( FILE: poptorch/source/GNNOptimizations.cpp type poptorch (line 21) | namespace poptorch { function groupScatterReduceAndGatherNodes (line 79) | void groupScatterReduceAndGatherNodes(torch::jit::Graph *graph) { function removeScatterAddIndexExpansion (line 84) | void removeScatterAddIndexExpansion(torch::jit::Graph *graph) { function groupScatterReduceNodes (line 130) | void groupScatterReduceNodes(torch::jit::Graph *graph) { function groupGatherNodes (line 232) | void groupGatherNodes(torch::jit::Graph *graph) { function initQueue (line 319) | void initQueue(torch::jit::Graph *graph, std::queue function unpackGroupedOutputs (line 583) | void unpackGroupedOutputs(torch::jit::Graph *graph, FILE: poptorch/source/GatherWithExpandedIndicesOptimization.cpp type poptorch (line 12) | namespace poptorch { function simplifyGatherWithExpandedIndices (line 14) | void simplifyGatherWithExpandedIndices(torch::jit::Graph *graph) { FILE: poptorch/source/ImplicitCasting.cpp type poptorch (line 19) | namespace poptorch { function skipInput (line 22) | bool skipInput(const ImplicitCast implicit_cast, const unsigned int in... function inferExpectedTypeDispatch (line 42) | c10::ScalarType inferExpectedTypeDispatch( function needToRetype (line 74) | bool needToRetype(const torch::jit::Value *input, function implicitCastInputs (line 100) | std::vector function removeDeadImplicitCasts (line 123) | void removeDeadImplicitCasts(torch::jit::Graph *graph) { FILE: poptorch/source/InplaceOps.cpp type poptorch (line 22) | namespace poptorch { function countNumTensorOutputs (line 47) | size_t countNumTensorOutputs(torch::jit::Graph &graph) { function addAdditionalInputsIfRequired (line 66) | void addAdditionalInputsIfRequired(torch::jit::Graph *graph, function removeRemainingInplaceOps (line 100) | void removeRemainingInplaceOps(torch::jit::Graph &graph) { function outplaceKind (line 124) | torch::jit::NodeKind outplaceKind(torch::jit::NodeKind kind) { function InplaceGraphInfo (line 177) | InplaceGraphInfo function fixForLoopInputs (line 278) | void fixForLoopInputs(torch::jit::Graph &graph) { function verifyIfElseBlocksOrder (line 296) | void verifyIfElseBlocksOrder(const torch::jit::Graph &graph) { FILE: poptorch/source/LowerToPopart.cpp type poptorch (line 29) | namespace poptorch { function getModelProtoFilename (line 33) | std::string getModelProtoFilename() { class ValueMap (line 53) | class ValueMap { method hasTensor (line 64) | bool hasTensor(torch::jit::Value *value) const { type Data (line 73) | struct Data { method Data (line 74) | explicit Data(popart_compiler::TensorId id) method Data (line 79) | Data(TensorList tuple, popart_compiler::OutputElemType type_) function getTensorDimensions (line 168) | std::vector getTensorDimensions(const at::Tensor &tensor) { function fromPopartType (line 173) | at::ScalarType fromPopartType(const popart_compiler::PopartType type) { function toPopartType (line 221) | popart_compiler::PopartType toPopartType(const at::ScalarType type) { function platformAgnosticTypeInfoFromIRType (line 264) | void platformAgnosticTypeInfoFromIRType( type detail (line 284) | namespace detail { class LowerToPopartImpl (line 288) | class LowerToPopartImpl { function maskVector (line 355) | void maskVector(std::vector *vec, const std::vector &mask, function T (line 1135) | T convertType(T &&t) { return t; } function convertType (line 1143) | std::vector convertType(const std::vector... function convertType (line 1153) | std::vector convertType(const std::vector &v) { function convertTensorConstantNode (line 1160) | popart_compiler::PopartConstant function convertHostSideTensorConstantNode (line 1185) | popart_compiler::HostSideConstant function processListAttribute (line 1200) | void processListAttribute( function convertCustomOpAttributes (line 1240) | std::shared_ptr> FILE: poptorch/source/LowerToPopartFactories.cpp type poptorch (line 25) | namespace poptorch { function lowerToPopartFromDispatch (line 27) | poptorch::LowerToPopart lowerToPopartFromDispatch( FILE: poptorch/source/OpBuilder.cpp type poptorch (line 18) | namespace poptorch { function scalarTypeFromInput (line 21) | at::ScalarType scalarTypeFromInput(const torch::jit::Node *node, size_... class SourceLocation (line 28) | class SourceLocation { method isEnabled (line 32) | bool isEnabled() const { return _enabled; } method setLocation (line 34) | void setLocation(const std::string &filename, std::uint64_t line) { method setMetadata (line 41) | void setMetadata(const std::string &metadata) { function resetCurrentSourceLocation (line 75) | void resetCurrentSourceLocation() { function setCurrentPythonCodeLocation (line 79) | void setCurrentPythonCodeLocation( function setCurrentMetadata (line 91) | void setCurrentMetadata(const std::string &metadata) { function setSourceRangeToCurrentLocation (line 166) | void setSourceRangeToCurrentLocation(torch::jit::Node *node) { function insertNodeInGraph (line 170) | void insertNodeInGraph(torch::jit::Graph *graph, torch::jit::Node *new... function insertNodeBeforeNode (line 176) | void insertNodeBeforeNode(torch::jit::Node *new_node, function insertNodeAfterNode (line 183) | void insertNodeAfterNode(torch::jit::Node *new_node, function setNodeOutputsTypes (line 191) | void setNodeOutputsTypes(torch::jit::Node *node, function convertPytorchPads (line 394) | static std::vector FILE: poptorch/source/OverlappedIO.cpp type poptorch (line 15) | namespace poptorch { function attributiseOverlappedInputs (line 18) | void attributiseOverlappedInputs( function errorOnDoubleReturnOfOutput (line 69) | void errorOnDoubleReturnOfOutput(torch::jit::Node *node) { function attributiseOverlappedOutputs (line 99) | void attributiseOverlappedOutputs( function attributiseOverlappedIO (line 148) | void attributiseOverlappedIO(torch::jit::Graph *graph) { FILE: poptorch/source/PopartCanonicalization.cpp type torch (line 19) | namespace torch { type jit (line 20) | namespace jit { type poptorch (line 25) | namespace poptorch { type ReplaceInfo (line 28) | struct ReplaceInfo { function propagateHalfOnListOrTupleConstruct (line 139) | void propagateHalfOnListOrTupleConstruct(torch::jit::Node *n, bool tup... class CanonicalizeImpl (line 183) | class CanonicalizeImpl { function canonicalize (line 295) | void canonicalize(torch::jit::Graph *graph) { FILE: poptorch/source/PopartLateCanonicalization.cpp type poptorch (line 16) | namespace poptorch { function broadcast (line 21) | void broadcast(std::vector &option, size_t num_convs) { class MultiConvHandler (line 29) | class MultiConvHandler { method MultiConvHandler (line 31) | explicit MultiConvHandler(torch::jit::Graph *g) : _graph(g) {} method inMultiConv (line 33) | bool inMultiConv() const { return _in_multi_conv; } method begin (line 35) | void begin(torch::jit::Node *node) { method part (line 41) | void part(torch::jit::Node *node) { _parts.push_back(node); } method FunctionTy (line 43) | FunctionTy end(torch::jit::Node *node) { method cleanup (line 53) | void cleanup() { searchAndPossiblyDestroy(_to_delete); } method applyOptions (line 56) | void applyOptions(torch::jit::Node *end_node) { method applyPartLinks (line 115) | void applyPartLinks(torch::jit::Node *end_node) { function FunctionTy (line 182) | FunctionTy reorderMatmulSeralisationIfRequired(torch::jit::Node *node) { function canonicalizeLate (line 213) | void canonicalizeLate(torch::jit::Graph *graph) { FILE: poptorch/source/PoplarExecutable.cpp type poptorch (line 16) | namespace poptorch { FILE: poptorch/source/PoptorchSymbols.cpp type c10::aten (line 12) | namespace c10::aten { function initializeAtenSymbols (line 17) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) type torch_scatter (line 26) | namespace torch_scatter { function initializeTorchScatterSymbols (line 33) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) type torch_cluster (line 44) | namespace torch_cluster { function initializeTorchScatterSymbols (line 49) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) type torch_spline_conv (line 58) | namespace torch_spline_conv { function initializeTorchSplineConvSymbols (line 64) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) type poptorch (line 74) | namespace poptorch { type symbols (line 75) | namespace symbols { function initializeSupportedOperations (line 89) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) type poptorch (line 109) | namespace poptorch { function initializePoptorchSymbols (line 158) | __attribute__((constructor(SYMBOL_INIT_PRIORITY))) function getOverlapSymbol (line 211) | c10::Symbol getOverlapSymbol(const char *suffix, unsigned int num) { FILE: poptorch/source/PoptorchSymbols.hpp type c10::aten (line 11) | namespace c10::aten { type poptorch (line 16) | namespace poptorch { type symbols (line 18) | namespace symbols { type symbols::poptorch (line 37) | namespace symbols::poptorch { type torch_scatter (line 92) | namespace torch_scatter { type torch_cluster (line 98) | namespace torch_cluster { type torch_spline_conv (line 102) | namespace torch_spline_conv { FILE: poptorch/source/RemoveSurplusIdentityLosses.cpp type poptorch (line 18) | namespace poptorch { function traverseUseDef (line 20) | bool traverseUseDef(torch::jit::Node *node) { function removeSurplusIdentityLosses (line 47) | void removeSurplusIdentityLosses(torch::jit::Graph *graph) { FILE: poptorch/source/RequiresGrad.cpp type poptorch (line 11) | namespace poptorch { function fixRequiresGradFromDispatch (line 13) | void fixRequiresGradFromDispatch(torch::jit::Graph *graph) { FILE: poptorch/source/SessionOptionsParser.cpp type poptorch (line 9) | namespace poptorch { FILE: poptorch/source/Utils.cpp type poptorch (line 19) | namespace poptorch { function isNondeterministic (line 37) | bool isNondeterministic(const torch::jit::Node &node) { function nodeToString (line 56) | std::string nodeToString(const torch::jit::Node *node) { function scalarTypeToOnnxString (line 63) | std::string scalarTypeToOnnxString(const at::ScalarType type) { function onnxStrToScalarType (line 100) | at::ScalarType onnxStrToScalarType(const char *type_str) { function coerceToSupportedType (line 141) | at::ScalarType coerceToSupportedType(at::ScalarType type) { function addNullPtrsForUnusedTuple (line 175) | void addNullPtrsForUnusedTuple(const c10::TupleType *tuple_type, function processInput (line 196) | void processInput(torch::jit::Graph *graph, torch::jit::Value *input, function collapsedGraphInputHierachy (line 231) | std::vector function numTensorsForType (line 242) | size_t numTensorsForType(const c10::TypePtr &type) { function shouldDestroy (line 267) | bool shouldDestroy(torch::jit::Node *node) { function copyInputs (line 274) | std::unordered_set copyInputs(torch::jit::Node *no... function searchAndPossiblyDestroyInternal (line 282) | void searchAndPossiblyDestroyInternal( function searchAndPossiblyDestroy (line 303) | void searchAndPossiblyDestroy( function removeAndPossiblyDestroyAllInputs (line 311) | void removeAndPossiblyDestroyAllInputs(torch::jit::Node *node) { function stringToUniquePtr (line 320) | std::unique_ptr stringToUniquePtr(const std::string &str) { function shapeFromTensor (line 328) | std::vector shapeFromTensor(const torch::jit::Value *val... function castWeightAndBias (line 354) | void castWeightAndBias(torch::jit::Graph *graph, torch::jit::Value *in... function validateTensorShapeAndType (line 402) | void validateTensorShapeAndType(torch::jit::Value *value, function setNodeTensorAttrValue (line 413) | void setNodeTensorAttrValue(torch::jit::Node *node, FILE: poptorch/source/dispatch_tracer/CommonHelperFunctions.cpp type poptorch (line 25) | namespace poptorch { function isGenericListOfTensors (line 29) | bool isGenericListOfTensors(c10::IValue &value) { function isListOfOptionalTensors (line 43) | bool isListOfOptionalTensors(c10::IValue &value) { function scalarTypeOrDefault (line 180) | at::ScalarType scalarTypeOrDefault(c10::optional dtype) { function copyAndCoerceType (line 184) | at::Tensor copyAndCoerceType(const at::Tensor &tensor) { function getInplaceArguments (line 199) | std::vector getInplaceArguments(const c10::Stack &stack, function toString (line 248) | std::string toString(const at::Tensor &t) { function isHalfTensor (line 252) | bool isHalfTensor(const at::Tensor &t) { function deviceOrDefaultIpu (line 256) | c10::Device deviceOrDefaultIpu(c10::optional device) { function getSchemaKey (line 260) | std::string getSchemaKey(const c10::FunctionSchema &schema) { FILE: poptorch/source/dispatch_tracer/CommonHelperFunctions.hpp type torch (line 13) | namespace torch { type jit (line 14) | namespace jit { type Graph (line 15) | struct Graph type Node (line 16) | struct Node type Value (line 17) | struct Value type poptorch (line 21) | namespace poptorch { class ValueMapper (line 23) | class ValueMapper FILE: poptorch/source/dispatch_tracer/InplaceAliasMapper.cpp type poptorch (line 6) | namespace poptorch { function InplaceArgAliasMapper (line 8) | InplaceArgAliasMapper &InplaceArgAliasMapper::getInstance() { function INPLACE_ARG_MAPPER_IMPL (line 47) | INPLACE_ARG_MAPPER_IMPL(torch_scatter, mapper) { FILE: poptorch/source/dispatch_tracer/InplaceAliasMapper.hpp type poptorch (line 10) | namespace poptorch { class InplaceArgAliasMapper (line 12) | class InplaceArgAliasMapper { method InplaceArgAliasMapper (line 24) | InplaceArgAliasMapper() = default; method InplaceArgAliasMapper (line 26) | InplaceArgAliasMapper(const InplaceArgAliasMapper &) = delete; method InplaceArgAliasMapper (line 27) | InplaceArgAliasMapper(InplaceArgAliasMapper &&) = delete; method InplaceArgAliasMapper (line 28) | InplaceArgAliasMapper &operator=(const InplaceArgAliasMapper &) = de... method InplaceArgAliasMapper (line 29) | InplaceArgAliasMapper &operator=(InplaceArgAliasMapper &&) = delete; type InplaceArgAliasMapperInit (line 35) | struct InplaceArgAliasMapperInit { FILE: poptorch/source/dispatch_tracer/RegisterAtenOverloads.cpp type poptorch (line 49) | namespace poptorch { function valueToString (line 53) | std::string valueToString(const c10::IValue &ivalue) { function isIpuDevice (line 82) | bool isIpuDevice(const c10::Device &d) { type GlobalTracerContext (line 92) | struct GlobalTracerContext { method isDispatchOn (line 96) | inline bool isDispatchOn() { return dispatch_on; } method hasActiveDispatch (line 98) | bool hasActiveDispatch() { return static_cast(_active_dispatch... method IDispatch (line 100) | IDispatch *activeDispatch() { method resetActiveDispatch (line 105) | void resetActiveDispatch(std::unique_ptr new_dispatch) { method updatePythonCallstack (line 109) | void updatePythonCallstack() { method throwPoptorchError (line 113) | void throwPoptorchError(const PoptorchErrorInfo &info) { method setPoptorchErrorThrower (line 146) | void setPoptorchErrorThrower(PoptorchErrorThrower thrower) { function GlobalTracerContext (line 159) | GlobalTracerContext &getContext() { return *context; } method isDispatchOn (line 96) | inline bool isDispatchOn() { return dispatch_on; } method hasActiveDispatch (line 98) | bool hasActiveDispatch() { return static_cast(_active_dispatch... method IDispatch (line 100) | IDispatch *activeDispatch() { method resetActiveDispatch (line 105) | void resetActiveDispatch(std::unique_ptr new_dispatch) { method updatePythonCallstack (line 109) | void updatePythonCallstack() { method throwPoptorchError (line 113) | void throwPoptorchError(const PoptorchErrorInfo &info) { method setPoptorchErrorThrower (line 146) | void setPoptorchErrorThrower(PoptorchErrorThrower thrower) { function downCastIfNeeded (line 162) | at::Tensor downCastIfNeeded(const at::Tensor &t) { function hostSideCast (line 173) | void hostSideCast(void *dest, c10::ScalarType dest_scalar_type, void *... function isParameter (line 199) | inline bool isParameter(const at::Tensor &tensor) { function copyInplace (line 205) | void copyInplace(const c10::OperatorHandle &op, c10::Stack *stack) { function startParametersMove (line 328) | void startParametersMove() { getContext().moving_parameters = true; } function endParametersMove (line 330) | void endParametersMove() { getContext().moving_parameters = false; } function startOutputsMove (line 332) | void startOutputsMove() { getContext().moving_outputs = true; } function endOutputsMove (line 334) | void endOutputsMove() { getContext().moving_outputs = false; } function startDispatch (line 337) | void startDispatch() { getContext().dispatch_on = true; } function setPoptorchErrorThrower (line 339) | void setPoptorchErrorThrower(PoptorchErrorThrower thrower) { function throwPoptorchError (line 343) | void throwPoptorchError(const PoptorchErrorInfo &info) { function endDispatch (line 348) | void endDispatch(bool error_occurred) { function poptorchAtExit (line 358) | void poptorchAtExit() { function destroyDispatcher (line 365) | void destroyDispatcher() { function setParameterName (line 372) | void setParameterName(const at::Tensor &tensor, const std::string &nam... function getParameterName (line 376) | std::string getParameterName(torch::jit::Value *value) { function setParameterPerReplica (line 380) | void setParameterPerReplica(const std::string ¶m_name, function getParameterPerReplica (line 387) | bool getParameterPerReplica(torch::jit::Value *value, function isCompilingWithDispatcher (line 395) | bool isCompilingWithDispatcher() { return getContext().hasActiveDispat... function isDispatcherOn (line 399) | bool isDispatcherOn() { return getContext().isDispatchOn(); } function CompilerOptions (line 401) | CompilerOptions function createGraph (line 415) | void createGraph(TracingMode mode, const std::vector &inputs, function cpuFallback (line 432) | void cpuFallback(const c10::OperatorHandle &op, torch::jit::Stack *sta... function fallback (line 441) | void fallback(const c10::OperatorHandle &op, c10::Stack *stack) { function InplaceGraphInfo (line 455) | InplaceGraphInfo getInplaceGraphInfo(size_t num_anchors, function getTracedGraph (line 462) | std::shared_ptr getTracedGraph() { function finalizeGraph (line 483) | void finalizeGraph() { getContext().activeDispatch()->finalizeGraph(); } function isParameter (line 493) | bool isParameter(torch::jit::Value *value) { function localScalarDense (line 500) | at::Scalar localScalarDense(const at::Tensor &self) { function item (line 507) | at::Scalar item(const at::Tensor &self) { function emptyBase (line 517) | at::Tensor function emptyMemoryFormat (line 548) | at::Tensor emptyMemoryFormat( function emptyStrided (line 565) | at::Tensor emptyStrided(at::IntArrayRef size, at::IntArrayRef stride, function linalgMatrixNorm (line 578) | at::Tensor linalgMatrixNorm(const at::Tensor &self, const at::Scalar &... function linalgMatrixNormStrOrd (line 593) | at::Tensor linalgMatrixNormStrOrd(const at::Tensor &self, c10::string_... function detach (line 606) | void detach(const c10::OperatorHandle &op, c10::Stack *stack) { function weightNormInterface (line 635) | void weightNormInterface(const c10::OperatorHandle &op, c10::Stack *st... function replaceValueDispatcher (line 654) | void replaceValueDispatcher(torch::jit::Value *v_old, function getIpuTensorId (line 662) | std::uint64_t getIpuTensorId(const at::Tensor &tensor) { function TORCH_LIBRARY_IMPL (line 675) | TORCH_LIBRARY_IMPL(_, IPU, m) { m.fallback(PTC_BOXED(poptorch::fallback)... function TORCH_LIBRARY_IMPL (line 677) | TORCH_LIBRARY_IMPL(_, AutogradIPU, m) { function TORCH_LIBRARY_IMPL (line 704) | TORCH_LIBRARY_IMPL(aten, AutogradIPU, m) { function popArgumentsFromStack (line 715) | void popArgumentsFromStack(const c10::OperatorHandle &op, c10::Stack *st... function pushResultsToStack (line 721) | void pushResultsToStack(c10::Stack *stack, function updateStack (line 728) | void updateStack(const c10::OperatorHandle &op, c10::Stack *stack, function getNthArgument (line 737) | c10::IValue getNthArgument(const c10::OperatorHandle &op, c10::Stack *st... function opReturningFirstArgument (line 743) | void opReturningFirstArgument(const c10::OperatorHandle &op, function opWithoutOutputs (line 749) | void opWithoutOutputs(const c10::OperatorHandle &op, c10::Stack *stack) { function callCpuOp (line 757) | void callCpuOp(const c10::OperatorHandle &op, c10::Stack *stack) { function endCpuOp (line 765) | void endCpuOp(const c10::OperatorHandle &op, c10::Stack *stack) { function castOp (line 776) | at::Tensor castOp(const at::Tensor &tensor, const std::string &type) { function customOperation (line 802) | void customOperation(const c10::OperatorHandle &op, c10::Stack *stack) { function dynamicSlice (line 809) | at::Tensor dynamicSlice(const at::Tensor &self, int64_t dim, function dynamicUpdate (line 828) | at::Tensor dynamicUpdate(const at::Tensor &self, const at::Tensor &src, function ctcBeamSearchDecoder (line 845) | std::tuple function identityLoss (line 863) | at::Tensor identityLoss(const at::Tensor &t, int64_t reduction) { function TORCH_LIBRARY (line 884) | TORCH_LIBRARY(poptorch, m) { function TORCH_LIBRARY_IMPL (line 958) | TORCH_LIBRARY_IMPL(poptorch, CPU, m) { function TORCH_LIBRARY_IMPL (line 991) | TORCH_LIBRARY_IMPL(poptorch, AutogradIPU, m) { FILE: poptorch/source/dispatch_tracer/Tensor.cpp type poptorch (line 28) | namespace poptorch { type Overloaded (line 35) | struct Overloaded : Ts... { using Ts::operator()...; } function toCompilerType (line 47) | poptorch_ir::Type toCompilerType(const at::ScalarType &elem_type) { function toCompilerElementType (line 70) | poptorch_ir::Type toCompilerElementType(const at::Tensor &tensor) { function tensorImplDataSize (line 76) | uint64_t tensorImplDataSize(const at::TensorImpl &impl) { type IpuTensorImpl (line 88) | struct IpuTensorImpl : public at::TensorImpl { method IpuTensorImpl (line 92) | IpuTensorImpl(const IpuTensorImpl &src) method release_resources (line 97) | void release_resources() override { details.reset(); } method IpuTensorImpl (line 99) | IpuTensorImpl(const caffe2::TypeMeta data_type, c10::Device device, method shallow_copy_and_detach (line 116) | c10::intrusive_ptr method shallow_copy_and_detach (line 130) | c10::intrusive_ptr method set_size (line 144) | void set_size(int64_t dim, int64_t new_size) override { method set_stride (line 150) | void set_stride(int64_t dim, int64_t new_stride) override { method set_storage_offset (line 156) | void set_storage_offset(int64_t storage_offset) override { function IpuTensorImpl (line 169) | IpuTensorImpl *tryIpuTensorImpl(const at::Tensor &tensor) { method IpuTensorImpl (line 92) | IpuTensorImpl(const IpuTensorImpl &src) method release_resources (line 97) | void release_resources() override { details.reset(); } method IpuTensorImpl (line 99) | IpuTensorImpl(const caffe2::TypeMeta data_type, c10::Device device, method shallow_copy_and_detach (line 116) | c10::intrusive_ptr method shallow_copy_and_detach (line 130) | c10::intrusive_ptr method set_size (line 144) | void set_size(int64_t dim, int64_t new_size) override { method set_stride (line 150) | void set_stride(int64_t dim, int64_t new_stride) override { method set_storage_offset (line 156) | void set_storage_offset(int64_t storage_offset) override { function IpuTensorImpl (line 173) | IpuTensorImpl *toIpuTensorImpl(const at::Tensor &tensor) { method IpuTensorImpl (line 92) | IpuTensorImpl(const IpuTensorImpl &src) method release_resources (line 97) | void release_resources() override { details.reset(); } method IpuTensorImpl (line 99) | IpuTensorImpl(const caffe2::TypeMeta data_type, c10::Device device, method shallow_copy_and_detach (line 116) | c10::intrusive_ptr method shallow_copy_and_detach (line 130) | c10::intrusive_ptr method set_size (line 144) | void set_size(int64_t dim, int64_t new_size) override { method set_stride (line 150) | void set_stride(int64_t dim, int64_t new_stride) override { method set_storage_offset (line 156) | void set_storage_offset(int64_t storage_offset) override { function IpuTensorImpl (line 182) | const IpuTensorImpl *toIpuTensorImpl(const at::TensorImpl &tensor) { method IpuTensorImpl (line 92) | IpuTensorImpl(const IpuTensorImpl &src) method release_resources (line 97) | void release_resources() override { details.reset(); } method IpuTensorImpl (line 99) | IpuTensorImpl(const caffe2::TypeMeta data_type, c10::Device device, method shallow_copy_and_detach (line 116) | c10::intrusive_ptr method shallow_copy_and_detach (line 130) | c10::intrusive_ptr method set_size (line 144) | void set_size(int64_t dim, int64_t new_size) override { method set_stride (line 150) | void set_stride(int64_t dim, int64_t new_stride) override { method set_storage_offset (line 156) | void set_storage_offset(int64_t storage_offset) override { function getTensorDetails (line 190) | std::shared_ptr type GuardImpl (line 196) | struct GuardImpl : public c10::impl::DeviceGuardImplInterface { method type (line 197) | at::DeviceType type() const override { return at::DeviceType::IPU; } method exchangeDevice (line 199) | c10::Device exchangeDevice(c10::Device device) const override { method getDevice (line 209) | c10::Device getDevice() const override { return _current_device; } method setDevice (line 211) | void setDevice(c10::Device device) const override { method uncheckedSetDevice (line 216) | void uncheckedSetDevice(c10::Device device) const noexcept override { method getStream (line 227) | c10::Stream getStream(c10::Device device) const noexcept override { method exchangeStream (line 231) | c10::Stream exchangeStream(c10::Stream s) const noexcept override { method deviceCount (line 237) | c10::DeviceIndex deviceCount() const noexcept override { return 1; } function getTensorType (line 245) | poptorch_ir::TensorType getTensorType(const at::ScalarType &scalar_type, function getTensorType (line 251) | poptorch_ir::TensorType getTensorType(const at::Tensor &tensor) { function ipuTensorId (line 255) | uint64_t ipuTensorId(const at::Tensor &tensor) { function ipuTensorId (line 259) | uint64_t ipuTensorId(const at::TensorImpl &tensor) { function isIpuTensor (line 263) | bool isIpuTensor(const at::Tensor &tensor) { function str (line 267) | std::string str(const at::Tensor &tensor) { function tensorDataSize (line 285) | uint64_t tensorDataSize(const at::Tensor &tensor) { function Buffer (line 289) | Buffer &getHostBuffer(const at::Tensor &ipu_tensor) { function Buffer (line 293) | Buffer &getHostBuffer(const at::TensorImpl &ipu_tensor) { function hasData (line 298) | bool hasData(const at::Tensor &ipu_tensor) { function errorOnZeroSizedTensor (line 303) | void errorOnZeroSizedTensor(const at::Tensor &tensor) { function Buffer (line 372) | Buffer &TensorStore::allocateBuffer(IpuTensorDetails &details) { function getTensorDetails (line 434) | std::shared_ptr function getTensorDetails (line 439) | std::vector> function setTensorDetails (line 449) | void setTensorDetails(const at::Tensor &ipu_tensor, function getBufferOrView (line 459) | IpuTensorDetails::Data getBufferOrView(std::shared_ptr vi... function Buffer (line 474) | Buffer &IpuTensorDetails::getBuffer() { FILE: poptorch/source/dispatch_tracer/Tensor.hpp type poptorch_ir (line 18) | namespace poptorch_ir { class IIpuSession (line 19) | class IIpuSession type poptorch (line 22) | namespace poptorch { class IDispatch (line 27) | class IDispatch type IpuTensorImpl (line 28) | struct IpuTensorImpl class ValueMapper (line 29) | class ValueMapper class ITensorView (line 31) | class ITensorView { type IpuTensorDetails (line 41) | struct IpuTensorDetails { class TensorStore (line 119) | class TensorStore { method TensorStore (line 122) | TensorStore(const TensorStore &) = delete; method TensorStore (line 123) | TensorStore(TensorStore &&) = delete; method TensorStore (line 124) | TensorStore &operator=(TensorStore &) = delete; method TensorStore (line 125) | TensorStore &operator=(TensorStore &&) = delete; FILE: poptorch/source/dispatch_tracer/TypeInferenceHandler.cpp type poptorch (line 11) | namespace poptorch { function copyTensorsFrom (line 18) | c10::Stack copyTensorsFrom(const c10::Stack &meta_stack) { function createMetaTensorList (line 87) | c10::List createMetaTensorList(const c10::List &ipu_tensor_list, function createMetaDevice (line 111) | c10::Device createMetaDevice(const c10::Device &device) { function isUpcastRequired (line 115) | bool isUpcastRequired(const std::string &schema_key, function getMetaTensorSize (line 220) | std::vector getMetaTensorSize(const at::Tensor &tensor, function getMetaTensorDtype (line 230) | c10::ScalarType getMetaTensorDtype(const at::Tensor &tensor, function createEmptyMetaTensor (line 240) | at::Tensor createEmptyMetaTensor(const at::Tensor &tensor, function reductionWorkaroundPredicate (line 309) | static bool reductionWorkaroundPredicate(const std::size_t value_index, function reductionTransform (line 319) | static c10::IValue reductionTransform(const c10::IValue &transformed_v... function makeReductionWorkaround (line 330) | static auto makeReductionWorkaround(const std::size_t dtype_index, FILE: poptorch/source/dispatch_tracer/TypeInferenceHandler.hpp type poptorch (line 14) | namespace poptorch { class TypeInferenceHandler (line 16) | class TypeInferenceHandler { method TypeInferenceHandler (line 18) | explicit TypeInferenceHandler(TensorStore *tensor_store) type Workaround (line 23) | struct Workaround { FILE: poptorch/source/dispatch_tracer/ValueMapper.cpp type poptorch (line 15) | namespace poptorch { function Buffer (line 269) | Buffer ValueMapper::getBufferForId(IpuTensorId id) const { FILE: poptorch/source/dispatch_tracer/ValueMapper.hpp type poptorch (line 18) | namespace poptorch { class ValueMapper (line 27) | class ValueMapper { type TensorListHash (line 37) | struct TensorListHash { method ValueMapper (line 50) | ValueMapper() = default; method ValueMapper (line 54) | ValueMapper(const ValueMapper &) = delete; method ValueMapper (line 55) | ValueMapper &operator=(const ValueMapper &) = delete; type TrackedTensor (line 61) | struct TrackedTensor { FILE: poptorch/source/dispatch_tracer/dispatchers/IDispatch.cpp type poptorch (line 14) | namespace poptorch { FILE: poptorch/source/dispatch_tracer/dispatchers/IDispatch.hpp type poptorch (line 16) | namespace poptorch { class IDispatch (line 18) | class IDispatch { method IDispatch (line 22) | IDispatch(IDispatch &&other) noexcept = default; method IDispatch (line 23) | IDispatch &operator=(IDispatch &&other) noexcept = default; method IDispatch (line 24) | IDispatch(const IDispatch &other) noexcept = delete; method IDispatch (line 25) | IDispatch &operator=(const IDispatch &other) noexcept = delete; FILE: poptorch/source/dispatch_tracer/dispatchers/JitDispatch.cpp type poptorch (line 24) | namespace poptorch { class WithMetadata (line 26) | class WithMetadata { method WithMetadata (line 28) | explicit WithMetadata(const std::string &metadata) { function truncateGraphString (line 34) | std::string truncateGraphString(torch::jit::Graph &graph) { function InplaceGraphInfo (line 444) | InplaceGraphInfo FILE: poptorch/source/dispatch_tracer/dispatchers/JitDispatch.hpp type poptorch (line 20) | namespace poptorch { type CompilerOptions (line 21) | struct CompilerOptions class JITDispatch (line 23) | class JITDispatch final : public IDispatch { FILE: poptorch/source/include/poptorch/AliasProcessing.hpp type torch (line 5) | namespace torch { type jit (line 6) | namespace jit { type Graph (line 7) | struct Graph type poptorch (line 11) | namespace poptorch { FILE: poptorch/source/include/poptorch/ImplicitCasting.hpp type c10 (line 6) | namespace c10 { class ArrayRef (line 7) | class ArrayRef type torch (line 10) | namespace torch { type jit (line 11) | namespace jit { type Graph (line 13) | struct Graph type Value (line 14) | struct Value type poptorch (line 18) | namespace poptorch { type ImplicitCast (line 20) | enum class ImplicitCast { type ImplicitCastOutput (line 29) | enum class ImplicitCastOutput { None, AsPromoted, AlwaysBool, AlwaysFl... FILE: poptorch/source/include/poptorch/OpBuilder.hpp type OutputType (line 18) | enum class OutputType { type c10 (line 32) | namespace c10 { class optional (line 33) | class optional type poptorch (line 36) | namespace poptorch { class WithNodeMetadata (line 43) | class WithNodeMetadata { type UseOfNode (line 97) | enum class UseOfNode { HostSideOnly, PopARTOnly, HostSideAndPopART } type CreateCast (line 212) | struct CreateCast {} type CreateCast (line 214) | struct CreateCast { type CreateCast (line 221) | struct CreateCast { type CreateCast (line 228) | struct CreateCast { FILE: poptorch/source/include/poptorch/OverlappedIO.hpp type torch (line 5) | namespace torch { type jit (line 6) | namespace jit { type Graph (line 7) | struct Graph type poptorch (line 12) | namespace poptorch { FILE: poptorch/source/include/poptorch/PopartCanonicalization.hpp type torch (line 9) | namespace torch { type jit (line 10) | namespace jit { type Graph (line 11) | struct Graph type Node (line 12) | struct Node type at (line 16) | namespace at { class Tensor (line 17) | class Tensor type poptorch (line 20) | namespace poptorch { FILE: poptorch/source/include/poptorch/RequiresGrad.hpp type torch (line 5) | namespace torch { type jit (line 6) | namespace jit { type Graph (line 7) | struct Graph type poptorch (line 11) | namespace poptorch { FILE: poptorch/source/include/poptorch/TypeAndConstantCanonicalization.hpp type at (line 9) | namespace at { class Tensor (line 10) | class Tensor type c10 (line 13) | namespace c10 { type Symbol (line 14) | struct Symbol type torch (line 17) | namespace torch { type jit (line 18) | namespace jit { type Graph (line 19) | struct Graph type Node (line 20) | struct Node type poptorch (line 24) | namespace poptorch { type type_and_constant_canonicalization (line 25) | namespace type_and_constant_canonicalization { FILE: poptorch/source/popart_canonicalization/ActivationOps.cpp type poptorch (line 14) | namespace poptorch { function registration (line 184) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ArithmeticOps.cpp type poptorch (line 13) | namespace poptorch { function calculateVarMean (line 210) | std::pair function registration (line 319) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/AtenHandlers.gen.cpp type poptorch (line 12) | namespace poptorch { function registration (line 778) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/BilinearOps.cpp type poptorch (line 10) | namespace poptorch { function registration (line 81) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/BitwiseOps.cpp type poptorch (line 9) | namespace poptorch { function verifyCompatibleIntegralInputs (line 17) | void verifyCompatibleIntegralInputs(torch::jit::Node *node, function registration (line 78) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/BlasOps.cpp type poptorch (line 12) | namespace poptorch { function registration (line 150) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ConstantOps.cpp type poptorch (line 16) | namespace poptorch { function registration (line 133) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ConvolutionOps.cpp type poptorch (line 10) | namespace poptorch { function registration (line 255) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/CustomOps.cpp type poptorch (line 11) | namespace poptorch { function registration (line 43) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/DistanceOps.cpp type poptorch (line 11) | namespace poptorch { function registration (line 207) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/DropoutOps.cpp type poptorch (line 9) | namespace poptorch { function registration (line 50) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/EinsumOp.cpp type poptorch (line 9) | namespace poptorch { FILE: poptorch/source/popart_canonicalization/EinsumOp.hpp type poptorch (line 9) | namespace poptorch { class EinsumOp (line 10) | class EinsumOp { method sortedPermutation (line 28) | std::vector FILE: poptorch/source/popart_canonicalization/EmbeddingOps.cpp type poptorch (line 16) | namespace poptorch { function registration (line 147) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/IndexOps.cpp type poptorch (line 18) | namespace poptorch { type IndexInfo (line 21) | struct IndexInfo { function padShape (line 26) | std::vector padShape(const std::vector &sh... function IndexInfo (line 40) | IndexInfo processIndex(torch::jit::Graph *graph, torch::jit::Value *x, function isMaskedAssign (line 141) | bool isMaskedAssign(torch::jit::Graph *graph, torch::jit::Value *x, function canVectorizeInDim (line 174) | std::optional function applyInplaceSlice (line 208) | void applyInplaceSlice(torch::jit::Node *node, torch::jit::Node *out) { function registration (line 344) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/LossOps.cpp type poptorch (line 12) | namespace poptorch { function registration (line 635) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/NormalizationOps.cpp type poptorch (line 11) | namespace poptorch { function initializeParamConstant (line 14) | void initializeParamConstant(torch::jit::Graph *graph, torch::jit::Val... function maybeInitializeAffineParamConstants (line 46) | bool maybeInitializeAffineParamConstants(torch::jit::Graph *graph, function maybeInitializeRunningParamConstants (line 68) | void maybeInitializeRunningParamConstants( function registration (line 311) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/OtherOps.cpp type poptorch (line 19) | namespace poptorch { function isIndexBroadcastEnabled (line 245) | bool isIndexBroadcastEnabled(torch::jit::Node *node) { function registration (line 476) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/PoolingOps.cpp type poptorch (line 13) | namespace poptorch { function registration (line 154) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/PopartCanonicalizationUtils.cpp type poptorch (line 18) | namespace poptorch { function registerHandler (line 31) | bool registerHandler(c10::Symbol symbol, const SymbolHandler &handler) { function SymbolHandler (line 41) | SymbolHandler getHandler(torch::jit::NodeKind kind) { function allInputsOfType (line 49) | bool allInputsOfType(torch::jit::Node *node, at::ScalarType type, function allInputsBool (line 68) | bool allInputsBool(torch::jit::Node *node, int ignore_input) { function allInputsInteger (line 72) | bool allInputsInteger(torch::jit::Node *node, int ignore_input) { function handleTensorList (line 90) | std::vector handleTensorList(torch::jit::Node *no... function getNodeScalarType (line 114) | at::ScalarType getNodeScalarType(const torch::jit::Value *tensor) { function hasUnityValue (line 123) | bool hasUnityValue(torch::jit::Value *value) { function isNone (line 131) | bool isNone(torch::jit::Node *node) { function isNone (line 140) | bool isNone(const torch::jit::Value *value) { function handleDimensionParam (line 144) | std::int64_t handleDimensionParam(torch::jit::Value *value, function isAnyConstant (line 159) | bool isAnyConstant(torch::jit::Node *node) { function isFloatingPointConstant (line 163) | bool isFloatingPointConstant(torch::jit::Node *node) { function isTensorConstant (line 176) | bool isTensorConstant(torch::jit::Node *node) { function isConstantScalar (line 181) | bool isConstantScalar(torch::jit::Value *input) { function constantToFloat (line 193) | float constantToFloat(torch::jit::Node *node) { function constantToInt (line 218) | std::int32_t constantToInt(torch::jit::Node *node) { function constantToLong (line 234) | std::int64_t constantToLong(torch::jit::Node *node) { function constantToLongVec (line 251) | std::vector constantToLongVec(torch::jit::Node *node) { function constantToFloatVec (line 255) | std::vector constantToFloatVec(torch::jit::Node *node) { function constantToBool (line 259) | bool constantToBool(torch::jit::Node *node) { function constantToString (line 266) | std::string constantToString(torch::jit::Node *node) { function constantToScalarType (line 278) | at::ScalarType constantToScalarType(torch::jit::Node *node) { function convertReduceToPopart (line 288) | std::int32_t convertReduceToPopart(std::int32_t pytorchReduce) { function markNodeForDeletion (line 306) | void markNodeForDeletion(torch::jit::Node *node) { function isMarkedForDeletion (line 310) | bool isMarkedForDeletion(torch::jit::Node *node) { function replaceOutputUse (line 314) | void replaceOutputUse(torch::jit::Value *old_val, torch::jit::Value *n... function replaceOutputUse (line 322) | void replaceOutputUse(torch::jit::Node *oldNode, torch::jit::Node *new... function reduceHelperDimensionCreator (line 335) | std::vector function attributeEqual (line 349) | bool attributeEqual(torch::jit::Node *a, torch::jit::Node *b, FILE: poptorch/source/popart_canonicalization/PopartCanonicalizationUtils.hpp type poptorch (line 12) | namespace poptorch { function reduceHelperDimensionCreator (line 22) | inline std::vector function constantListToVec (line 120) | std::vector constantListToVec(torch::jit::Node *node, function promoteTypes (line 149) | c10::ScalarType promoteTypes(const c10::ScalarType &a, const c10::Scal... function promoteTypes (line 159) | c10::ScalarType promoteTypes(const torch::jit::Value *a, function promoteTensors (line 170) | std::vector FILE: poptorch/source/popart_canonicalization/PoptorchHandlers.gen.cpp type poptorch (line 12) | namespace poptorch { function registration (line 166) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/PyGTorchScatterOps.cpp type poptorch (line 13) | namespace poptorch { function getReductionMethod (line 15) | std::int32_t getReductionMethod(const torch::jit::Node *node) { function registration (line 119) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/PyGTorchSplineConvOps.cpp type poptorch (line 11) | namespace poptorch { function registration (line 43) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/RNNOps.cpp type poptorch (line 9) | namespace poptorch { function registration (line 340) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/RandomSamplingOps.cpp type poptorch (line 12) | namespace poptorch { function registration (line 115) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ReduceOps.cpp type poptorch (line 15) | namespace poptorch { function registration (line 509) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ReshapeOps.cpp type poptorch (line 20) | namespace poptorch { function getGatherIndices (line 271) | std::vector getGatherIndices(int64_t orig_rows, int64_t orig_... function indicesToSlices (line 360) | std::vector> function getScatterReduceIndices (line 462) | at::Tensor getScatterReduceIndices(int64_t num_cols, int64_t orig_rows, function registration (line 989) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/ScatterReduction.cpp type poptorch (line 6) | namespace poptorch { function getReductionMethod (line 8) | std::int32_t getReductionMethod(torch::jit::Node *node) { function getReductionInitValue (line 29) | float getReductionInitValue(std::int32_t reduce) { FILE: poptorch/source/popart_canonicalization/ScatterReduction.hpp type torch (line 7) | namespace torch { type jit (line 8) | namespace jit { class Node (line 9) | class Node type poptorch (line 13) | namespace poptorch { type ScatterReduction (line 15) | enum class ScatterReduction { Sum = 0, Max, Min, Mul, None, Mean } FILE: poptorch/source/popart_canonicalization/SliceOps.cpp type poptorch (line 18) | namespace poptorch { function extractAddSubtractConstant (line 26) | void extractAddSubtractConstant(torch::jit::Node *node, std::int64_t *... function nodesAlwaysSameOutput (line 75) | bool nodesAlwaysSameOutput(torch::jit::Node *a, torch::jit::Node *b) { function resolveCastConstants (line 116) | void resolveCastConstants(torch::jit::Graph *graph, torch::jit::Node *... function populateAncestory (line 152) | void populateAncestory(torch::jit::Graph *graph, function removeCommonNodes (line 199) | void removeCommonNodes(std::vector *start_ancestory, function determineSizeConstant (line 217) | std::int64_t function inferDynamicSliceSize (line 244) | std::int64_t inferDynamicSliceSize(torch::jit::Graph *graph, function registration (line 518) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/SoftmaxOps.cpp type poptorch (line 10) | namespace poptorch { function registration (line 60) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/TensorOps.cpp type poptorch (line 17) | namespace poptorch { function registration (line 517) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/pyg_torch_cluster/FpsOp.cpp type poptorch (line 15) | namespace poptorch { function calcDeg (line 115) | std::vector calcDeg(const std::vector &ptr, function registration (line 190) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/pyg_torch_cluster/GridOp.cpp type poptorch (line 13) | namespace poptorch { function registration (line 87) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/popart_canonicalization/pyg_torch_cluster/NearestOp.cpp type poptorch (line 15) | namespace poptorch { function batchSizes (line 18) | std::tuple function batchShapes (line 45) | std::tuple, std::vector> function prepareInputTensor (line 66) | std::vector prepareInputTensor(torch::jit::Graph *graph, function validateInputShapes (line 79) | void validateInputShapes(const std::vector &x_shape, function uniqueConsecutive (line 94) | std::vector uniqueConsecutive(std::vector ... function validateBatchIndices (line 100) | void validateBatchIndices(const std::vector &batch_x, function validateSizes (line 111) | void validateSizes(std::int64_t x_size, std::int64_t y_size, function validateShapes (line 121) | void validateShapes(const std::vector &x_shape, function rescaleInputs (line 133) | void rescaleInputs(torch::jit::Graph *graph, torch::jit::Value *&x, function concatFeatures (line 162) | void concatFeatures(torch::jit::Graph *graph, torch::jit::Value *&input, function concatFeatures (line 178) | void concatFeatures(torch::jit::Graph *graph, torch::jit::Value *&input, function registration (line 263) | __attribute__((constructor(HANDLER_INIT_PRIORITY))) static void regist... FILE: poptorch/source/type_and_constant_canonicalization/AddListNumElements.cpp type poptorch (line 11) | namespace poptorch { type type_and_constant_canonicalization (line 12) | namespace type_and_constant_canonicalization { function recursivelySwitchType (line 15) | void recursivelySwitchType(torch::jit::Node *node, function addListNumElements (line 46) | void addListNumElements(torch::jit::Graph *graph, bool revert) { FILE: poptorch/source/type_and_constant_canonicalization/CanonicaliseConstants.cpp type poptorch (line 24) | namespace poptorch { type type_and_constant_canonicalization (line 25) | namespace type_and_constant_canonicalization { function compilerStateChangingKind (line 31) | bool compilerStateChangingKind(const torch::jit::NodeKind &kind) { function popartOnlyNode (line 39) | bool popartOnlyNode(const torch::jit::NodeKind &kind) { function UseOfNode (line 47) | UseOfNode getUseOfNode(torch::jit::Node *n, function replaceWithConstantTensor (line 102) | void replaceWithConstantTensor(torch::jit::Graph *graph, torch::jit:... function warnDoubleOutOfRange (line 118) | void warnDoubleOutOfRange(double val, torch::jit::Node *n) { function warnLongOutOfRange (line 129) | void warnLongOutOfRange(int64_t val, torch::jit::Node *n) { function handleNumberConstant (line 140) | void handleNumberConstant(torch::jit::Graph *graph, torch::jit::Node... function handleTensorConstant (line 178) | void handleTensorConstant(torch::jit::Graph *graph, torch::jit::Node... function handleStringConstant (line 217) | void handleStringConstant(torch::jit::Graph *graph, torch::jit::Node... class ListTupleVisitor (line 232) | class ListTupleVisitor { type State (line 233) | enum class State { IN_TUPLE, IN_LIST } type ListOrTupleInfo (line 236) | struct ListOrTupleInfo { method ListOrTupleInfo (line 237) | ListOrTupleInfo(State state_, size_t elements_left_, method ListTupleVisitor (line 257) | explicit ListTupleVisitor(torch::jit::Graph *graph) method handleListOrTuple (line 311) | void handleListOrTuple(const c10::IValue &i_value) { method handleConstant (line 326) | void handleConstant(const c10::IValue &i_value) { method handleTupleOrListConstruction (line 361) | void handleTupleOrListConstruction() { function handleListOrTuple (line 401) | void handleListOrTuple(torch::jit::Graph *graph, torch::jit::Node *n, function recursivelySelectHostAndIPUSideConstants (line 438) | void recursivelySelectHostAndIPUSideConstants( function rectifyHostAndIPUSideConstants (line 492) | void rectifyHostAndIPUSideConstants( function removeStateChangingNodesFromHostSideBranch (line 525) | void removeStateChangingNodesFromHostSideBranch( function canonicaliseIfConstant (line 566) | void canonicaliseIfConstant(torch::jit::Graph *graph, torch::jit::No... function canonicaliseConstants (line 625) | void canonicaliseConstants(torch::jit::Graph *graph) { FILE: poptorch/source/type_and_constant_canonicalization/CastUnsupportedInputs.cpp type poptorch (line 14) | namespace poptorch { type type_and_constant_canonicalization (line 15) | namespace type_and_constant_canonicalization { function processInputTensor (line 17) | void processInputTensor(torch::jit::Graph *graph, torch::jit::Value ... function castUnsupportedInputs (line 49) | void castUnsupportedInputs(torch::jit::Graph *graph) { FILE: poptorch/source/type_and_constant_canonicalization/CheckAndChangeOutputTypes.cpp type poptorch (line 16) | namespace poptorch { type type_and_constant_canonicalization (line 17) | namespace type_and_constant_canonicalization { function supportedType (line 20) | constexpr bool supportedType(const at::ScalarType type) { function isBeforeHostSideCast (line 28) | bool isBeforeHostSideCast(const torch::jit::Node *n) { function warnNonNativeSupport (line 48) | void warnNonNativeSupport(torch::jit::Node *node, function maybeReplaceOutputType (line 86) | void maybeReplaceOutputType(torch::jit::Node *node, torch::jit::Valu... function checkAndChangeOutputTypesForOutput (line 146) | void checkAndChangeOutputTypesForOutput(torch::jit::Node *node, function checkAndChangeOutputTypes (line 173) | void checkAndChangeOutputTypes(torch::jit::Graph *graph) { FILE: poptorch/source/type_and_constant_canonicalization/EvaluateConstexprs.cpp type poptorch (line 21) | namespace poptorch { type type_and_constant_canonicalization (line 22) | namespace type_and_constant_canonicalization { function numNodesInGraph (line 25) | size_t numNodesInGraph(const torch::jit::Graph *g) { function numValuesInGraph (line 29) | size_t numValuesInGraph(const torch::jit::Graph *g) { function markForExclusion (line 39) | void markForExclusion(torch::jit::Node *node) { function recursivelyMarkInputsForExclusion (line 43) | void recursivelyMarkInputsForExclusion(torch::jit::Node *node) { function isMarkedForExclusion (line 58) | bool isMarkedForExclusion(torch::jit::Node *node) { function unmarkForExclusion (line 63) | void unmarkForExclusion(torch::jit::Node *node) { class ConstExprEvaluator (line 67) | class ConstExprEvaluator { method ConstExprEvaluator (line 69) | explicit ConstExprEvaluator(torch::jit::Graph *g) function getUpcastIndexArg (line 212) | std::optional getUpcastIndexArg(torch::jit::Node *new_node) { function addInputUpcast (line 231) | void addInputUpcast(torch::jit::Graph *graph, torch::jit::Node *new_... function evaluateConstexprs (line 396) | void evaluateConstexprs(torch::jit::Graph *graph) { FILE: poptorch/source/type_and_constant_canonicalization/MakeConstantIntParams.cpp type poptorch (line 13) | namespace poptorch { type type_and_constant_canonicalization (line 14) | namespace type_and_constant_canonicalization { function makeConstantIntParams (line 16) | void makeConstantIntParams(torch::jit::Graph *graph, FILE: poptorch_compiler/pytorch_bridge/IpuSession.cpp type poptorch_ir (line 13) | namespace poptorch_ir { function dataSize (line 17) | std::size_t dataSize(Type element_type) { class StaticIpuSession (line 39) | class StaticIpuSession : public IIpuSession { method Buffer (line 41) | Buffer allocate(const TensorType &type) override { method copyDataFromCpuSource (line 45) | void copyDataFromCpuSource(Buffer &ipu_dest, const char *cpu_data) o... method copyDataToCpu (line 50) | void copyDataToCpu(char *cpu_dest, Buffer &ipu_src) override { method copyDataOnDevice (line 55) | void copyDataOnDevice(Buffer &dest, const Buffer &src) override { function Buffer (line 66) | Buffer &Buffer::operator=(CpuBuffer buf) noexcept { function CpuBuffer (line 70) | const CpuBuffer &Buffer::getCpuData() { function CpuBuffer (line 74) | const CpuBuffer &Buffer::getCpuData() const { function createStaticSession (line 82) | std::shared_ptr createStaticSession() { FILE: poptorch_compiler/pytorch_bridge/include/pytorch_bridge/CompilerOptions.hpp type poptorch (line 7) | namespace poptorch { type CompilerOptions (line 9) | struct CompilerOptions { type Dispatcher (line 10) | struct Dispatcher { FILE: poptorch_compiler/pytorch_bridge/include/pytorch_bridge/CompilerTypes.hpp type poptorch_ir (line 12) | namespace poptorch_ir { type RequiresGradType (line 34) | enum class RequiresGradType { type ODSTensorResult (line 39) | struct ODSTensorResult { type Type (line 49) | enum class Type : std::uint8_t { type TensorType (line 64) | struct TensorType { method getNumElements (line 68) | std::int64_t getNumElements() const { type StreamInfo (line 74) | struct StreamInfo { method nameStringView (line 80) | std::string_view nameStringView() const { FILE: poptorch_compiler/pytorch_bridge/include/pytorch_bridge/DebugInfo.hpp type poptorch_ir (line 8) | namespace poptorch_ir { type GraphDebugInfo (line 10) | struct GraphDebugInfo { type TensorDebugInfo (line 16) | struct TensorDebugInfo { FILE: poptorch_compiler/pytorch_bridge/include/pytorch_bridge/IpuSession.hpp type poptorch_ir (line 14) | namespace poptorch_ir { type FunctionIO (line 16) | struct FunctionIO { class Buffer (line 21) | class Buffer { method Buffer (line 27) | Buffer() = default; class IIpuSession (line 38) | class IIpuSession { FILE: poptorch_err/exception_info/poptorch_err/ExceptionInfo.hpp type poptorch (line 6) | namespace poptorch { type ErrorCategory (line 8) | enum class ErrorCategory { RuntimeRecoverable, RuntimeUnrecoverable, O... class ExceptionInfo (line 16) | class ExceptionInfo { FILE: poptorch_err/include/poptorch_err/ExceptionHandling.hpp type poptorch (line 10) | namespace poptorch { type PoptorchErrorInfo (line 17) | struct PoptorchErrorInfo { type PoptorchCatchWrapperImpl (line 47) | struct PoptorchCatchWrapperImpl type PoptorchCatchWrapperImpl (line 50) | struct PoptorchCatchWrapperImpl { method R (line 51) | static R wrap(Args... args) { FILE: poptorch_err/source/ExceptionHandling.cpp type poptorch (line 14) | namespace poptorch { function PoptorchErrorInfo (line 20) | PoptorchErrorInfo convertToPoptorchExceptionOrRethrow( FILE: poptorch_geometric/python/__init__.py function registerOverrideManager (line 23) | def registerOverrideManager(): FILE: poptorch_geometric/python/cluster_loader.py class FixedSizeClusterLoader (line 16) | class FixedSizeClusterLoader(PyGFixedSizeClusterLoader, poptorch.DataLoa... method __init__ (line 57) | def __init__( method _create_collater (line 82) | def _create_collater(self, **collater_args): FILE: poptorch_geometric/python/collate.py function make_exclude_keys (line 29) | def make_exclude_keys(include_keys: Union[List[str], Tuple[str, ...]], function _divide_evenly_formula (line 34) | def _divide_evenly_formula(amount: int, pieces: int) -> List[int]: function _divide_evenly (line 41) | def _divide_evenly(data, num_pad_graphs, num_pad_nodes, num_pad_edges): ... function _ (line 46) | def _(_, num_pad_graphs: int, num_pad_nodes: int, function _ (line 54) | def _(_, num_pad_graphs: int, num_pad_nodes: Dict[NodeType, int], function _generate_data_to_pad (line 71) | def _generate_data_to_pad(data_to_pad_dict): function _ (line 76) | def _(data_to_pad_dict: dict) -> Data: function _ (line 81) | def _(data_to_pad_dict: dict) -> HeteroData: function _reset_dim (line 85) | def _reset_dim(shape: torch.Size, key: str = None) -> List[int]: function _reset_attr (line 94) | def _reset_attr(value: Any, key: str = None) -> Any: function _create_preserve_mask (line 107) | def _create_preserve_mask(num_elems: int, num_elems_to_trim: int, function data_slice_gen (line 126) | def data_slice_gen(num_list: List[int]) -> Generator[slice, None, None]: function create_slices_and_preserve_mask (line 135) | def create_slices_and_preserve_mask( function _any_negative (line 155) | def _any_negative(value: int) -> bool: function _ (line 160) | def _(value: dict) -> bool: function _any_positive (line 165) | def _any_positive(value: int) -> bool: function _ (line 170) | def _(value: dict) -> bool: function _check_if_over_size (line 175) | def _check_if_over_size(num_pad: int, num_total: int, type_str: str, function _ (line 185) | def _(num_pad: dict, num_total: dict, type_str: str, oversize_error: str): class FixedSizeCollater (line 194) | class FixedSizeCollater(Collater): method __init__ (line 236) | def __init__( class LabelsType (line 252) | class LabelsType(Enum): method __call__ (line 256) | def __call__(self, data_list: List[BaseData]) -> Batch: method _add_masks (line 355) | def _add_masks(self, batch, num_all_graphs, num_real_graphs, **kwargs): method _ (line 359) | def _(self, batch: DataBatch, num_all_graphs: int, num_real_graphs: int, method _ (line 371) | def _(self, batch: HeteroDataBatch, num_all_graphs: int, method _calc_pad_limits (line 397) | def _calc_pad_limits( method _calc_pad_limits_body (line 410) | def _calc_pad_limits_body(self, data, data_list): # pylint: disable=u... method _ (line 414) | def _(self, _, data_list: List[Data]) -> Tuple[int, int, int, int]: method _ (line 428) | def _(self, _, data_list: List[HeteroData] method _create_padded_data (line 472) | def _create_padded_data( method _prune_edges (line 496) | def _prune_edges(self, data_list): method _prune_edges_body (line 500) | def _prune_edges_body(self, data, data_list): # pylint: disable=unuse... method _ (line 504) | def _(self, _, data_list: List[Data]) -> List[Data]: method _ (line 519) | def _(self, data: HeteroData, method _prune_nodes (line 541) | def _prune_nodes(self, data_list): method _prune_nodes_body (line 545) | def _prune_nodes_body(self, data, data_list): # pylint: disable=unuse... method _ (line 549) | def _(self, _, data_list: List[BaseData]) -> List[BaseData]: method _ (line 572) | def _(self, data: HeteroData, method _create_structure_dict (line 602) | def _create_structure_dict(self, data): method _ (line 609) | def _(self, data: Data) -> Dict[NodeType, Any]: method _ (line 625) | def _(self, data: HeteroData) -> Dict[Union[NodeType, EdgeType], Any]: method _pad_graph_values (line 639) | def _pad_graph_values(self, padded_data, original_data): method _ (line 645) | def _(self, padded_data: Data, original_data: Data) -> None: method _ (line 663) | def _(self, padded_data: HeteroData, original_data: HeteroData) -> None: method _pad_graph_values_body (line 669) | def _pad_graph_values_body(self, padded_data: BaseData, class CombinedBatchingCollater (line 681) | class CombinedBatchingCollater: method __init__ (line 697) | def __init__( method __call__ (line 707) | def __call__(self, batch: List[BaseData]) -> Batch: FILE: poptorch_geometric/python/common.py function call_once (line 9) | def call_once(f): FILE: poptorch_geometric/python/dataloader.py class DataLoader (line 16) | class DataLoader(PyGDataLoader, poptorch.DataLoader): method __init__ (line 39) | def __init__( method _create_collater (line 62) | def _create_collater(self, **collater_args): class FixedSizeDataLoader (line 68) | class FixedSizeDataLoader(PyGFixedSizeDataLoader, poptorch.DataLoader): method __init__ (line 123) | def __init__( method _create_collater (line 153) | def _create_collater(self, **collater_args): FILE: poptorch_geometric/python/fixed_size_options.py function validate_num_graphs (line 10) | def validate_num_graphs(num_graphs): class FixedSizeOptions (line 18) | class FixedSizeOptions: method __init__ (line 52) | def __init__(self, method is_hetero (line 83) | def is_hetero(self): method to_hetero (line 89) | def to_hetero(self, node_types: List[NodeType], method total_num_nodes (line 100) | def total_num_nodes(self): method total_num_edges (line 109) | def total_num_edges(self): method from_dataset (line 118) | def from_dataset(cls, method from_loader (line 164) | def from_loader(cls, loader: DataLoader, sample_limit: int = 1000): method __repr__ (line 222) | def __repr__(self): FILE: poptorch_geometric/python/masker.py class Masker (line 76) | class Masker(abc.ABC): method node_masker (line 112) | def node_masker(self, node_entries: Entries, mask: Mask = None) -> Ent... method edge_masker (line 116) | def edge_masker(self, edge_entries: Entries, mask: Mask = None) -> Ent... method graph_masker (line 120) | def graph_masker(self, graph_entries: Entries, class NoMasker (line 125) | class NoMasker(Masker): method node_masker (line 128) | def node_masker(self, node_entries: Entries, mask: Mask = None) -> Ent... method edge_masker (line 131) | def edge_masker(self, edge_entries: Entries, mask: Mask = None) -> Ent... method graph_masker (line 134) | def graph_masker(self, graph_entries: Entries, class LayerMasker (line 139) | class LayerMasker(abc.ABC): method __init__ (line 161) | def __init__(self, masker: Masker) -> None: method node_masker (line 166) | def node_masker(self, layer: Layer) -> DecoratedLayer: method edge_masker (line 173) | def edge_masker(self, layer: Layer) -> DecoratedLayer: method graph_masker (line 180) | def graph_masker(self, layer: Layer) -> DecoratedLayer: class PreLayerMasker (line 187) | class PreLayerMasker(LayerMasker): method node_masker (line 191) | def node_masker(self, layer: Layer) -> DecoratedLayer: method edge_masker (line 194) | def edge_masker(self, layer: Layer) -> DecoratedLayer: method graph_masker (line 197) | def graph_masker(self, layer: Layer) -> DecoratedLayer: FILE: poptorch_geometric/python/neighbor_loader.py class PyGFixedSizeNeighborLoader (line 23) | class PyGFixedSizeNeighborLoader(torch.utils.data.DataLoader): method __init__ (line 24) | def __init__( method __collate__ (line 91) | def __collate__(self, index): method _create_collater (line 96) | def _create_collater(self, **collater_args): method nativeCollate (line 100) | def nativeCollate(self, index): method fixedSizeCollate (line 104) | def fixedSizeCollate(self, data_list: List[BaseData]): class FixedSizeNeighborLoader (line 125) | class FixedSizeNeighborLoader(PyGFixedSizeNeighborLoader, poptorch.DataL... method __init__ (line 235) | def __init__( method _create_collater (line 294) | def _create_collater(self, **collater_args): FILE: poptorch_geometric/python/ops/aggregation_base.py class Aggregation (line 7) | class Aggregation(torch_geometric.nn.aggr.Aggregation): method assert_sorted_index (line 8) | def assert_sorted_index(self, index: Optional[Tensor]): FILE: poptorch_geometric/python/ops/cluster_gcn_conv.py class ClusterGCNConv (line 43) | class ClusterGCNConv(MessagePassing): method __init__ (line 72) | def __init__(self, method reset_parameters (line 98) | def reset_parameters(self): method forward (line 103) | def forward(self, x: Tensor, edge_index: Adj) -> Tensor: method message (line 143) | def message(self, x_j: Tensor, edge_weight: Tensor) -> Tensor: method message_and_aggregate (line 146) | def message_and_aggregate(self, adj_t: SparseTensor, x: Tensor) -> Ten... method __repr__ (line 149) | def __repr__(self) -> str: FILE: poptorch_geometric/python/ops/hetero_linear.py class HeteroLinear (line 31) | class HeteroLinear(torch_geometric.nn.dense.linear.HeteroLinear): method __init__ (line 62) | def __init__(self, *args, **kwargs): method forward (line 65) | def forward(self, x: Tensor, type_vec: Tensor) -> Tensor: FILE: poptorch_geometric/python/ops/instance_norm.py class InstanceNorm (line 37) | class InstanceNorm(_InstanceNorm): method __init__ (line 67) | def __init__( method reset_parameters (line 78) | def reset_parameters(self): method forward (line 82) | def forward(self, method __repr__ (line 149) | def __repr__(self) -> str: FILE: poptorch_geometric/python/ops/knn.py function knn (line 31) | def knn(x: torch.Tensor, FILE: poptorch_geometric/python/ops/knn_graph.py function knn_graph (line 33) | def knn_graph(x: torch.Tensor, FILE: poptorch_geometric/python/ops/knn_interpolate.py function knn_interpolate (line 34) | def knn_interpolate(x: torch.Tensor, FILE: poptorch_geometric/python/ops/mf_conv.py class MFConv (line 36) | class MFConv(torch_geometric.nn.conv.MFConv): method __init__ (line 70) | def __init__(self, *args, **kwargs): method forward (line 73) | def forward(self, FILE: poptorch_geometric/python/ops/radius.py function radius (line 32) | def radius( function radius_graph (line 114) | def radius_graph( FILE: poptorch_geometric/python/override.py class _TorchGeometricOpsSubstitutionManager (line 12) | class _TorchGeometricOpsSubstitutionManager: method __init__ (line 53) | def __init__(self): method __enter__ (line 56) | def __enter__(self): method __exit__ (line 60) | def __exit__(self, exc_type, value, traceback): method replace (line 63) | def replace(self): method restore (line 80) | def restore(self): function registerOptionalOverrides (line 90) | def registerOptionalOverrides(): FILE: poptorch_geometric/python/pyg_cluster_loader.py class FixedSizeClusterLoader (line 12) | class FixedSizeClusterLoader(torch.utils.data.DataLoader): method __init__ (line 50) | def __init__( method _collate (line 90) | def _collate(self, batch): method _create_collater (line 95) | def _create_collater(self, **collater_args): FILE: poptorch_geometric/python/pyg_collate.py class Collater (line 8) | class Collater(PyGCollater): method __init__ (line 9) | def __init__(self, follow_batch=None, exclude_keys=None): FILE: poptorch_geometric/python/pyg_dataloader.py class FixedSizeStrategy (line 17) | class FixedSizeStrategy(Enum): class OverSizeStrategy (line 31) | class OverSizeStrategy(Enum): class DataLoader (line 62) | class DataLoader(torch.utils.data.DataLoader): method __init__ (line 82) | def __init__( method _create_collater (line 109) | def _create_collater(self, **collater_args): class FixedSizeDataLoader (line 116) | class FixedSizeDataLoader(torch.utils.data.DataLoader): method __init__ (line 168) | def __init__( method _create_collater (line 265) | def _create_collater(self, **collater_args): FILE: poptorch_geometric/python/stream_packing_sampler.py class StreamPackingSampler (line 13) | class StreamPackingSampler(Sampler[List[int]]): method __init__ (line 41) | def __init__( method _validate (line 70) | def _validate(self, sampler, max_num_nodes, max_num_edges, max_num_gra... class _Batch (line 92) | class _Batch: method __init__ (line 93) | def __init__(self) -> None: method append (line 99) | def append(self, idx: int, data: BaseData) -> None: method empty (line 105) | def empty(self) -> bool: method __repr__ (line 108) | def __repr__(self) -> str: method __iter__ (line 114) | def __iter__(self) -> Iterator[List[int]]: method _has_space (line 147) | def _has_space(self, batch: _Batch, data: BaseData) -> bool: method __len__ (line 164) | def __len__(self) -> int: FILE: poptorch_geometric/python/types.py class PyGArgsParser (line 19) | class PyGArgsParser(ICustomArgParser): method _sortedTensorKeys (line 21) | def _sortedTensorKeys(struct: Union[Data, DataBatch]) -> Iterable[str]: method yieldTensors (line 30) | def yieldTensors(self, struct) -> Generator[torch.Tensor, None, None]: method _ (line 34) | def _(self, struct: Data method _ (line 40) | def _(self, struct: HeteroData method _setup_num_fields (line 53) | def _setup_num_fields( method _add_next (line 83) | def _add_next(tensor_iterator: Iterable[List[Any]], method reconstruct (line 90) | def reconstruct(self, original_structure, method _ (line 95) | def _(self, original_structure: Data or DataBatch, method _ (line 119) | def _(self, original_structure: HeteroData or HeteroDataBatch, function registerCustomArgParsers (line 154) | def registerCustomArgParsers(): FILE: poptorch_geometric/python/utils.py function set_aggregation_dim_size (line 12) | def set_aggregation_dim_size(model: torch.nn.Module, dim_size: int): class TrainingStepper (line 29) | class TrainingStepper: method __init__ (line 42) | def __init__(self, method setup_cpu (line 65) | def setup_cpu(self, model, optimizer): method setup_ipu (line 71) | def setup_ipu(self, model, optimizer): method check_parameters (line 86) | def check_parameters(self): method cpu_step (line 93) | def cpu_step(self, batch): method ipu_step (line 100) | def ipu_step(self, batch, copy_weights=True): method run (line 106) | def run(self, *args): method run_inference (line 115) | def run_inference(self, batch): method _run_common_input (line 123) | def _run_common_input(self, num_steps, batch): method _run_separate_inputs (line 135) | def _run_separate_inputs(self, num_steps, cpu_batch, ipu_batch): method assert_close (line 149) | def assert_close(self, actual, expected, id): method benchmark (line 160) | def benchmark(self, num_steps, batch, devices=('ipu')): FILE: poptorch_logging/include/poptorch_logging/Error.hpp type poptorch (line 12) | namespace poptorch { type logging (line 13) | namespace logging { type detail (line 15) | namespace detail { type LogContextImpl (line 16) | struct LogContextImpl type ErrorImpl (line 17) | struct ErrorImpl class Error (line 53) | class Error : public std::runtime_error { class InternalError (line 72) | class InternalError : public Error { class LogContext (line 80) | class LogContext { method LogContext (line 89) | explicit LogContext(const std::string &context) FILE: poptorch_logging/include/poptorch_logging/Logging.hpp type poptorch (line 30) | namespace poptorch { type logging (line 31) | namespace logging { function log (line 38) | void log(Level l, const char *s, const Args &...args) { FILE: poptorch_logging/include/poptorch_logging/LoggingLight.hpp type poptorch (line 13) | namespace poptorch { type logging (line 14) | namespace logging { type Level (line 16) | enum class Level { FILE: poptorch_logging/include/poptorch_logging/Tracepoint.hpp type poptorch (line 9) | namespace poptorch { type logging (line 10) | namespace logging { type detail (line 12) | namespace detail { class TracepointImpl (line 13) | class TracepointImpl class Tracepoint (line 18) | class Tracepoint { function formatPrettyFunction (line 30) | inline std::string formatPrettyFunction(const char *c) { FILE: poptorch_logging/source/Error.cpp type poptorch (line 11) | namespace poptorch { type logging (line 12) | namespace logging { function Context (line 17) | Context &getContext() { function singleLineContext (line 22) | std::string singleLineContext() { function getStackTrace (line 32) | std::string getStackTrace() { type detail (line 52) | namespace detail { type LogContextImpl (line 53) | struct LogContextImpl { method LogContextImpl (line 54) | LogContextImpl() : cleared(true) {} type ErrorImpl (line 67) | struct ErrorImpl { FILE: poptorch_logging/source/Logging.cpp type poptorch (line 15) | namespace poptorch { type logging (line 16) | namespace logging { function translate (line 29) | spdlog::level::level_enum translate(Level l) { type LoggingContext (line 34) | struct LoggingContext { function LoggingContext (line 41) | LoggingContext &context() { function Level (line 48) | Level logLevelFromString(const std::string &level) { function setColours (line 75) | void setColours(spdlog::sinks::ansicolor_sink &sink) { function outputPopartIR (line 126) | bool outputPopartIR() { function repeatLimit (line 130) | std::uint64_t repeatLimit() { return context().repeat_limit; } function setRepeatLimit (line 132) | void setRepeatLimit(std::uint64_t limit) { context().repeat_limit = ... function log (line 134) | void log(Level l, const char *msg) { context().logger->log(translate... function shouldLog (line 136) | bool shouldLog(Level l) { return context().logger->should_log(transl... function setLogLevel (line 138) | void setLogLevel(Level l) { context().logger->set_level(translate(l)... function flush (line 140) | void flush() { context().logger->flush(); } FILE: poptorch_logging/source/Tracepoint.cpp type poptorch (line 8) | namespace poptorch { type logging (line 10) | namespace logging { type detail (line 12) | namespace detail { class TracepointImpl (line 14) | class TracepointImpl : public pvti::Tracepoint { method TracepointImpl (line 16) | explicit TracepointImpl(const std::string &label_) FILE: python/__init__.py function poptorchAtExit (line 67) | def poptorchAtExit(): function load (line 71) | def load(filename: str, class _SubDataset (line 126) | class _SubDataset: method __init__ (line 139) | def __init__(self, dataset, opts, step, drop_last): method shuffle_global_indices (line 166) | def shuffle_global_indices(self): method swap_range (line 185) | def swap_range(self): method __len__ (line 204) | def __len__(self): method __getitem__ (line 207) | def __getitem__(self, index): function _batch_sampler_len (line 214) | def _batch_sampler_len( class DataLoader (line 229) | class DataLoader(torch.utils.data.DataLoader): method __init__ (line 239) | def __init__( method __len__ (line 468) | def __len__(self) -> int: method _profiling (line 483) | def _profiling(self): method combinedBatchSize (line 487) | def combinedBatchSize(self) -> Optional[int]: method options (line 493) | def options(self) -> 'poptorch.Options': method terminate (line 499) | def terminate(self) -> None: method __del__ (line 507) | def __del__(self) -> None: method __iter__ (line 510) | def __iter__(self) -> "torch.utils.data.dataloader._BaseDataLoaderIter": class AsynchronousDataAccessor (line 526) | class AsynchronousDataAccessor: method __init__ (line 544) | def __init__( method terminate (line 620) | def terminate(self) -> None: method __del__ (line 628) | def __del__(self) -> None: method __len__ (line 631) | def __len__(self) -> int: method __iter__ (line 641) | def __iter__(self) -> 'poptorch.AsynchronousDataAccessor': method __next__ (line 646) | def __next__(self) -> Any: function trainingModel (line 660) | def trainingModel(model: Union['torch.nn.Module', 'poptorch.PoplarExecut... function inferenceModel (line 720) | def inferenceModel(model: Union['torch.nn.Module', 'poptorch.PoplarExecu... function ipuHardwareIsAvailable (line 749) | def ipuHardwareIsAvailable(num_ipus: int = 1) -> bool: function ipuHardwareVersion (line 760) | def ipuHardwareVersion() -> int: function setLogLevel (line 772) | def setLogLevel(level: Union[str, int]): function _tensor_str (line 791) | def _tensor_str(self, indent): class ICustomArgParser (line 800) | class ICustomArgParser(abc.ABC): method yieldTensors (line 805) | def yieldTensors(self, struct) -> None: method reconstruct (line 818) | def reconstruct(self, original_structure, tensor_iterator) -> Any: function registerCustomArgParser (line 837) | def registerCustomArgParser(arg_data_type: Type, function registerGeometricCustomArgParsers (line 856) | def registerGeometricCustomArgParsers(): FILE: python/_args_parser.py class ArgsParser (line 13) | class ArgsParser: class Args (line 14) | class Args: method __init__ (line 15) | def __init__(self): method args (line 22) | def args(self): method arg_names (line 26) | def arg_names(self): method kwargs (line 30) | def kwargs(self): method appendArg (line 33) | def appendArg(self, arg, name): method setNamedArg (line 37) | def setNamedArg(self, name, arg): method popArg (line 40) | def popArg(self): method clone (line 44) | def clone(self): method _forEach (line 53) | def _forEach(self, data, fn): method validateInputs (line 58) | def validateInputs(self, inputs): method forEachTensorMatchedAtLeastOnce (line 145) | def forEachTensorMatchedAtLeastOnce(self, condition, doOnTrue=None): method forEach (line 158) | def forEach(self, fn): method asPackedFlatTuple (line 162) | def asPackedFlatTuple(self, canonical_args=None): method __init__ (line 171) | def __init__(self, model: Any): method __call__ (line 210) | def __call__(self, method _dictCheck (line 300) | def _dictCheck(self, data): FILE: python/_dataloader.py class AsynchronousWorker (line 22) | class AsynchronousWorker: method __init__ (line 25) | def __init__(self, buffer_size, miss_sleep_time_in_ms, dataset, method terminate (line 39) | def terminate(self): method resetIterator (line 45) | def resetIterator(self): method dataIsAvailable (line 76) | def dataIsAvailable(self): method endOfFile (line 79) | def endOfFile(self): method acquireElementIfAvailable (line 82) | def acquireElementIfAvailable(self): method assertNoError (line 131) | def assertNoError(self): method releaseElement (line 136) | def releaseElement(self): method _requestShutdown (line 141) | def _requestShutdown(self): class _AsynchronousWorkerProcess (line 149) | class _AsynchronousWorkerProcess: method __init__ (line 152) | def __init__(self, buffer_size, miss_sleep_time_in_ms, dataset, method isAlive (line 165) | def isAlive(self): method exitCode (line 168) | def exitCode(self): method join (line 171) | def join(self): method start (line 184) | def start(self): method _start (line 202) | def _start(self): method _mainLoop (line 258) | def _mainLoop(self, conn, command_pipe): # pylint: disable=inconsiste... method _mainLoopNoInterrupt (line 280) | def _mainLoopNoInterrupt(self, conn, command_pipe): # pylint: disable... class _HostCommand (line 574) | class _HostCommand(enum.IntEnum): class _WorkerState (line 581) | class _WorkerState(enum.IntEnum): class _HostCommandHandler (line 587) | class _HostCommandHandler: method __init__ (line 588) | def __init__(self, command_pipe): method checkMessages (line 595) | def checkMessages(self, blocking=False, ignore_setup_complete=True): method priorityCommandWaiting (line 627) | def priorityCommandWaiting(self): method waitUntilSetupComplete (line 630) | def waitUntilSetupComplete(self): method startIteratingPending (line 637) | def startIteratingPending(self): method resetIteratorPending (line 644) | def resetIteratorPending(self): method waitUntilStartIteration (line 651) | def waitUntilStartIteration(self): class _EndOfFileFlag (line 665) | class _EndOfFileFlag: method __init__ (line 688) | def __init__(self, eof_mem=None): method setResetFlag (line 693) | def setResetFlag(self): method waitForReset (line 697) | def waitForReset(self): method isEofIndex (line 701) | def isEofIndex(self, index): method leftOver (line 704) | def leftOver(self, index): method clearFlag (line 720) | def clearFlag(self): method setFlag (line 724) | def setFlag(self, buffer_idx, last_batch_size=0): class _RingBufferIndex (line 738) | class _RingBufferIndex: method __init__ (line 753) | def __init__(self, buffer_size, indices_mem=None): method increment (line 763) | def increment(self): method reset (line 768) | def reset(self): method set (line 772) | def set(self, value): method value (line 775) | def value(self): method __call__ (line 778) | def __call__(self): class _IDataRingBuffer (line 782) | class _IDataRingBuffer: method __init__ (line 783) | def __init__(self, buffer_size, data_len, indices_mem=None): method setBuffer (line 798) | def setBuffer(self, buffer, data_idx): method current (line 810) | def current(self): method indices_mem (line 815) | def indices_mem(self): method currentIndex (line 820) | def currentIndex(self): method reset (line 823) | def reset(self): class _DataRingBufferWriter (line 829) | class _DataRingBufferWriter(_IDataRingBuffer): method markWriteComplete (line 843) | def markWriteComplete(self): method isAvailable (line 849) | def isAvailable(self): class _DataRingBufferReader (line 856) | class _DataRingBufferReader(_IDataRingBuffer): method __init__ (line 869) | def __init__(self, buffer_size, data_len, indices_mem=None): method isAvailable (line 873) | def isAvailable(self): method hasLock (line 877) | def hasLock(self): method lock (line 882) | def lock(self): method unlockIfLocked (line 889) | def unlockIfLocked(self): FILE: python/_impl.py class NameScopeHook (line 38) | class NameScopeHook: method __init__ (line 44) | def __init__(self, module: 'torch.nn.Module'): method _enter_fn (line 53) | def _enter_fn(self, module, input, name): # pylint: disable=unused-ar... method _exit_fn (line 56) | def _exit_fn(self, module, input, output): # pylint: disable=unused-a... method remove (line 59) | def remove(self): function createPoptorchError (line 67) | def createPoptorchError(msg): function isRunningOnIpu (line 76) | def isRunningOnIpu() -> bool: function setIpuContext (line 95) | def setIpuContext(val: bool): function isDispatchTracing (line 100) | def isDispatchTracing() -> bool: function setDispatchTracing (line 108) | def setDispatchTracing(val: bool): function internal_cast (line 113) | def internal_cast(tensor, dtype): function applyOptimizer (line 125) | def applyOptimizer(optimizer): class OptimizerWrapper (line 138) | class OptimizerWrapper(torch.nn.Module): method __init__ (line 139) | def __init__(self, model, optimizer): method forward (line 144) | def forward(self, *args, **kwargs): function destroyDispatcherOnExit (line 150) | def destroyDispatcherOnExit(func): function distributedCacheLock (line 170) | def distributedCacheLock(model, opts): class WeakPtr (line 232) | class WeakPtr(weakref.ref): method __eq__ (line 235) | def __eq__(self, other): class WeakKeyPtrDict (line 248) | class WeakKeyPtrDict: method __init__ (line 249) | def __init__(self, dict=None): method __setitem__ (line 261) | def __setitem__(self, key, value): method __delitem__ (line 264) | def __delitem__(self, key): method __getitem__ (line 267) | def __getitem__(self, key): method get (line 270) | def get(self, key, default=None): method __contains__ (line 273) | def __contains__(self, key): method update (line 276) | def update(self, dict=None): function _restoreWrapperIfNecessary (line 303) | def _restoreWrapperIfNecessary(obj): function _unwrapIfWrappedAndRegister (line 310) | def _unwrapIfWrappedAndRegister(obj): function _pickleUnwrapObject (line 318) | def _pickleUnwrapObject(obj): function registerWrapperType (line 333) | def registerWrapperType(wrapper_type): function isWrapped (line 340) | def isWrapped(obj): function unwrapIfWrapped (line 345) | def unwrapIfWrapped(obj): function traceMethod (line 353) | def traceMethod(label): function forEachParameterAndBuffer (line 365) | def forEachParameterAndBuffer(model, fn): function unwrapModelIfNecessary (line 378) | def unwrapModelIfNecessary(model: torch.nn.Module): function rewrapModelIfNecessary (line 388) | def rewrapModelIfNecessary(model: torch.nn.Module): function getBufferAndParameterTensors (line 397) | def getBufferAndParameterTensors(model): function getBufferAndParameterAddresses (line 407) | def getBufferAndParameterAddresses(model): function errorOnBufferOrParameterAddressChanges (line 432) | def errorOnBufferOrParameterAddressChanges(old_addresses, new_addresses): FILE: python/_logging.py function setPopartLogLevel (line 32) | def setPopartLogLevel(level): function setLogLevel (line 41) | def setLogLevel(level, update_cpp=True): class _PoptorchFormatter (line 81) | class _PoptorchFormatter(logging.Formatter): method outputToFile (line 94) | def outputToFile(self): method __init__ (line 97) | def __init__(self): method formatTime (line 105) | def formatTime(self, record, datefmt=None): method format (line 114) | def format(self, record): function _excepthook (line 120) | def _excepthook(*args): FILE: python/_optimizer_attributes.py class OptimizerAttrTracker (line 11) | class OptimizerAttrTracker: method __init__ (line 12) | def __init__(self, opts): method setType (line 23) | def setType(self, optimizer_type): method enableChecks (line 29) | def enableChecks(self): method checkDefaultAttributes (line 32) | def checkDefaultAttributes(self, provided): method checkGroupAttributes (line 35) | def checkGroupAttributes(self, provided, group): method checkOptimizerAttributes (line 39) | def checkOptimizerAttributes(self, provided): method _check (line 42) | def _check(self, expected, provided, attr_type): function convertOptimizerToDict (line 55) | def convertOptimizerToDict(optimizer, attr_tracker, options, is_compiled): class _OptimizerType (line 273) | class _OptimizerType(enum.IntEnum): function _toPoptorchClass (line 285) | def _toPoptorchClass(optimizer_type): function _toPoptorchOptimizer (line 303) | def _toPoptorchOptimizer(optimizer): function _toCamelCase (line 352) | def _toCamelCase(string): class _GroupGetter (line 358) | class _GroupGetter: method __init__ (line 361) | def __init__(self, default_value=None): method __call__ (line 364) | def __call__(self, group, name): class _OptimizerGetter (line 373) | class _OptimizerGetter: method __init__ (line 376) | def __init__(self, default_value=None): method __call__ (line 379) | def __call__(self, opt, name): function _assertIsNumber (line 389) | def _assertIsNumber(value, name): class _ValueConstPairFormatter (line 394) | class _ValueConstPairFormatter: method __init__ (line 404) | def __init__(self, variable_attrs, const_evaluator, value_validator=No... method __call__ (line 413) | def __call__(self, value, name): class _IsEqualTo (line 422) | class _IsEqualTo: method __init__ (line 425) | def __init__(self, reference): method __call__ (line 428) | def __call__(self, value): class _AttrReader (line 432) | class _AttrReader: method __init__ (line 433) | def __init__(self, readers, name, getter, formatter=None, new_name=None): method __call__ (line 447) | def __call__(self, params): class _BetaReader (line 463) | class _BetaReader(_AttrReader): method __init__ (line 464) | def __init__(self, attr_readers, variable_attrs): method __call__ (line 480) | def __call__(self, params): FILE: python/_options_config.py function parseAndSetOptions (line 8) | def parseAndSetOptions(options, filepath): FILE: python/_options_impl.py class ProgressBar (line 20) | class ProgressBar: method __init__ (line 21) | def __init__(self): method __call__ (line 27) | def __call__(self, progress: int, total: int): class OptionsDict (line 48) | class OptionsDict: method __init__ (line 53) | def __init__(self, **default_values): method set (line 70) | def set(self, **kwargs): method createOrSet (line 82) | def createOrSet(self, **kwargs): method exists (line 90) | def exists(self, option): method deleteIfExists (line 93) | def deleteIfExists(self, option): method _hasattr (line 97) | def _hasattr(self, option): method _changeFreezeState (line 105) | def _changeFreezeState(self, new_state): method _freeze (line 115) | def _freeze(self): method _unfreeze (line 118) | def _unfreeze(self): method checkIsFrozen (line 121) | def checkIsFrozen(self, option=None): method __deepcopy__ (line 127) | def __deepcopy__(self, memory): method __getstate__ (line 137) | def __getstate__(self): method __setstate__ (line 140) | def __setstate__(self, state): method __setattr__ (line 143) | def __setattr__(self, option, value): method __getattr__ (line 158) | def __getattr__(self, option): method update (line 165) | def update(self, other): method toDict (line 175) | def toDict(self): method __call__ (line 178) | def __call__(self, option): method __repr__ (line 181) | def __repr__(self): class IStageManager (line 196) | class IStageManager(abc.ABC): method __init__ (line 197) | def __init__(self): method clearDebug (line 205) | def clearDebug(self): method _debug (line 208) | def _debug(self, *args): method printDebug (line 212) | def printDebug(self): method nextAutoId (line 228) | def nextAutoId(self): method getStage (line 234) | def getStage(self, block_id): method beginStage (line 238) | def beginStage(self, user_id, ipu_id_from_block): method resetAutoId (line 253) | def resetAutoId(self): FILE: python/_poplar_executor.py class _SetDefaultDeviceType (line 36) | class _SetDefaultDeviceType: method __init__ (line 37) | def __init__(self): method replace (line 41) | def replace(self): method restore (line 94) | def restore(self): class _OverwriteContextManager (line 103) | class _OverwriteContextManager: method __init__ (line 107) | def __init__(self): method __enter__ (line 113) | def __enter__(self): method __exit__ (line 119) | def __exit__(self, exc_type, value, traceback): method registerSubsitutionManager (line 124) | def registerSubsitutionManager(cls, type): class PoplarExecutor (line 130) | class PoplarExecutor: method __init__ (line 140) | def __init__(self, method _install_state_hooks (line 375) | def _install_state_hooks(self): method _update_optimizer_if_needed (line 385) | def _update_optimizer_if_needed(self): method _read_optim_state_dict_if_needed (line 393) | def _read_optim_state_dict_if_needed(self): method _on_device_attach (line 414) | def _on_device_attach(self): method _get_optim_state_dict (line 434) | def _get_optim_state_dict(self): method _write_optim_state_dict_if_needed (line 439) | def _write_optim_state_dict_if_needed(self): method load_state_dict (line 458) | def load_state_dict(self, method __repr__ (line 476) | def __repr__(self): method __getattr__ (line 480) | def __getattr__(self, attr): method model (line 512) | def model(self) -> 'torch.nn.Module': method options (line 517) | def options(self) -> 'poptorch.Options': method _debugGetPopartIR (line 523) | def _debugGetPopartIR(self) -> str: method getTensorNames (line 526) | def getTensorNames(self) -> List[str]: method getAnchoredTensor (line 538) | def getAnchoredTensor(self, short_name: str) -> torch.Tensor: method copyWeightsToHostIfNeeded (line 543) | def copyWeightsToHostIfNeeded(self) -> bool: method copyWeightsToHost (line 555) | def copyWeightsToHost(self) -> None: method copyWeightsToDevice (line 577) | def copyWeightsToDevice(self) -> None: method copyNamedBuffersToDevice (line 600) | def copyNamedBuffersToDevice(self) -> None: method setOptimizer (line 631) | def setOptimizer(self, optimizer: 'torch.optim.Optimizer'): method _get_module_and_name (line 671) | def _get_module_and_name(self, n): method _compileWithDispatch (line 695) | def _compileWithDispatch(self, in_tensors, executable_filename=None): method _compile (line 947) | def _compile(self, in_tensors): method _preprocessGraph (line 1007) | def _preprocessGraph(self, in_tensors): method compile (line 1026) | def compile(self, *args, **kwargs) -> None: method loadExecutable (line 1046) | def loadExecutable(self, filename: str) -> None: method save (line 1069) | def save(self, method rng_state (line 1123) | def rng_state(self) -> List[int]: method rng_state (line 1136) | def rng_state(self, state: List[int]): method _copyRngStateToDevice (line 1146) | def _copyRngStateToDevice(self): method compileAndExport (line 1151) | def compileAndExport(self, method cycleCount (line 1177) | def cycleCount(self) -> int: method compilationTime (line 1200) | def compilationTime(self) -> timedelta: method __call__ (line 1223) | def __call__(self, *args: List['torch.Tensor'], method _assign_backward_error (line 1308) | def _assign_backward_error(self, input): method getPerfCounters (line 1323) | def getPerfCounters(self): method _computeLatency (line 1370) | def _computeLatency(self, from_event: str, method getHostIpuLatency (line 1430) | def getHostIpuLatency(self): method getComputeLatency (line 1443) | def getComputeLatency(self): method getIpuHostLatency (line 1456) | def getIpuHostLatency(self): method getLatency (line 1469) | def getLatency(self): method destroy (line 1482) | def destroy(self) -> None: method _narrow_tensor (line 1503) | def _narrow_tensor(self, tensor): method isAttachedToDevice (line 1539) | def isAttachedToDevice(self) -> bool: method isCompiled (line 1548) | def isCompiled(self) -> bool: method detachFromDevice (line 1553) | def detachFromDevice(self) -> None: method attachToDevice (line 1571) | def attachToDevice(self) -> None: function _registerHook (line 1589) | def _registerHook(hooks, new_hook) -> torch.utils.hooks.RemovableHandle: function registerPreCompileHook (line 1595) | def registerPreCompileHook(hook: Callable function registerPostCompileHook (line 1611) | def registerPostCompileHook(hook: Callable FILE: python/_poptorch_data.py class PoptorchData (line 9) | class PoptorchData: method __init__ (line 19) | def __init__(self, method optimizer (line 40) | def optimizer(self): method optimizer (line 44) | def optimizer(self, opt): function parse (line 52) | def parse(serialized_data: bytes, expected_version: str): FILE: python/_printing.py function module_repr (line 7) | def module_repr(m: torch.nn.Module): function print (line 52) | def print(m): FILE: python/_utils.py function deprecated (line 18) | def deprecated(domain, since_version, reason): function assert_signatures_match (line 35) | def assert_signatures_match(poptorch_method, reference_method): function accessAttributes (line 43) | def accessAttributes(attribute_id_str): function isOnIpu (line 68) | def isOnIpu(x): function getCustomParser (line 75) | def getCustomParser(custom_type_instance): function flattenTensorStructure (line 94) | def flattenTensorStructure(tensors, canonical_structure=None): function reconstructTensorStructure (line 120) | def reconstructTensorStructure(structure, values, filter_fn=lambda t: Tr... function combine_batch_tensors_gen (line 140) | def combine_batch_tensors_gen(tensors: List[List[torch.Tensor]] function combined_batch_generator (line 151) | def combined_batch_generator(dataloader_iterator, function getIpuTensorId (line 178) | def getIpuTensorId(x: torch.Tensor): FILE: python/enums.py class MeanReductionStrategy (line 5) | class MeanReductionStrategy(enum.IntEnum): class DataLoaderMode (line 26) | class DataLoaderMode(enum.IntEnum): class SharingStrategy (line 46) | class SharingStrategy(enum.IntEnum): class OutputMode (line 65) | class OutputMode(enum.IntEnum): class ConnectionType (line 81) | class ConnectionType(enum.IntEnum): class HalfFloatCastingBehavior (line 94) | class HalfFloatCastingBehavior(enum.IntEnum): class ReductionType (line 105) | class ReductionType(enum.IntEnum): class SyncPattern (line 116) | class SyncPattern(enum.IntEnum): class MatMulSerializationMode (line 132) | class MatMulSerializationMode(enum.Enum): class Liveness (line 141) | class Liveness(enum.IntEnum): class OverlapMode (line 159) | class OverlapMode(enum.Enum): class AutoStage (line 175) | class AutoStage(enum.IntEnum): class MultiConvPlanType (line 223) | class MultiConvPlanType(enum.IntEnum): class CommGroupType (line 234) | class CommGroupType(enum.IntEnum): class VariableRetrievalMode (line 263) | class VariableRetrievalMode(enum.IntEnum): FILE: python/ops.py function ctc_beam_search_decoder (line 14) | def ctc_beam_search_decoder(probs: "torch.Tensor", function ipu_print_tensor (line 49) | def ipu_print_tensor(tensor: "torch.Tensor", function for_loop (line 158) | def for_loop(count: int, function cond (line 201) | def cond(condition: 'torch.Tensor', function nop (line 274) | def nop(tensor: "torch.Tensor") -> "torch.Tensor": function dynamic_slice (line 289) | def dynamic_slice(tensor: "torch.Tensor", dim: int, start: "torch.Tensor", function dynamic_update (line 318) | def dynamic_update(input: "torch.Tensor", src: "torch.Tensor", dim: int, function recomputationCheckpoint (line 358) | def recomputationCheckpoint(*tensors: List["torch.Tensor"] function serializedMatMul (line 388) | def serializedMatMul(lhs: "torch.Tensor", function set_available_memory (line 424) | def set_available_memory(tensor: "torch.Tensor", function set_overlap_for_input (line 481) | def set_overlap_for_input(input_tensors, mode: "poptorch.OverlapMode"): function set_overlap_for_output (line 514) | def set_overlap_for_output(output_tensors, mode: "poptorch.OverlapMode"): function _assertIdIsValid (line 547) | def _assertIdIsValid(name, value, expected_type): class Block (line 558) | class Block(torch.nn.Module): method useAutoId (line 580) | def useAutoId(): method start (line 599) | def start(user_id: Optional[str] = None, ipu_id: Optional[int] = None): method __init__ (line 603) | def __init__(self, method __enter__ (line 622) | def __enter__(self): method __exit__ (line 625) | def __exit__(self, type, value, traceback): class LegacyBeginBlockFn (line 630) | class LegacyBeginBlockFn(torch.nn.Module): method __init__ (line 631) | def __init__(self, layer_to_call, user_id=None, ipu_id=None): method __call__ (line 637) | def __call__(self, *input, **kwargs): class _BlockHook (line 646) | class _BlockHook(): method __init__ (line 660) | def __init__(self, user_id, ipu_id) -> None: method __call__ (line 665) | def __call__(self, module, input): method __repr__ (line 671) | def __repr__(self): function removeBlocks (line 675) | def removeBlocks(module): function BeginBlock (line 689) | def BeginBlock(layer_to_call: torch.nn.Module, function BlockFunction (line 746) | def BlockFunction(user_id: Optional[str] = None, ipu_id: Optional[int] =... function custom_op (line 787) | def custom_op(inputs: Tuple["torch.Tensor"], class CPU (line 896) | class CPU: method __init__ (line 919) | def __init__(self, layer_to_call: Callable, ID: str): method execute (line 941) | def execute(self): method registerPersistentData (line 951) | def registerPersistentData(self): method __call__ (line 960) | def __call__(self, *input, **kwargs): function identity_loss (line 1014) | def identity_loss(x: "torch.Tensor", reduction: "str") -> "torch.Tensor": function fps (line 1051) | def fps(src: "torch.Tensor", function nearest (line 1088) | def nearest(x: "torch.Tensor", class MultiConv (line 1138) | class MultiConv(): method __init__ (line 1160) | def __init__(self): method _validatePerConvProperty (line 1169) | def _validatePerConvProperty(name, value, expected_scalar_type): method availableMemoryProportions (line 1183) | def availableMemoryProportions(self, value: Union[float, List[float]] method partialsTypes (line 1202) | def partialsTypes(self, value: Union[torch.dtype, List[torch.dtype]] method enableConvDithering (line 1229) | def enableConvDithering(self, value: Union[bool, List[bool]] method planType (line 1253) | def planType(self, method perConvReservedTiles (line 1270) | def perConvReservedTiles(self, value: int) -> "poptorch.MultiConv": method cycleBackOff (line 1280) | def cycleBackOff(self, value: float) -> "poptorch.MultiConv": method __enter__ (line 1290) | def __enter__(self): method __exit__ (line 1293) | def __exit__(self, type, value, traceback): class NameScope (line 1306) | class NameScope: method __init__ (line 1315) | def __init__(self, name: str): method __enter__ (line 1319) | def __enter__(self): method __exit__ (line 1322) | def __exit__(self, type, value, traceback): FILE: python/optim.py class VariableAttributes (line 10) | class VariableAttributes: method __init__ (line 20) | def __init__(self, variable_attributes: List[str], method isConstant (line 29) | def isConstant(self, attr: str) -> bool: method markAsConstant (line 33) | def markAsConstant(self, attr: str) -> None: method markAsVariable (line 42) | def markAsVariable(self, attr: str) -> None: function _parseArgs (line 50) | def _parseArgs(all_args: Dict[str, Any], class Optimizer (line 67) | class Optimizer: method __init__ (line 68) | def __init__(self): method state_dict (line 78) | def state_dict(self): method load_state_dict (line 81) | def load_state_dict(self, state): method get_state_dict (line 87) | def get_state_dict(self): method set_state_dict (line 92) | def set_state_dict(self, state): method has_state (line 103) | def has_state(self): class SGD (line 108) | class SGD(Optimizer, torch.optim.SGD): method __init__ (line 196) | def __init__(self, method __getstate__ (line 290) | def __getstate__(self) -> Dict[str, Any]: class Adam (line 308) | class Adam(Optimizer, torch.optim.Adam): method __init__ (line 328) | def __init__( method __getstate__ (line 403) | def __getstate__(self) -> Dict[str, Any]: class AdamW (line 423) | class AdamW(Optimizer, torch.optim.AdamW): method __init__ (line 446) | def __init__( method __getstate__ (line 524) | def __getstate__(self) -> Dict[str, Any]: class RMSprop (line 545) | class RMSprop(Optimizer, torch.optim.RMSprop): method __init__ (line 572) | def __init__( method __getstate__ (line 646) | def __getstate__(self) -> Dict[str, Any]: class LAMB (line 666) | class LAMB(Optimizer, torch.optim.Optimizer): method __init__ (line 685) | def __init__(self, method step (line 767) | def step(self, closure: Optional[Callable] = None) -> Optional[float]: method __getstate__ (line 820) | def __getstate__(self) -> Dict[str, Any]: function _check_constructor_match_parent (line 840) | def _check_constructor_match_parent(child_class: Type[torch.optim.Optimi... FILE: python/options.py class Attribute (line 14) | class Attribute(): method __init__ (line 17) | def __init__(self, **kwargs): method __enter__ (line 21) | def __enter__(self): method __exit__ (line 31) | def __exit__(self, type, value, traceback): class ConfigFileError (line 44) | class ConfigFileError(Exception): class _JitOptions (line 48) | class _JitOptions(_options_impl.OptionsDict): method traceModel (line 57) | def traceModel(self, trace_model: bool) -> "poptorch.options._JitOptio... class _PrecisionOptions (line 71) | class _PrecisionOptions(_options_impl.OptionsDict): method __init__ (line 81) | def __init__(self, method halfFloatCasting (line 86) | def halfFloatCasting( method runningStatisticsAlwaysFloat (line 101) | def runningStatisticsAlwaysFloat(self, value: bool method enableFloatingPointExceptions (line 118) | def enableFloatingPointExceptions( method enableStochasticRounding (line 142) | def enableStochasticRounding(self, enabled: bool method setPartialsType (line 165) | def setPartialsType(self, dtype: torch.dtype class _TrainingOptions (line 196) | class _TrainingOptions(_options_impl.OptionsDict): method __init__ (line 207) | def __init__(self, method gradientAccumulation (line 216) | def gradientAccumulation(self, gradient_accumulation: int method _check_reduction_arg (line 269) | def _check_reduction_arg(self, reduction_type, name): method accumulationAndReplicationReductionType (line 278) | def accumulationAndReplicationReductionType( method setMeanAccumulationAndReplicationReductionStrategy (line 307) | def setMeanAccumulationAndReplicationReductionStrategy( method setAutomaticLossScaling (line 336) | def setAutomaticLossScaling(self, enabled: bool method setConvolutionDithering (line 359) | def setConvolutionDithering(self, enabled: bool class _PopartOptions (line 377) | class _PopartOptions: method __init__ (line 395) | def __init__(self) -> None: method __deepcopy__ (line 401) | def __deepcopy__(self, memory): method checkIsFrozen (line 410) | def checkIsFrozen(self, option=None): method set (line 416) | def set(self, key: str, value: Union[int, float, str, List[str], Set[s... method setEngineOptions (line 423) | def setEngineOptions(self, engine_options: Dict[str, str] method setPatterns (line 428) | def setPatterns(self, patterns: Dict[str, bool], method __repr__ (line 443) | def __repr__(self): class _DistributedOptions (line 449) | class _DistributedOptions(_options_impl.OptionsDict): method __init__ (line 461) | def __init__(self) -> None: method disable (line 468) | def disable(self) -> "poptorch.options._DistributedOptions": method setEnvVarNames (line 475) | def setEnvVarNames(self, var_num_processes: str, var_process_id: str method configureProcessId (line 492) | def configureProcessId(self, process_id: int, num_processes: int method processId (line 505) | def processId(self) -> int: method numProcesses (line 510) | def numProcesses(self) -> int: class TensorLocationSettings (line 515) | class TensorLocationSettings(_options_impl.OptionsDict): method minElementsForOffChip (line 523) | def minElementsForOffChip(self, min_elements: int method minElementsForReplicatedTensorSharding (line 531) | def minElementsForReplicatedTensorSharding( method useOnChipStorage (line 539) | def useOnChipStorage(self, use: bool = True method useReplicatedTensorSharding (line 555) | def useReplicatedTensorSharding(self, use: bool = True method useIOTilesToLoad (line 565) | def useIOTilesToLoad(self, use: bool = True method useIOTilesToStore (line 576) | def useIOTilesToStore(self, use: bool = True class _TensorLocationOptions (line 590) | class _TensorLocationOptions(_options_impl.OptionsDict): method numIOTiles (line 600) | def numIOTiles(self, num_tiles: int) -> "poptorch.TensorLocationSettin... method setActivationLocation (line 627) | def setActivationLocation(self, location: "poptorch.TensorLocationSett... method setWeightLocation (line 637) | def setWeightLocation(self, location: "poptorch.TensorLocationSettings" method setOptimizerLocation (line 647) | def setOptimizerLocation(self, location: "poptorch.TensorLocationSetti... method setAccumulatorLocation (line 657) | def setAccumulatorLocation(self, class Stage (line 672) | class Stage: method __init__ (line 683) | def __init__(self, *block_ids: BlockId) -> None: method blocks (line 693) | def blocks(self) -> List[BlockId]: method ipu (line 697) | def ipu(self, ipu: int) -> "poptorch.Stage": method _setStage (line 703) | def _setStage(self, stage: int) -> "poptorch.Stage": class _DefaultStageManager (line 709) | class _DefaultStageManager(_options_impl.IStageManager): method __init__ (line 710) | def __init__(self, auto_stage: "poptorch.AutoStage") -> None: method getStage (line 716) | def getStage(self, block_id: BlockId) -> "poptorch.Stage": class _IExecutionStrategy (line 733) | class _IExecutionStrategy: method __init__ (line 734) | def __init__(self, stages_manager, block_map): method stage (line 738) | def stage(self, block_id): method onStartTracing (line 746) | def onStartTracing(self): method onEndTracing (line 750) | def onEndTracing(self): method backendOptions (line 754) | def backendOptions(self): class Phase (line 758) | class Phase: method __init__ (line 761) | def __init__(self, *arg: Union[BlockId, "poptorch.Stage"]): method stage (line 791) | def stage(self, idx): method ipus (line 794) | def ipus(self, *ipus): class PipelinedExecution (line 806) | class PipelinedExecution(_IExecutionStrategy): method __init__ (line 807) | def __init__(self, *args): method backendOptions (line 920) | def backendOptions(self): class ShardedExecution (line 924) | class ShardedExecution(PipelinedExecution): method backendOptions (line 945) | def backendOptions(self): class _IPhasedExecution (line 949) | class _IPhasedExecution(_IExecutionStrategy): method __init__ (line 952) | def __init__(self, *phases: Union["poptorch.Phase", List["poptorch.Sta... method phase (line 1012) | def phase(self, phase: int) -> "poptorch.Phase": method useSeparateBackwardPhase (line 1022) | def useSeparateBackwardPhase(self, use: bool = True): method backendOptions (line 1047) | def backendOptions(self) -> Dict[str, Union[int, bool]]: class ParallelPhasedExecution (line 1055) | class ParallelPhasedExecution(_IPhasedExecution): method backendOptions (line 1088) | def backendOptions(self) -> Dict[str, Union[int, bool]]: method sendTensorsOffChipAfterFwd (line 1091) | def sendTensorsOffChipAfterFwd(self, off_chip: bool = True class SerialPhasedExecution (line 1101) | class SerialPhasedExecution(_IPhasedExecution): method setTensorsLiveness (line 1133) | def setTensorsLiveness(self, liveness: "poptorch.Liveness" method backendOptions (line 1141) | def backendOptions(self) -> Dict[str, Union[int, bool]]: class Options (line 1146) | class Options(_options_impl.OptionsDict): method __init__ (line 1162) | def __init__(self) -> None: method from_json (line 1200) | def from_json(self, string: str): method sourceLocationExcludes (line 1240) | def sourceLocationExcludes(self, method appendToLocationExcludes (line 1255) | def appendToLocationExcludes(self, *excludes: str) -> "poptorch.Options": method showCompilationProgressBar (line 1268) | def showCompilationProgressBar(self, method loadFromFile (line 1276) | def loadFromFile(self, filepath: str) -> "poptorch.Options": method relaxOptimizerAttributesChecks (line 1316) | def relaxOptimizerAttributesChecks(self, relax: bool = True method TensorLocations (line 1337) | def TensorLocations(self) -> "poptorch.options._TensorLocationOptions": method Distributed (line 1344) | def Distributed(self) -> "poptorch.options._DistributedOptions": method Jit (line 1354) | def Jit(self) -> "poptorch.options._JitOptions": method Precision (line 1361) | def Precision(self) -> "poptorch.options._PrecisionOptions": method Training (line 1369) | def Training(self) -> "poptorch.options._TrainingOptions": method _Popart (line 1376) | def _Popart(self) -> "poptorch.options._PopartOptions": method autoRoundNumIPUs (line 1381) | def autoRoundNumIPUs(self, auto_round_num_ipus: bool = True method deviceIterations (line 1396) | def deviceIterations(self, device_iterations: int) -> "poptorch.Options": method setExecutionStrategy (line 1408) | def setExecutionStrategy( method setAvailableMemoryProportion (line 1426) | def setAvailableMemoryProportion( method replicationFactor (line 1459) | def replicationFactor(self, replication_factor: int) -> "poptorch.Opti... method inputReplicaGrouping (line 1474) | def inputReplicaGrouping(self, input_group_size: int, method broadcastBuffers (line 1508) | def broadcastBuffers(self, broadcast_buffers: bool = True): method logDir (line 1518) | def logDir(self, log_dir: str) -> "poptorch.Options": method maxRepeatLogs (line 1528) | def maxRepeatLogs(self, max_lines: Optional[int]) -> "poptorch.Options": method modelName (line 1541) | def modelName(self, name: str) -> "poptorch.Options": method enableExecutableCaching (line 1552) | def enableExecutableCaching(self, path: str) -> "poptorch.Options": method useIpuModel (line 1567) | def useIpuModel(self, use_model: bool) -> "poptorch.Options": method connectionType (line 1584) | def connectionType(self, connection_type: "poptorch.ConnectionType" method syncPattern (line 1605) | def syncPattern(self, sync_pattern: "poptorch.SyncPattern" method useIpuId (line 1633) | def useIpuId(self, ipu_id: int) -> "poptorch.Options": method useOfflineIpuTarget (line 1656) | def useOfflineIpuTarget(self, ipu_version: int = 2) -> "poptorch.Optio... method anchorTensor (line 1669) | def anchorTensor(self, method outputMode (line 1692) | def outputMode(self, method defaultOutputMode (line 1730) | def defaultOutputMode(self) -> bool: method randomSeed (line 1740) | def randomSeed(self, random_seed: int) -> "poptorch.Options": method enableStableNorm (line 1751) | def enableStableNorm(self, enabled: bool) -> "poptorch.Options": method enableSyntheticData (line 1763) | def enableSyntheticData(self, enabled: bool) -> "poptorch.Options": method logCycleCount (line 1781) | def logCycleCount(self, log_cycle_count: bool) -> "poptorch.Options": method enableProfiling (line 1797) | def enableProfiling(self, profile_dir: Optional[str] = None method disableModuleNamescope (line 1842) | def disableModuleNamescope(self) -> "poptorch.Options": method updatableNamedBuffers (line 1863) | def updatableNamedBuffers(self, buffers: List[str]) -> "poptorch.Optio... method toDict (line 1871) | def toDict(self) -> Dict[str, Any]: method clone (line 1895) | def clone(self) -> "poptorch.Options": method __repr__ (line 1900) | def __repr__(self): FILE: python/poptorch.cpp type jit (line 54) | namespace jit { function TypePtr (line 58) | TypePtr inferType(py::handle input) { function Stack (line 133) | Stack toTraceableStack(const py::tuple &inputs) { class CallOnExit (line 139) | class CallOnExit : Func { method CallOnExit (line 141) | explicit CallOnExit(Func f) : Func(std::move(f)) {} function alreadyRegistered (line 148) | bool alreadyRegistered(const std::string &ID) { function registerBuffersWithCallback (line 152) | void registerBuffersWithCallback( function registerCPUCallBack (line 177) | void registerCPUCallBack(const py::object &obj, const std::string &ID) { function initCallbackBuffers (line 204) | void initCallbackBuffers() { class PybindValue (line 210) | class PybindValue : public IPyValue { method PybindValue (line 214) | explicit PybindValue(T obj) { method PybindValue (line 221) | explicit PybindValue(T handle) : _value(handle) {} method toFunction (line 223) | std::function toFunction() const override { method isBoolean (line 231) | bool isBoolean() const override { return py::isinstance(_va... method toBoolean (line 233) | bool toBoolean() const override { return _value.cast(); } method isDouble (line 235) | bool isDouble() const override { method toDouble (line 241) | double toDouble() const override { return _value.cast(); } method isInt (line 243) | bool isInt() const override { return py::isinstance(_value); } method toUInt64 (line 245) | std::uint64_t toUInt64() const override { method toInt64 (line 249) | std::int64_t toInt64() const override { return _value.cast(_value... method toString (line 253) | std::string toString() const override { method isSetListOrTuple (line 264) | bool isSetListOrTuple() const override { method forEachInList (line 270) | void forEachInList(std::function fn) const ove... method isDict (line 276) | bool isDict() const override { return py::isinstance(_value); } method forEachInDict (line 278) | void forEachInDict(std::function getFromDict(const std::string &key) const ov... method getListSize (line 292) | std::uint64_t getListSize() const override { method getFromList (line 295) | std::unique_ptr method type (line 304) | std::string type() const override { return py::str(_value.get_type()); } function T (line 315) | T getOptimizerValue(const py::dict &d, const std::string &key) { function getOptimizerValue (line 323) | void getOptimizerValue(T &value, const py::dict &d, const std::string &k... function copyParametersDict (line 327) | void copyParametersDict(popart_compiler::Optimizer *out, const py::dict ... function parseOptimizers (line 351) | std::vector parseOptimizers(const py::dict &... function getParameterBuffers (line 420) | std::map function remapTensors (line 440) | std::vector function getParameterNames (line 476) | std::vector function AnchorList (line 505) | AnchorList parseAnchors(const py::list &list) { function parseSessionOptionsVoid (line 516) | void parseSessionOptionsVoid(const py::dict &opts) { function buildTensorList (line 520) | void buildTensorList(const torch::jit::IValue &value, function identifyZeroSizedTensors (line 548) | void identifyZeroSizedTensors(const std::vector &tensors) { function lowerToPopartFromDispatch (line 564) | poptorch::LowerToPopart function mapParamsToNames (line 589) | void mapParamsToNames(const pybind11::tuple &names, function setPerReplica (line 600) | void setPerReplica(const std::string ¶m_name, py::handle tensor, function convertToString (line 608) | std::string convertToString(const std::vector &str) { function convertToCharVec (line 612) | std::vector convertToCharVec(const std::string &str) { function toPythonList (line 616) | pybind11::list toPythonList(std::vector &&outputs) { class Error (line 624) | class Error : public py::object { method Error (line 626) | Error() = default; method Error (line 627) | Error(handle scope, const char *name, handle base = PyExc_Exception) { method setWhat (line 642) | void setWhat(const std::string &message) { _what = message; } method setErrorIndicator (line 646) | void setErrorIndicator() { PyErr_SetString(m_ptr, _what.c_str()); } method setMessage (line 648) | void setMessage(const std::string &message) { method setType (line 653) | void setType(const std::string &type) { method setLocation (line 657) | void setLocation(const std::string &location) { class RecoverableError (line 666) | class RecoverableError : public Error { method setRecoveryAction (line 670) | void setRecoveryAction(const std::string &recoveryAction) { type PoptorchError (line 692) | struct PoptorchError : public torch::PyTorchError { method PoptorchError (line 694) | explicit PoptorchError(const PoptorchErrorInfo &info) method PyObject (line 696) | PyObject *python_type() override { return setupPyError(false); } method setErrorIndicator (line 697) | void setErrorIndicator() const { setupPyError(true); } function PyObject (line 706) | PyObject *PoptorchError::setupPyError(bool set_indicator) const { function doThrowPoptorchError (line 739) | void doThrowPoptorchError(const PoptorchErrorInfo &info) { type bindings (line 744) | namespace bindings { function initialiseExceptionHandling (line 746) | void initialiseExceptionHandling(pybind11::handle m) { function copyWeightsToHostImpl (line 755) | void copyWeightsToHostImpl( function copyWeightsToDeviceImpl (line 772) | void copyWeightsToDeviceImpl( function copyNamedBuffersToDeviceImpl (line 789) | void copyNamedBuffersToDeviceImpl( function getPopartIR (line 806) | std::string function getTensorNames (line 812) | py::set function detachFromDevice (line 818) | void detachFromDevice( function attachToDevice (line 825) | void attachToDevice( function isAttachedToDevice (line 832) | bool isAttachedToDevice( function setLogLevel (line 838) | void setLogLevel(std::uint64_t level) { function loadEngineAndConnectStreams (line 844) | void loadEngineAndConnectStreams( function updateOptimizers (line 851) | void updateOptimizers( function execute (line 863) | std::vector function setRngState (line 934) | void setRngState(std::shared_ptr &executable, function getRandomSeed (line 943) | std::uint64_t function getRngState (line 951) | std::vector function readOptimizerState (line 959) | py::dict readOptimizerState( function writeOptimizerState (line 992) | void writeOptimizerState( function getTimestamps (line 1037) | std::vector function pyIsGraphNondeterministic (line 1065) | bool pyIsGraphNondeterministic(py::handle h) { function saveExecutableToFile (line 1077) | void saveExecutableToFile( function appendPoptorchMetadataToFile (line 1084) | void appendPoptorchMetadataToFile(const std::string &serialized_poptor... function cycleCount (line 1092) | uint64_t function importPoptorchMetadataFromFile (line 1098) | py::bytes importPoptorchMetadataFromFile(const std::string &import_fil... function processDispatchAndImportExecutable (line 1106) | std::shared_ptr processDispatchAndImportEx... function compileWithManualTracing (line 1114) | std::shared_ptr compileWithManualTracing( function setPopartLogLevelUInt (line 1125) | void setPopartLogLevelUInt(std::uint64_t level) { function PYBIND11_MODULE (line 1135) | PYBIND11_MODULE(poptorch_core, m) { // NOLINT FILE: python/profiling.py class Channel (line 18) | class Channel: method __init__ (line 32) | def __init__(self, name): method instrument (line 37) | def instrument(self, obj, *methods): method tracepoint (line 47) | def tracepoint(self, name): class _DummyTracepoint (line 61) | class _DummyTracepoint: method __enter__ (line 64) | def __enter__(self): method __exit__ (line 67) | def __exit__(self, type, value, traceback): class _Channels (line 71) | class _Channels: method getOrCreate (line 76) | def getOrCreate(name): FILE: python/testing.py function allclose (line 7) | def allclose(ref, other): FILE: scripts/PopAtenHandlers.py function celu_handler (line 81) | def celu_handler(x, a): function hardshrink_handler (line 86) | def hardshrink_handler(x, l): function softshrink_handler (line 90) | def softshrink_handler(x, l): function hinge_embedding_loss_handler (line 123) | def hinge_embedding_loss_handler(x, y, delta, red): function l1_loss_handler (line 130) | def l1_loss_handler(x, y, red): function margin_ranking_loss_handler (line 136) | def margin_ranking_loss_handler(x1, x2, y, margin, red): function mse_loss_handler (line 142) | def mse_loss_handler(x, y, red): function smooth_l1_loss_handler (line 148) | def smooth_l1_loss_handler(x, y, red, beta): function soft_margin_loss_handler (line 156) | def soft_margin_loss_handler(x, y, red): FILE: scripts/PopParse.py class OptionType (line 71) | class OptionType(enum.IntEnum): function parse_session_options (line 82) | def parse_session_options(root_node): # pylint: disable=too-many-statem... function clean (line 491) | def clean(cxxType): function toType (line 496) | def toType(cxxType): function convertCxxConvert (line 528) | def convertCxxConvert(cxxType_orig): function attrTypeGetter (line 562) | def attrTypeGetter(ty): function addCastingOptStr (line 577) | def addCastingOptStr(name): function addOutputTypeStr (line 591) | def addOutputTypeStr(name): # pylint: disable=too-many-return-statements FILE: scripts/apply_linters.py class OutputProcessor (line 33) | class OutputProcessor: method __call__ (line 34) | def __call__(self, raw_output: str, returncode: int) -> Tuple[str, int]: class SaveOutput (line 38) | class SaveOutput(OutputProcessor): method __init__ (line 39) | def __init__(self): method __call__ (line 42) | def __call__(self, raw_output: str, returncode: int) -> Tuple[str, int]: class GitStrategy (line 47) | class GitStrategy(enum.Enum): class ILinterFamily (line 57) | class ILinterFamily: method __init__ (line 61) | def __init__(self, supported_extensions, linters, method gen_lint_commands (line 80) | def gen_lint_commands(self, filename, autofix): class CppLinters (line 108) | class CppLinters(ILinterFamily): method __init__ (line 109) | def __init__(self): class PyLinters (line 115) | class PyLinters(ILinterFamily): method __init__ (line 116) | def __init__(self): method is_enabled (line 119) | def is_enabled(self, filename, autofix): # pylint: disable=unused-arg... class ILinter (line 124) | class ILinter: method gen_lint_command (line 127) | def gen_lint_command(self, filename, autofix): method check_version (line 131) | def check_version(self): method is_enabled (line 135) | def is_enabled(self, filename, autofix): # pylint: disable=unused-arg... class ProcessManager (line 140) | class ProcessManager: method create (line 144) | def create(max_num_proc=0): method get (line 149) | def get(): method __init__ (line 154) | def __init__(self, max_num_proc): method enqueue (line 160) | def enqueue(self, create_proc_fn): method update (line 168) | def update(self): class Command (line 191) | class Command: method __init__ (line 194) | def __init__(self, method start (line 211) | def start(self): method _create_proc (line 214) | def _create_proc(self): method is_running (line 234) | def is_running(self): method wait (line 237) | def wait(self): method run (line 256) | def run(self): class CondaCommand (line 261) | class CondaCommand(Command): method __init__ (line 265) | def __init__(self, *cmd, name=None, **kwargs): class ClangTools (line 277) | class ClangTools: method path (line 281) | def path(): method clang_format (line 285) | def clang_format(): method clang_tidy (line 289) | def clang_tidy(): method clang_apply_replacements (line 293) | def clang_apply_replacements(): function get_conda_activate_cmd (line 297) | def get_conda_activate_cmd(): function offset_to_line (line 317) | def offset_to_line(filename, offsets): class DiffCreator (line 342) | class DiffCreator: method __init__ (line 352) | def __init__(self, filename, linter, autofix): method __call__ (line 359) | def __call__(self, output, errcode): class VersionParseCommandBase (line 385) | class VersionParseCommandBase(CondaCommand): method __init__ (line 386) | def __init__(self, *cmd, **kwargs): method _parse_version (line 390) | def _parse_version(self, output, return_code): method run_and_compare_versions (line 393) | def run_and_compare_versions(self, expected): class VersionJSONParseCommand (line 404) | class VersionJSONParseCommand(VersionParseCommandBase): method __init__ (line 405) | def __init__(self, command_name): method _parse_version (line 412) | def _parse_version(self, output, return_code): class VersionParseCommand (line 420) | class VersionParseCommand(VersionParseCommandBase): method __init__ (line 421) | def __init__(self, version_re_prefix, command_name): method _parse_version (line 429) | def _parse_version(self, output, return_code): function compare_versions_from_conda (line 443) | def compare_versions_from_conda(command_name, expected): function compare_versions_from_output (line 448) | def compare_versions_from_output(command_name, class ClangFormat (line 458) | class ClangFormat(ILinter): method gen_lint_command (line 459) | def gen_lint_command(self, filename, autofix): method check_version (line 473) | def check_version(self): class ClangTidy (line 478) | class ClangTidy(ILinter): class ResultsProcessor (line 479) | class ResultsProcessor(OutputProcessor): method __init__ (line 484) | def __init__(self, num_jobs, autofix): method __call__ (line 490) | def __call__(self, raw_output, returncode): method __init__ (line 552) | def __init__(self): method get_compile_commands_flags (line 557) | def get_compile_commands_flags(self, filename): method gen_lint_command (line 603) | def gen_lint_command(self, filename, autofix): method process_compile_commands (line 636) | def process_compile_commands(self, commands): method check_version (line 659) | def check_version(self): method is_enabled (line 745) | def is_enabled(self, filename, autofix): class Pylint (line 752) | class Pylint(ILinter): method pylint (line 753) | def pylint(self): method gen_lint_command (line 756) | def gen_lint_command(self, filename, autofix): method check_version (line 762) | def check_version(self): method is_enabled (line 765) | def is_enabled(self, filename, autofix): # pylint: disable=unused-arg... class Yapf (line 770) | class Yapf(ILinter): method yapf (line 771) | def yapf(self): method gen_lint_command (line 774) | def gen_lint_command(self, filename, autofix): method check_version (line 788) | def check_version(self): class Executor (line 792) | class Executor: method __init__ (line 793) | def __init__(self, filename, cmd): method _next_step (line 799) | def _next_step(self): method update (line 803) | def update(self): method execution_complete (line 817) | def execution_complete(self): class Linters (line 821) | class Linters: method __init__ (line 824) | def __init__(self): method _get_git_files (line 827) | def _get_git_files(self, strategy): method lint_git (line 863) | def lint_git(self, strategy, autofix, add_trailer_on_success): method _read_head_trailer (line 867) | def _read_head_trailer(self): method _unstaged_diff (line 875) | def _unstaged_diff(self, files): method _compute_git_trailer (line 883) | def _compute_git_trailer(self, files): method check_git_trailer (line 891) | def check_git_trailer(self, strategy): method _check_trailer (line 895) | def _check_trailer(self, files, add_if_missing): method lint_files (line 921) | def lint_files(self, files, autofix, add_trailer_on_success): method _gen_lint_commands (line 972) | def _gen_lint_commands(self, filename, autofix): function main (line 979) | def main(): FILE: scripts/check_spelling.py function getChar (line 33) | def getChar(): class DocStr (line 45) | class DocStr(): method __init__ (line 46) | def __init__(self, doc_str, source_file, line_num): method doc_str (line 52) | def doc_str(self): method line_num (line 56) | def line_num(self): method source_file (line 60) | def source_file(self): method __str__ (line 63) | def __str__(self): function start_hunspell_process (line 68) | def start_hunspell_process(): function strip_code_blocks (line 105) | def strip_code_blocks(s): function should_skip (line 116) | def should_skip(line): function remove_exclusions (line 132) | def remove_exclusions(line): function get_doc_str_line_number (line 141) | def get_doc_str_line_number(element): function recursive_add_doc_str (line 157) | def recursive_add_doc_str(source_file, element, doc_str_list): function print_context (line 178) | def print_context(doc_str, line_offset, unknown_spelling): function process_incorrect_word (line 208) | def process_incorrect_word(hunspell, result, doc_str, line_offset): function process_doc_str (line 250) | def process_doc_str(hunspell, doc_str): function check_source_file (line 281) | def check_source_file(source_dir, source_file): FILE: scripts/create_buildenv.py class Version (line 26) | class Version: method __init__ (line 27) | def __init__(self, version_str): method __lt__ (line 30) | def __lt__(self, other): method __eq__ (line 33) | def __eq__(self, other): method __hash__ (line 36) | def __hash__(self): method __str__ (line 39) | def __str__(self): method __repr__ (line 42) | def __repr__(self): function _default_cache_dir (line 46) | def _default_cache_dir(): function _system_conda_path (line 51) | def _system_conda_path(): class Installer (line 64) | class Installer: method install (line 67) | def install(self, env): method hashString (line 70) | def hashString(self): class CondaPackages (line 75) | class CondaPackages(Installer): method __init__ (line 78) | def __init__(self, *packages): class CondaChannels (line 83) | class CondaChannels(Installer): method __init__ (line 86) | def __init__(self, *channels): class PipPackages (line 91) | class PipPackages(Installer): method __init__ (line 94) | def __init__(self, *packages): method install (line 98) | def install(self, env): method hashString (line 101) | def hashString(self): class PipRequirements (line 105) | class PipRequirements(Installer): method __init__ (line 108) | def __init__(self, filename="requirements.txt"): method install (line 113) | def install(self, env): method hashString (line 117) | def hashString(self): class Installers (line 122) | class Installers: method __init__ (line 125) | def __init__(self): method add (line 128) | def add(self, installer): method __call__ (line 134) | def __call__(self): class Config (line 138) | class Config: method __init__ (line 141) | def __init__(self, install_linters, **opts): method setDefault (line 145) | def setDefault(self, **opts): class Environment (line 151) | class Environment: method __init__ (line 152) | def __init__(self, buildenv_dir, activate_filename): method prefix (line 157) | def prefix(self): method run_commands (line 160) | def run_commands(self, method rmdir_if_exists (line 173) | def rmdir_if_exists(self, path): class BuildenvManager (line 177) | class BuildenvManager: method __init__ (line 178) | def __init__(self, method add_project (line 237) | def add_project(self, project, project_dir): method _collect_installers (line 241) | def _collect_installers(self): method create (line 320) | def create(self, create_template_if_needed=False): method _create_new_env (line 380) | def _create_new_env(self, installers, is_retry=False): method _clear_activate_buildenv (line 429) | def _clear_activate_buildenv(self): method _append_to_activate_buildenv (line 475) | def _append_to_activate_buildenv(self, *lines): method cache_lock (line 481) | def cache_lock(self): method _install_conda_if_needed (line 498) | def _install_conda_if_needed(self, force_reinstall=False): method _compute_environment_hash (line 550) | def _compute_environment_hash(self, installers): FILE: scripts/docs_build.py class DocumentationBuilder (line 18) | class DocumentationBuilder: method __init__ (line 19) | def __init__(self, pkg_info, install_dir=None, poptorch_geometric=False): method assert_poptorch_in_path (line 51) | def assert_poptorch_in_path(self): method cleanup (line 62) | def cleanup(self): method build_html (line 67) | def build_html(self): method package_html (line 79) | def package_html(self): method build_pdf (line 101) | def build_pdf(self): FILE: scripts/generate_poppyg_package.py function find_requirement (line 40) | def find_requirement(package): function get_pyg_hosted_dependency (line 49) | def get_pyg_hosted_dependency(pkg_name): function configure (line 78) | def configure(src_filename, dst_filename): FILE: scripts/generate_python_package.py function get_version_from_requirements (line 42) | def get_version_from_requirements(package): function get_torch_dependency (line 52) | def get_torch_dependency(package, version): function get_poptorch_version (line 64) | def get_poptorch_version(): class ExtOnly (line 94) | class ExtOnly: method __init__ (line 95) | def __init__(self, *ext): method _is_ignored (line 98) | def _is_ignored(self, file): method __call__ (line 101) | def __call__(self, adir, filenames): function configure (line 114) | def configure(src_filename, dst_filename): FILE: scripts/popgen/__init__.py class PtrOrRef (line 10) | class PtrOrRef(enum.Enum): class Value (line 17) | class Value: method __init__ (line 18) | def __init__(self, op, args, const=False, ptr_or_ref=None): method __add__ (line 40) | def __add__(self, other): method __ge__ (line 43) | def __ge__(self, other): method __gt__ (line 46) | def __gt__(self, other): method __le__ (line 49) | def __le__(self, other): method __lt__ (line 52) | def __lt__(self, other): method __mul__ (line 55) | def __mul__(self, other): method __ne__ (line 58) | def __ne__(self, other): method __neg__ (line 61) | def __neg__(self): method __sub__ (line 64) | def __sub__(self, other): method __truediv__ (line 67) | def __truediv__(self, other): method __radd__ (line 70) | def __radd__(self, other): method __rmul__ (line 73) | def __rmul__(self, other): method __rsub__ (line 76) | def __rsub__(self, other): method __rtruediv__ (line 79) | def __rtruediv__(self, other): method equal (line 82) | def equal(self, other): method set_graph_arity (line 85) | def set_graph_arity(self, arity): method annotate (line 88) | def annotate(self, annot): method emit (line 101) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method emit_arguments (line 151) | def emit_arguments(self, values, val_id, tabs, f): method emit_annotations (line 162) | def emit_annotations(self, tabs, f): method emit_assign_return (line 175) | def emit_assign_return(self, method emit_call (line 214) | def emit_call(self, fname, args, suffix, f): method vn (line 227) | def vn(self): method same (line 233) | def same(self, other): method render (line 239) | def render(self): class ConstantFloat (line 255) | class ConstantFloat(Value): method __init__ (line 256) | def __init__(self, val): method emit (line 260) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method vn (line 292) | def vn(self): method same (line 295) | def same(self, other): method render (line 298) | def render(self): class NonTensorValue (line 308) | class NonTensorValue(Value): method __init__ (line 309) | def __init__(self, op, args): FILE: scripts/popgen/api.py function convert (line 15) | def convert(aten, arity, popop=None, swizzles=None): function expand (line 38) | def expand(aten, fn): function forward (line 49) | def forward(source, dest): function generate (line 63) | def generate(script, namespace, filename, global_symbols=globals()): function simplify (line 76) | def simplify(name, fn): FILE: scripts/popgen/generator.py function emit_handlers (line 18) | def emit_handlers(namespace, aten, handlers, f=sys.stdout): function generate (line 87) | def generate(script, namespace, filename, global_symbols): function get_op_name (line 141) | def get_op_name(aten): function snake_to_camel_case (line 146) | def snake_to_camel_case(snake_case): function get_camel_case_op_name (line 151) | def get_camel_case_op_name(aten): FILE: scripts/popgen/helpers.py function alpha (line 11) | def alpha(m, a): function as_ir (line 20) | def as_ir(v): function cint (line 32) | def cint(n): function clong (line 41) | def clong(n): function clong_list (line 50) | def clong_list(l): function cfloat (line 61) | def cfloat(f): function cstr (line 70) | def cstr(s): function dimension (line 80) | def dimension(v, t): function dimension_list (line 91) | def dimension_list(t, a=None): function empty_initializer (line 100) | def empty_initializer(): function output_shape (line 109) | def output_shape(idx=0): function output_type (line 118) | def output_type(idx=0): function reduction (line 127) | def reduction(r): function tensor_list (line 136) | def tensor_list(l): function tensor_long (line 145) | def tensor_long(t): function tensor_shape (line 155) | def tensor_shape(t): function tensor_type (line 164) | def tensor_type(t): function scalar_type (line 173) | def scalar_type(t): FILE: scripts/popgen/onnx.py function find_popart_includes (line 25) | def find_popart_includes(): function find_poplar_includes (line 48) | def find_poplar_includes(): function init (line 78) | def init(popart_path=None, poplar_path=None, clang_path=None, debug=False): function find_functions (line 126) | def find_functions(jsonOutput, node, namespace=""): function parse (line 179) | def parse(): function parse_signatures (line 225) | def parse_signatures(): FILE: scripts/popgen/operatorfactory.py function no_tensor_braces (line 11) | def no_tensor_braces(v): function check_operator_signature (line 22) | def check_operator_signature(value, signatures): class OperatorFactory (line 66) | class OperatorFactory: method __getattr__ (line 67) | def __getattr__(self, name): method cast (line 78) | def cast(self, t, ty): method internalCast (line 83) | def internalCast(self, t, ty): method constantPad (line 88) | def constantPad(self, x, l, c): method edgePad (line 93) | def edgePad(self, t, l): method printIpuTensor (line 98) | def printIpuTensor(self, t, s): method callCpuOp (line 103) | def callCpuOp(self, t, s, n): method transpose (line 108) | def transpose(self, t): method randomNormal (line 113) | def randomNormal(self, x, shape, high, low, scalar_type=None): method randomUniform (line 122) | def randomUniform(self, x, shape, high, low, scalar_type=None): method recomputationCheckpoint (line 131) | def recomputationCheckpoint(self, x): method reflectionPad (line 136) | def reflectionPad(self, t, l): method setAvailableMemory (line 141) | def setAvailableMemory(self, x, y): method setMatMulSerialization (line 146) | def setMatMulSerialization(self, x, s, a, b): method startForLoop (line 151) | def startForLoop(self, inputs): method endForLoop (line 156) | def endForLoop(self, output, inputs, trip_count): method startIfBlock (line 162) | def startIfBlock(self, condition): method startElseBlock (line 166) | def startElseBlock(self, outputs_then): method endIfBlock (line 170) | def endIfBlock(self, outputs_else, condition): method passThrough (line 176) | def passThrough(self): FILE: scripts/popgen/registry.py function add_handler (line 23) | def add_handler(aten, value, arity): function add_implicit_handlers (line 35) | def add_implicit_handlers(global_symbols): function clear (line 51) | def clear(clear_complex_ops=False): function expand (line 64) | def expand(aten, fn): FILE: scripts/popgen/transform.py function generate_complex_ops (line 14) | def generate_complex_ops(value): function generate_typed_constants (line 72) | def generate_typed_constants(value, type_like=None): function value_numbering (line 104) | def value_numbering(value): function validate_forwarding (line 125) | def validate_forwarding(source): FILE: scripts/popgen/values.py class AlphaValue (line 15) | class AlphaValue(Value): method __init__ (line 16) | def __init__(self, args): method emit (line 21) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): class CastInPlace (line 43) | class CastInPlace(Value): method __init__ (line 44) | def __init__(self, op, args, to_type): method emit (line 48) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): class TensorType (line 76) | class TensorType(NonTensorValue): method __init__ (line 77) | def __init__(self, t): method emit (line 81) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): class Helper (line 104) | class Helper(Value): method __init__ (line 105) | def __init__(self, method emit (line 118) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): class InputValue (line 144) | class InputValue(Value): method __init__ (line 145) | def __init__(self, name, num): method emit (line 150) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method vn (line 164) | def vn(self): method same (line 167) | def same(self, other): method render (line 170) | def render(self): class OutputValue (line 180) | class OutputValue(Value): method __init__ (line 181) | def __init__(self, index): method emit (line 185) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method render (line 199) | def render(self): class NonTensorConstant (line 210) | class NonTensorConstant(NonTensorValue): method __init__ (line 211) | def __init__(self, op, val, method): method emit (line 222) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method vn (line 237) | def vn(self): method render (line 242) | def render(self): method same (line 247) | def same(self, other): class NonTensorHelper (line 263) | class NonTensorHelper(NonTensorValue): method __init__ (line 264) | def __init__(self, op, args, method, expects_node=False, method emit (line 271) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): class EmptyInitializer (line 279) | class EmptyInitializer(NonTensorValue): method __init__ (line 280) | def __init__(self): method emit (line 283) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method vn (line 287) | def vn(self): method render (line 290) | def render(self): class OriginalNode (line 294) | class OriginalNode(Value): method __init__ (line 295) | def __init__(self): method emit (line 299) | def emit(self, values, val_id, tabs, f=sys.stdout, root=False): method vn (line 312) | def vn(self): method same (line 315) | def same(self, other): method render (line 318) | def render(self): FILE: scripts/utils/_utils.py function get_nprocs (line 15) | def get_nprocs(): function set_logger (line 21) | def set_logger(new_logger): function rmdir_if_exists (line 26) | def rmdir_if_exists(directory): function rm_if_exists (line 31) | def rm_if_exists(filename): function get_first_line (line 36) | def get_first_line(filename): function sources_dir (line 40) | def sources_dir(): class OsType (line 46) | class OsType(enum.Enum): function get_required_torch_version (line 52) | def get_required_torch_version(): class PkgInfo (line 60) | class PkgInfo: method __init__ (line 63) | def __init__(self, method pdf_filename (line 94) | def pdf_filename(self, poptorch_geometric=False): method html_filename (line 99) | def html_filename(self, poptorch_geometric=False): method prodinfo_filename (line 104) | def prodinfo_filename(self): method save_to_file (line 107) | def save_to_file(self): method load_from_file (line 112) | def load_from_file(must_exist=False, path="."): function _get_version (line 125) | def _get_version(): function _get_view_hash (line 130) | def _get_view_hash(): function _get_poptorch_hash (line 144) | def _get_poptorch_hash(): function _get_snapshot (line 158) | def _get_snapshot(): function _get_package_os_type (line 175) | def _get_package_os_type(): function get_arch_type (line 195) | def get_arch_type(): function get_os_type (line 201) | def get_os_type(): function _make_output_non_blocking (line 211) | def _make_output_non_blocking(output): class _LinesProcessor (line 218) | class _LinesProcessor: method __init__ (line 219) | def __init__(self, printer_fn): method _is_full_line (line 223) | def _is_full_line(self, line): method process (line 226) | def process(self, lines, flush=False): class Process (line 245) | class Process: method __init__ (line 246) | def __init__( method _read (line 278) | def _read(self): method eof (line 291) | def eof(self): method is_running (line 294) | def is_running(self): method wait (line 304) | def wait(self): method write (line 309) | def write(self, s): method returncode (line 312) | def returncode(self): function run_commands (line 316) | def run_commands(*commands, FILE: setup.py class BinaryDistribution (line 27) | class BinaryDistribution(Distribution): method has_ext_modules (line 30) | def has_ext_modules(self): function get_torch_paths (line 34) | def get_torch_paths(): FILE: tests/activations_test.py class SoftplusWithParams (line 23) | class SoftplusWithParams(nn.Softplus): method __init__ (line 24) | def __init__(self): function test_activations (line 37) | def test_activations(op): function test_gelu (line 65) | def test_gelu(approximate): function test_prelu (line 94) | def test_prelu(input): function test_glu (line 113) | def test_glu(dim): function test_activation_numerics (line 135) | def test_activation_numerics(op): function test_rrelu_training (line 158) | def test_rrelu_training(): function test_rrelu_inference (line 188) | def test_rrelu_inference(): FILE: tests/attach_detach_test.py function test_attach_detach (line 15) | def test_attach_detach(): function test_attach_detach_accuracy (line 89) | def test_attach_detach_accuracy(): function test_on_demand_attach (line 148) | def test_on_demand_attach(capfd): function test_attach_detach_tied_weights (line 190) | def test_attach_detach_tied_weights(): FILE: tests/attach_detach_wait_for_ipu_test.py function inference_process (line 15) | def inference_process(event): function test_attach_detach_wait_for_ipu (line 40) | def test_attach_detach_wait_for_ipu(capfd): FILE: tests/batching_test.py function test_inferenceBatching (line 10) | def test_inferenceBatching(): function test_trainingBatching (line 32) | def test_trainingBatching(): function test_inferenceOutputModes (line 79) | def test_inferenceOutputModes(mode): function test_trainingOutputModes (line 129) | def test_trainingOutputModes(mode): function run_gradient_accumulation_test (line 210) | def run_gradient_accumulation_test(input, target, gradient_accumulations, function test_gradient_accumulation_training (line 248) | def test_gradient_accumulation_training(): class FourBlockModel (line 275) | class FourBlockModel(torch.nn.Module): method __init__ (line 276) | def __init__(self): method forward (line 283) | def forward(self, x): class FourBlockModelNoScope (line 296) | class FourBlockModelNoScope(torch.nn.Module): method __init__ (line 297) | def __init__(self): method forward (line 304) | def forward(self, x): function test_gradient_accumulation_pipelined_training (line 319) | def test_gradient_accumulation_pipelined_training(num_grad_accums, function test_gradient_accumulation_inference (line 355) | def test_gradient_accumulation_inference(pipelined, Model): function test_device_iterations_inference (line 385) | def test_device_iterations_inference(pipelined, device_iterations, Model): FILE: tests/bert_small_and_medium_test.py function test_bert_small (line 10) | def test_bert_small(): function test_bert_small_half (line 35) | def test_bert_small_half(): function test_bert_medium_result (line 56) | def test_bert_medium_result(): FILE: tests/blas_test.py function blas_op (line 10) | def blas_op(op, input1, input2, out, atol=1e-04, rtol=1e-04): function test_matmul (line 53) | def test_matmul(out, shapes): function test_serializedMatMul (line 74) | def test_serializedMatMul(mode, factor, keep_precision): function test_bmm (line 106) | def test_bmm(optional_out): function test_matmul_training (line 115) | def test_matmul_training(bias): function test_addmm (line 167) | def test_addmm(params): function test_baddbmm (line 201) | def test_baddbmm(params): function test_addmv (line 230) | def test_addmv(input_shape, beta, alpha, use_out): FILE: tests/bool_support_test.py function test_reduce_two_bool_types (line 21) | def test_reduce_two_bool_types(op, t_1, t_2): function test_logits (line 38) | def test_logits(): FILE: tests/buffers_test.py class ConstantBuffer (line 10) | class ConstantBuffer(torch.nn.Module): method __init__ (line 11) | def __init__(self): method forward (line 16) | def forward(self, x): function test_constant_buffer (line 21) | def test_constant_buffer(): function test_constant_buffer_repeat (line 28) | def test_constant_buffer_repeat(): class UpdatableBuffer (line 36) | class UpdatableBuffer(torch.nn.Module): method __init__ (line 37) | def __init__(self): method forward (line 42) | def forward(self, x): function test_copy_named_buffer_to_device_single_buffer (line 46) | def test_copy_named_buffer_to_device_single_buffer(): function test_copy_named_buffer_to_device_two_buffers (line 66) | def test_copy_named_buffer_to_device_two_buffers(): function test_copy_named_buffer_to_device_no_opt (line 86) | def test_copy_named_buffer_to_device_no_opt(): function test_copy_named_buffer_to_device_invalid_opt (line 102) | def test_copy_named_buffer_to_device_invalid_opt(): function test_training_then_inference (line 114) | def test_training_then_inference(): function test_buffer_implicit_copy (line 141) | def test_buffer_implicit_copy(): function test_error_on_remove_buffer (line 170) | def test_error_on_remove_buffer(): function test_error_on_redefine_buffer (line 192) | def test_error_on_redefine_buffer(): class BufferUpdatingModel (line 216) | class BufferUpdatingModel(torch.nn.Module): method __init__ (line 217) | def __init__(self): method forward (line 225) | def forward(self, inp, target): function test_buffer_update_with_param (line 237) | def test_buffer_update_with_param(device_iterations, gradient_accumulati... function test_failing_on_replicas (line 297) | def test_failing_on_replicas(): function test_constant_buffer_with_replicas (line 321) | def test_constant_buffer_with_replicas(): function test_no_input_but_one_buffer (line 332) | def test_no_input_but_one_buffer(): function test_unsynchronised_replicated_buffers (line 352) | def test_unsynchronised_replicated_buffers(): FILE: tests/conftest.py function cleanup (line 16) | def cleanup(): function pytest_make_parametrize_id (line 27) | def pytest_make_parametrize_id(val, argname): function pytest_configure (line 39) | def pytest_configure(config): function pytest_runtest_setup (line 55) | def pytest_runtest_setup(item): function pytest_collection_modifyitems (line 70) | def pytest_collection_modifyitems(session, config, items): # pylint: di... function pytest_sessionfinish (line 105) | def pytest_sessionfinish(session, exitstatus): function pytest_addoption (line 114) | def pytest_addoption(parser): function random_seed (line 147) | def random_seed(pytestconfig): FILE: tests/convs_test.py function execute_and_check_wrapper (line 35) | def execute_and_check_wrapper(op, input, training=True, rtol=0.01, atol=... function test_conv1D (line 95) | def test_conv1D(op, padding_mode, training): function test_conv2D (line 126) | def test_conv2D(op, padding_mode, training): function test_conv3D (line 167) | def test_conv3D(op, padding_mode, training): function merge_dicts (line 215) | def merge_dicts(x, y): function test_available_memory (line 227) | def test_available_memory(capfd): function test_matmul_serialization (line 268) | def test_matmul_serialization(mode): function test_available_memory_automatic (line 305) | def test_available_memory_automatic(): function test_cumsum (line 355) | def test_cumsum(dim, training): function test_cumprod (line 365) | def test_cumprod(dim, training): function test_cumsum_changing_types (line 375) | def test_cumsum_changing_types(src_dtype, dest_dtype, dim): function test_cumsum_changing_types_out (line 394) | def test_cumsum_changing_types_out(src_dtype, dest_dtype, dim): function test_cumsum_can_pass_on (line 414) | def test_cumsum_can_pass_on(src_dtype, dest_dtype, dim): FILE: tests/cpp/GNNOptimizationsTest.cpp function occurrences (line 16) | int occurrences(const std::string &graph, const std::string &phrase) { function parseGraphToStr (line 26) | std::string parseGraphToStr(torch::jit::Graph *graph) { function checkIsReturnUpdated (line 34) | void checkIsReturnUpdated(torch::jit::Graph *graph) { function BOOST_AUTO_TEST_CASE (line 43) | BOOST_AUTO_TEST_CASE(GroupScatterReduceAndGatherNodes0) { function BOOST_AUTO_TEST_CASE (line 86) | BOOST_AUTO_TEST_CASE(GroupScatterReduceAndGatherNodes1) { FILE: tests/cpu_op_test.py function test_simple_CPU (line 9) | def test_simple_CPU(): function test_simple_CPU_multiple_outputs (line 41) | def test_simple_CPU_multiple_outputs(): function test_CPU_reduce (line 76) | def test_CPU_reduce(): function test_CPU_matmul (line 102) | def test_CPU_matmul(): function test_CPU_multiple_calls (line 127) | def test_CPU_multiple_calls(): function test_CPU_multiple_calls_multiple_classes (line 154) | def test_CPU_multiple_calls_multiple_classes(): function test_poptorch_op_in_cpu_op (line 196) | def test_poptorch_op_in_cpu_op(): FILE: tests/ctc_decoder_test.py class SimpleModel (line 8) | class SimpleModel(torch.nn.Module): method forward (line 9) | def forward(self, log_probs, lengths): function test_ctc_decoder (line 13) | def test_ctc_decoder(): FILE: tests/custom_loss_test.py function test_non_final_loss_reductions (line 13) | def test_non_final_loss_reductions(reduction): function run_custom_loss_test (line 66) | def run_custom_loss_test(loss_fn, function test_custom_loss (line 129) | def test_custom_loss(): function test_custom_loss_l1 (line 144) | def test_custom_loss_l1(): function test_custom_loss_nll (line 159) | def test_custom_loss_nll(): function test_two_custom_losses (line 191) | def test_two_custom_losses(): function test_two_custom_losses_with_id_wrapper (line 211) | def test_two_custom_losses_with_id_wrapper(): function test_no_loss (line 229) | def test_no_loss(): FILE: tests/custom_ops/custom_add_scalar_op.cpp type custom_operators (line 17) | namespace custom_operators { class AddScalarFloatOp (line 22) | class AddScalarFloatOp method AddScalarFloatOp (line 27) | AddScalarFloatOp(const popart::OperatorIdentifier &_opid, float scalar, method setup (line 31) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 33) | std::unique_ptr clone() const final { method getScalar (line 37) | float getScalar() { return _scalar; } method getSubgraphValue (line 40) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarFloatOpx (line 23) | class AddScalarFloatOpx method AddScalarFloatOpx (line 59) | AddScalarFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 65) | void grow(poplar::program::Sequence &prog) const override { class AddScalarFloatOp (line 25) | class AddScalarFloatOp : public popart::Op { method AddScalarFloatOp (line 27) | AddScalarFloatOp(const popart::OperatorIdentifier &_opid, float scalar, method setup (line 31) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 33) | std::unique_ptr clone() const final { method getScalar (line 37) | float getScalar() { return _scalar; } method getSubgraphValue (line 40) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarFloatOpx (line 57) | class AddScalarFloatOpx : public popart::popx::Opx { method AddScalarFloatOpx (line 59) | AddScalarFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 65) | void grow(poplar::program::Sequence &prog) const override { type custom_operators (line 83) | namespace custom_operators { class AddScalarIntOp (line 88) | class AddScalarIntOp method AddScalarIntOp (line 93) | AddScalarIntOp(const popart::OperatorIdentifier &_opid, std::int64_t s... method setup (line 97) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 99) | std::unique_ptr clone() const final { method getScalar (line 103) | std::int64_t getScalar() { return _scalar; } method getSubgraphValue (line 106) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarIntOpx (line 89) | class AddScalarIntOpx method AddScalarIntOpx (line 125) | AddScalarIntOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 131) | void grow(poplar::program::Sequence &prog) const override { class AddScalarIntOp (line 91) | class AddScalarIntOp : public popart::Op { method AddScalarIntOp (line 93) | AddScalarIntOp(const popart::OperatorIdentifier &_opid, std::int64_t s... method setup (line 97) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 99) | std::unique_ptr clone() const final { method getScalar (line 103) | std::int64_t getScalar() { return _scalar; } method getSubgraphValue (line 106) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarIntOpx (line 123) | class AddScalarIntOpx : public popart::popx::Opx { method AddScalarIntOpx (line 125) | AddScalarIntOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 131) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops/custom_add_scalar_vec_op.cpp type custom_operators (line 19) | namespace custom_operators { class AddScalarVecFloatOp (line 24) | class AddScalarVecFloatOp method AddScalarVecFloatOp (line 29) | AddScalarVecFloatOp(const popart::OperatorIdentifier &_opid, method setup (line 34) | void setup() override { method clone (line 44) | std::unique_ptr clone() const final { method getSubgraphValue (line 51) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarVecFloatOpx (line 25) | class AddScalarVecFloatOpx method AddScalarVecFloatOpx (line 70) | AddScalarVecFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 76) | void grow(poplar::program::Sequence &prog) const override { class AddScalarVecFloatOp (line 27) | class AddScalarVecFloatOp : public popart::Op { method AddScalarVecFloatOp (line 29) | AddScalarVecFloatOp(const popart::OperatorIdentifier &_opid, method setup (line 34) | void setup() override { method clone (line 44) | std::unique_ptr clone() const final { method getSubgraphValue (line 51) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarVecFloatOpx (line 68) | class AddScalarVecFloatOpx : public popart::popx::Opx { method AddScalarVecFloatOpx (line 70) | AddScalarVecFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 76) | void grow(poplar::program::Sequence &prog) const override { type custom_operators (line 95) | namespace custom_operators { class AddScalarVecIntOp (line 100) | class AddScalarVecIntOp method AddScalarVecIntOp (line 105) | AddScalarVecIntOp(const popart::OperatorIdentifier &_opid, method setup (line 110) | void setup() override { method clone (line 120) | std::unique_ptr clone() const final { method getSubgraphValue (line 127) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarVecIntOpx (line 101) | class AddScalarVecIntOpx method AddScalarVecIntOpx (line 146) | AddScalarVecIntOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 152) | void grow(poplar::program::Sequence &prog) const override { class AddScalarVecIntOp (line 103) | class AddScalarVecIntOp : public popart::Op { method AddScalarVecIntOp (line 105) | AddScalarVecIntOp(const popart::OperatorIdentifier &_opid, method setup (line 110) | void setup() override { method clone (line 120) | std::unique_ptr clone() const final { method getSubgraphValue (line 127) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddScalarVecIntOpx (line 144) | class AddScalarVecIntOpx : public popart::popx::Opx { method AddScalarVecIntOpx (line 146) | AddScalarVecIntOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 152) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops/custom_add_vec_scalar_mul_op.cpp type custom_operators (line 17) | namespace custom_operators { class AddVecScalarMulFloatOp (line 22) | class AddVecScalarMulFloatOp method AddVecScalarMulFloatOp (line 28) | AddVecScalarMulFloatOp(const popart::OperatorIdentifier &_opid, float ... method setup (line 33) | void setup() override { method clone (line 43) | std::unique_ptr clone() const final { method getScalar (line 47) | float getScalar() { return _scalar; } method getSubgraphValue (line 52) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddVecScalarMulFloatOpx (line 23) | class AddVecScalarMulFloatOpx method AddVecScalarMulFloatOpx (line 75) | AddVecScalarMulFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 83) | void grow(poplar::program::Sequence &prog) const override { class AddVecScalarMulFloatOp (line 26) | class AddVecScalarMulFloatOp : public popart::Op { method AddVecScalarMulFloatOp (line 28) | AddVecScalarMulFloatOp(const popart::OperatorIdentifier &_opid, float ... method setup (line 33) | void setup() override { method clone (line 43) | std::unique_ptr clone() const final { method getScalar (line 47) | float getScalar() { return _scalar; } method getSubgraphValue (line 52) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class AddVecScalarMulFloatOpx (line 73) | class AddVecScalarMulFloatOpx : public popart::popx::Opx { method AddVecScalarMulFloatOpx (line 75) | AddVecScalarMulFloatOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 83) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops/custom_cube_op.cpp function make_unique (line 39) | std::unique_ptr make_unique(Args &&...args) { type CustomOperators (line 48) | namespace CustomOperators { type CustomGradOperators (line 52) | namespace CustomGradOperators { class CubeOp (line 72) | class CubeOp method CubeOp (line 81) | CubeOp(const popart::OperatorIdentifier &_opid, method setup (line 86) | void setup() override { method clone (line 91) | std::unique_ptr clone() const final { return make_unique(*... method getGradOps (line 92) | std::vector> getGradOps() override { method getSubgraphValue (line 99) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class CubeGradOp (line 73) | class CubeGradOp method CubeGradOp (line 139) | explicit CubeGradOp(const popart::Op &fwdOp) method clone (line 142) | std::unique_ptr clone() const final { method setup (line 147) | void setup() override { outInfo(0) = inInfo(0); } method getSubgraphValue (line 187) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class CubeOpx (line 74) | class CubeOpx method CubeOpx (line 109) | CubeOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 115) | void grow(poplar::program::Sequence &prog) const override { class CubeGradOpx (line 75) | class CubeGradOpx method CubeGradOpx (line 192) | CubeGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 199) | void grow(poplar::program::Sequence &prog) const final { class CubeOp (line 79) | class CubeOp : public popart::Op { method CubeOp (line 81) | CubeOp(const popart::OperatorIdentifier &_opid, method setup (line 86) | void setup() override { method clone (line 91) | std::unique_ptr clone() const final { return make_unique(*... method getGradOps (line 92) | std::vector> getGradOps() override { method getSubgraphValue (line 99) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class CubeOpx (line 107) | class CubeOpx : public popart::popx::Opx { method CubeOpx (line 109) | CubeOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 115) | void grow(poplar::program::Sequence &prog) const override { class CubeGradOp (line 137) | class CubeGradOp : public popart::Op { method CubeGradOp (line 139) | explicit CubeGradOp(const popart::Op &fwdOp) method clone (line 142) | std::unique_ptr clone() const final { method setup (line 147) | void setup() override { outInfo(0) = inInfo(0); } method getSubgraphValue (line 187) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class CubeGradOpx (line 190) | class CubeGradOpx : public popart::popx::Opx { method CubeGradOpx (line 192) | CubeGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 199) | void grow(poplar::program::Sequence &prog) const final { FILE: tests/custom_ops/custom_leaky_relu_op.cpp function makeUnique (line 21) | std::unique_ptr makeUnique(Args &&...args) { type custom_operators (line 30) | namespace custom_operators { type custom_grad_operators (line 35) | namespace custom_grad_operators { class LeakyReluGradOp (line 43) | class LeakyReluGradOp method LeakyReluGradOp (line 135) | explicit LeakyReluGradOp(const LeakyReluOp &fwdOp) method clone (line 139) | std::unique_ptr clone() const final { method setup (line 142) | void setup() final { outInfo(0) = inInfo(0); } method requiresRandomSeed (line 157) | bool requiresRandomSeed() const override { return false; } method getSubgraphValue (line 160) | float getSubgraphValue() const final { return getHighSubgraphValue(); } method getAlpha (line 162) | float getAlpha() const { return _alpha; } method appendAttributes (line 165) | void appendAttributes(popart::OpSerialiserBase &os) const override { method appendOutlineAttributes (line 171) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const overr... class LeakyReluOp (line 45) | class LeakyReluOp : public popart::Op { method LeakyReluOp (line 47) | LeakyReluOp(const popart::OperatorIdentifier &_opid, float alpha_, method clone (line 51) | std::unique_ptr clone() const final { method setup (line 55) | void setup() final { outInfo(0) = inInfo(0); } method appendAttributes (line 57) | void appendAttributes(popart::OpSerialiserBase &os) const override { method appendOutlineAttributes (line 62) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const overr... method getGradOps (line 67) | std::vector> getGradOps() override { method getSubgraphValue (line 73) | float getSubgraphValue() const final { return getHighSubgraphValue(); } method requiresRandomSeed (line 75) | bool requiresRandomSeed() const override { return false; } method getAlpha (line 78) | float getAlpha() const { return _alpha; } class LeakyReluOpx (line 103) | class LeakyReluOpx : public popart::popx::Opx { method LeakyReluOpx (line 105) | LeakyReluOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 110) | void grow(poplar::program::Sequence &prog) const final { class LeakyReluGradOp (line 133) | class LeakyReluGradOp : public popart::Op { method LeakyReluGradOp (line 135) | explicit LeakyReluGradOp(const LeakyReluOp &fwdOp) method clone (line 139) | std::unique_ptr clone() const final { method setup (line 142) | void setup() final { outInfo(0) = inInfo(0); } method requiresRandomSeed (line 157) | bool requiresRandomSeed() const override { return false; } method getSubgraphValue (line 160) | float getSubgraphValue() const final { return getHighSubgraphValue(); } method getAlpha (line 162) | float getAlpha() const { return _alpha; } method appendAttributes (line 165) | void appendAttributes(popart::OpSerialiserBase &os) const override { method appendOutlineAttributes (line 171) | void appendOutlineAttributes(popart::OpSerialiserBase &os) const overr... class LeakyReluGradOpx (line 180) | class LeakyReluGradOpx : public popart::popx::Opx { method LeakyReluGradOpx (line 182) | LeakyReluGradOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 187) | void grow(poplar::program::Sequence &prog) const final { FILE: tests/custom_ops/custom_many_attribute_op.cpp type custom_operators (line 16) | namespace custom_operators { class ManyAttributeOp (line 21) | class ManyAttributeOp method ManyAttributeOp (line 28) | ManyAttributeOp(const popart::OperatorIdentifier &_opid, bool all_passed, method setup (line 32) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 34) | std::unique_ptr clone() const final { method allPassed (line 38) | bool allPassed() { return _all_passed; } method getSubgraphValue (line 41) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ManyAttributeOpx (line 22) | class ManyAttributeOpx method ManyAttributeOpx (line 84) | ManyAttributeOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 90) | void grow(poplar::program::Sequence &prog) const override { class ManyAttributeOp (line 26) | class ManyAttributeOp : public popart::Op { method ManyAttributeOp (line 28) | ManyAttributeOp(const popart::OperatorIdentifier &_opid, bool all_passed, method setup (line 32) | void setup() override { outInfo(0) = inInfo(0); } method clone (line 34) | std::unique_ptr clone() const final { method allPassed (line 38) | bool allPassed() { return _all_passed; } method getSubgraphValue (line 41) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ManyAttributeOpx (line 82) | class ManyAttributeOpx : public popart::popx::Opx { method ManyAttributeOpx (line 84) | ManyAttributeOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 90) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops/custom_reduce_op.cpp type custom_operators (line 17) | namespace custom_operators { class ReduceOp (line 22) | class ReduceOp method ReduceOp (line 27) | ReduceOp(const popart::OperatorIdentifier &_opid, std::string reduction, method setup (line 31) | void setup() override { method clone (line 37) | std::unique_ptr clone() const final { method getReduction (line 41) | std::string getReduction() { return _reduction; } method getSubgraphValue (line 44) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ReduceOpx (line 23) | class ReduceOpx method ReduceOpx (line 63) | ReduceOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 76) | void grow(poplar::program::Sequence &prog) const override { class ReduceOp (line 25) | class ReduceOp : public popart::Op { method ReduceOp (line 27) | ReduceOp(const popart::OperatorIdentifier &_opid, std::string reduction, method setup (line 31) | void setup() override { method clone (line 37) | std::unique_ptr clone() const final { method getReduction (line 41) | std::string getReduction() { return _reduction; } method getSubgraphValue (line 44) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ReduceOpx (line 61) | class ReduceOpx : public popart::popx::Opx { method ReduceOpx (line 63) | ReduceOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 76) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops/custom_three_input_reduce_op.cpp type custom_operators (line 16) | namespace custom_operators { class ThreeReduceOp (line 21) | class ThreeReduceOp method ThreeReduceOp (line 26) | ThreeReduceOp(const popart::OperatorIdentifier &_opid, method setup (line 31) | void setup() override { method clone (line 40) | std::unique_ptr clone() const final { method getSubgraphValue (line 47) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ThreeReduceOpx (line 22) | class ThreeReduceOpx method ThreeReduceOpx (line 67) | ThreeReduceOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 86) | void grow(poplar::program::Sequence &prog) const override { class ThreeReduceOp (line 24) | class ThreeReduceOp : public popart::Op { method ThreeReduceOp (line 26) | ThreeReduceOp(const popart::OperatorIdentifier &_opid, method setup (line 31) | void setup() override { method clone (line 40) | std::unique_ptr clone() const final { method getSubgraphValue (line 47) | float getSubgraphValue() const final { return getLowSubgraphValue(); } class ThreeReduceOpx (line 65) | class ThreeReduceOpx : public popart::popx::Opx { method ThreeReduceOpx (line 67) | ThreeReduceOpx(popart::Op *op, popart::popx::Devicex *devicex) method grow (line 86) | void grow(poplar::program::Sequence &prog) const override { FILE: tests/custom_ops_attributes_test.py function test_float_attribute (line 21) | def test_float_attribute(): function test_float_attribute_too_low (line 43) | def test_float_attribute_too_low(): function test_float_attribute_too_high (line 65) | def test_float_attribute_too_high(): function test_int_attribute (line 87) | def test_int_attribute(): function test_float_list_attribute (line 109) | def test_float_list_attribute(): function test_float_list_attribute_too_low (line 131) | def test_float_list_attribute_too_low(): function test_float_list_attribute_too_high (line 154) | def test_float_list_attribute_too_high(): function test_float_tuple_attribute (line 177) | def test_float_tuple_attribute(): function test_int_list_attribute (line 199) | def test_int_list_attribute(): function test_float_combined_attributes (line 222) | def test_float_combined_attributes(): function test_int_two_attributes (line 247) | def test_int_two_attributes(): function test_string_attribute (line 276) | def test_string_attribute(attr): function test_non_ascii_string_attribute (line 300) | def test_non_ascii_string_attribute(): function test_string_list_attribute (line 322) | def test_string_list_attribute(): function test_non_asciistring_list_attribute (line 348) | def test_non_asciistring_list_attribute(): function test_many_attributes (line 387) | def test_many_attributes(seed): function test_many_attributes_one_wrong (line 418) | def test_many_attributes_one_wrong(seed): function test_many_attributes_examples (line 450) | def test_many_attributes_examples(): FILE: tests/custom_ops_test.py function test_inference (line 24) | def test_inference(): function test_training (line 49) | def test_training(): function test_training_both_sides (line 95) | def test_training_both_sides(): function test_inference_with_an_attribute (line 145) | def test_inference_with_an_attribute(): FILE: tests/dataloader_test.py class BrokenDataset (line 20) | class BrokenDataset(torch.utils.data.Dataset): method __init__ (line 21) | def __init__(self, length): method __len__ (line 25) | def __len__(self): method __getitem__ (line 28) | def __getitem__(self, index): class IncrementDataset (line 32) | class IncrementDataset(torch.utils.data.Dataset): method __init__ (line 33) | def __init__(self, shape, length, dtype=torch.float32): method __len__ (line 39) | def __len__(self): method __getitem__ (line 42) | def __getitem__(self, index): class IncrementIterableDataset (line 48) | class IncrementIterableDataset(torch.utils.data.IterableDataset): method __init__ (line 49) | def __init__(self, shape, length, start=0, dtype=torch.float32): method __iter__ (line 56) | def __iter__(self): method __getitem__ (line 62) | def __getitem__(self, index): class IncrementIterableDatasetWithLen (line 66) | class IncrementIterableDatasetWithLen(IncrementIterableDataset): method __len__ (line 67) | def __len__(self): method __getitem__ (line 70) | def __getitem__(self, index): class IncrementDatasetWithLabels (line 74) | class IncrementDatasetWithLabels(torch.utils.data.Dataset): method __init__ (line 75) | def __init__(self, shape, length): method __len__ (line 80) | def __len__(self): method __getitem__ (line 83) | def __getitem__(self, index): class IncrementDatasetWithLabelsDict (line 88) | class IncrementDatasetWithLabelsDict(torch.utils.data.Dataset): method __init__ (line 89) | def __init__(self, shape, length): method __len__ (line 94) | def __len__(self): method __getitem__ (line 97) | def __getitem__(self, index): class CheckOrderModel (line 104) | class CheckOrderModel(torch.nn.Module): method forward (line 105) | def forward(self, data, expected): class DoubleData (line 110) | class DoubleData(torch.nn.Module): method forward (line 111) | def forward(self, data): class DoubleDataLabel (line 115) | class DoubleDataLabel(torch.nn.Module): method forward (line 116) | def forward(self, data, label): function _run_test (line 120) | def _run_test(shape=None, function test_simple (line 152) | def test_simple(): function test_batch (line 156) | def test_batch(): function test_workers (line 160) | def test_workers(): function test_device_iterations (line 164) | def test_device_iterations(): function test_replica (line 169) | def test_replica(): function test_combined (line 174) | def test_combined(): function _run_process_test (line 181) | def _run_process_test(shape=None, function test_multithreaded1 (line 218) | def test_multithreaded1(): function test_multithreaded2 (line 226) | def test_multithreaded2(): function test_multithreaded3 (line 235) | def test_multithreaded3(): function _run_process_label_test (line 243) | def _run_process_label_test(shape=None, function test_multithreaded4 (line 282) | def test_multithreaded4(): function _run_subdataset_test (line 290) | def _run_subdataset_test(num_tensors=100, function _run_shuffle_subdataset_test (line 329) | def _run_shuffle_subdataset_test(num_tensors=100, function test_subdataset (line 378) | def test_subdataset(): function test_subdataset2 (line 382) | def test_subdataset2(): function test_shuffle_subdataset (line 386) | def test_shuffle_subdataset(): function test_shuffle_subdataset2 (line 390) | def test_shuffle_subdataset2(): function test_global_shuffle_each_epoch (line 396) | def test_global_shuffle_each_epoch(num_processes, num_workers): function test_interrupt_async_loader (line 424) | def test_interrupt_async_loader(): function test_single_epoch (line 444) | def test_single_epoch(): function test_iterable_dataset (line 461) | def test_iterable_dataset(): function test_iterable_dataloader (line 476) | def test_iterable_dataloader(): function test_iterable_dataloader_reset (line 497) | def test_iterable_dataloader_reset(persistent_workers): function test_early_preload (line 525) | def test_early_preload(): function test_batch_size_None (line 559) | def test_batch_size_None(): function test_iterable_dataset_len (line 580) | def test_iterable_dataset_len(): function test_broken_dataset (line 606) | def test_broken_dataset(): function test_subprocess_async_loader (line 619) | def test_subprocess_async_loader(): function test_subprocess_broken_dataset (line 626) | def test_subprocess_broken_dataset(): function test_reuse_workers (line 640) | def test_reuse_workers(DatasetType, dtype): function _worker_init_fn (line 695) | def _worker_init_fn(worker_id): function test_iterable_dataloader_drop_last (line 714) | def test_iterable_dataloader_drop_last(mode, dtype): function test_indexable_dataloader_drop_last (line 775) | def test_indexable_dataloader_drop_last(mode, dtype): function test_indexable_dataloader_len (line 825) | def test_indexable_dataloader_len(mode, dtype): function test_dictionary_dataset (line 869) | def test_dictionary_dataset(mode): function test_iterable_dataloader_len (line 902) | def test_iterable_dataloader_len(mode, dtype): function test_leftover (line 959) | def test_leftover(mode, DatasetType, dtype): function test_rebatched_worker_size (line 1031) | def test_rebatched_worker_size(DatasetType, dtype, drop_last, function process_to_kill_asyncdataloader (line 1084) | def process_to_kill_asyncdataloader(iterate_over_data: bool): function test_KeyboardInterrupt_in_async_data_accessor (line 1130) | def test_KeyboardInterrupt_in_async_data_accessor(iterate_over_data: bool): class DynamicBatchSampler (line 1205) | class DynamicBatchSampler(torch.utils.data.Sampler): method __init__ (line 1206) | def __init__(self, sampler, batch_size): method __iter__ (line 1211) | def __iter__(self): method __len__ (line 1233) | def __len__(self): class DynamicRandomBatchSampler (line 1257) | class DynamicRandomBatchSampler(torch.utils.data.Sampler): method __init__ (line 1258) | def __init__(self, sampler, batch_size): method __iter__ (line 1263) | def __iter__(self): class CustomBatch (line 1275) | class CustomBatch: method __init__ (line 1276) | def __init__(self, data, label): class CustomBatchParser (line 1281) | class CustomBatchParser(poptorch.ICustomArgParser): method yieldTensors (line 1282) | def yieldTensors(self, struct): method reconstruct (line 1286) | def reconstruct(self, original_structure, tensor_iterator): class DynamicPadCollateFunction (line 1293) | class DynamicPadCollateFunction(): method __init__ (line 1294) | def __init__(self, batch_size, return_type=None): method __call__ (line 1298) | def __call__(self, collate_data_list): function test_batch_sampler_basic (line 1321) | def test_batch_sampler_basic(batch_size, device_iteration, drop_last, function get_item (line 1374) | def get_item(batch, item, return_type): function test_custom_batch_sampler (line 1395) | def test_custom_batch_sampler(batch_size, device_iteration, num_workers, function test_default_batch_sampler (line 1451) | def test_default_batch_sampler(batch_size, drop_last): function test_custom_batch_sampler_non_deterministic_len (line 1510) | def test_custom_batch_sampler_non_deterministic_len(device_iteration, FILE: tests/debug_tensors_test.py class Model (line 13) | class Model(torch.nn.Module): method __init__ (line 14) | def __init__(self): method forward (line 21) | def forward(self, x, labels=None): function test_tensor_names (line 28) | def test_tensor_names(): function test_tensor_names_from_precompiled_model (line 51) | def test_tensor_names_from_precompiled_model(): function test_tensor_values (line 81) | def test_tensor_values(): function test_tensor_modes (line 120) | def test_tensor_modes(capfd, mode, period, expected_str): FILE: tests/distance_ops_test.py function test_pairwise_distance (line 11) | def test_pairwise_distance(norm): function test_cosine_similarity (line 36) | def test_cosine_similarity(dim): function test_cdist (line 65) | def test_cdist(input_shapes, p): FILE: tests/exception_test.py function harness (line 9) | def harness(setting, Model, args): function test_div0 (line 27) | def test_div0(setting): function test_mul0inf (line 39) | def test_mul0inf(setting): function test_nonreal (line 51) | def test_nonreal(setting): function test_nan (line 62) | def test_nan(setting): function test_ovf (line 74) | def test_ovf(setting): FILE: tests/fine_tuning_test.py function fine_tuning_harness (line 12) | def fine_tuning_harness(imagenet_model): function test_resnet18 (line 66) | def test_resnet18(): FILE: tests/functional_test.py function test_one_hot (line 10) | def test_one_hot(): function test_one_hot_invalid (line 28) | def test_one_hot_invalid(): function test_one_hot_casted (line 43) | def test_one_hot_casted(): function test_linear (line 64) | def test_linear(in_features, out_features): FILE: tests/generate_test_file.py function add_pytest (line 141) | def add_pytest(output, test, root_folder, folder, test_id, test_properties, function add_cpp_test (line 155) | def add_cpp_test(output, test, root_folder, folder, test_properties): FILE: tests/gnn/benchgnn/benchgnn.py function run_benchmark (line 38) | def run_benchmark(args, configs): function add_main_arguments (line 115) | def add_main_arguments(parser): function get_args (line 220) | def get_args(): function print_cfg_and_results (line 259) | def print_cfg_and_results(args, loaded_args, loaded_results): function get_tst_configs (line 266) | def get_tst_configs(args): function save_cfg_and_results (line 285) | def save_cfg_and_results(args, results): FILE: tests/gnn/benchgnn/datasets.py class DataSets (line 12) | class DataSets: method __init__ (line 13) | def __init__(self, root): method Cora (line 16) | def Cora(self): method CiteSeer (line 19) | def CiteSeer(self): method PubMed (line 22) | def PubMed(self): method mutag (line 25) | def mutag(self): method FakeDataset (line 28) | def FakeDataset(self): FILE: tests/gnn/benchgnn/models.py class GCN (line 11) | class GCN(torch.nn.Module): method __init__ (line 12) | def __init__(self, method forward (line 23) | def forward(self, *args): class GIN (line 39) | class GIN(torch.nn.Module): method __init__ (line 40) | def __init__(self, in_channels=0, loss_fn=None, disable_dropout=False): method forward (line 49) | def forward(self, *args): class GAT (line 65) | class GAT(torch.nn.Module): method __init__ (line 66) | def __init__(self, method forward (line 85) | def forward(self, *args): class RGCN (line 103) | class RGCN(torch.nn.Module): method __init__ (line 104) | def __init__(self, method forward (line 123) | def forward(self, *args): class PNA (line 137) | class PNA(torch.nn.Module): method __init__ (line 138) | def __init__(self, method forward (line 157) | def forward(self, *args): class SAGE (line 171) | class SAGE(torch.nn.Module): method __init__ (line 172) | def __init__(self, method forward (line 182) | def forward(self, *args): FILE: tests/gnn/benchgnn/utils.py function merge_results (line 8) | def merge_results(results, prev_results): function include_speedups_ratio (line 18) | def include_speedups_ratio(results): function print_results (line 32) | def print_results(results, format): FILE: tests/gnn/benchgnn_ops/benchgnn_ops.py function prepare_parser (line 14) | def prepare_parser() -> jsonargparse.ArgumentParser: function collect_measurements (line 74) | def collect_measurements(config_src: str, function run_benchmark (line 100) | def run_benchmark(testcases: List[Tuple[str, jsonargparse.namespace.Name... function set_defaults_from_yaml_config (line 118) | def set_defaults_from_yaml_config( function set_defaults_from_user_params (line 125) | def set_defaults_from_user_params(parser: jsonargparse.ArgumentParser, function set_defaults (line 138) | def set_defaults(parser: jsonargparse.ArgumentParser, function get_test_case_config_paths (line 148) | def get_test_case_config_paths(user_params: jsonargparse.namespace.Names... function parse_test_case_config_files (line 176) | def parse_test_case_config_files(test_case_config_paths: List[str] function get_test_case_configs (line 191) | def get_test_case_configs(parser: jsonargparse.ArgumentParser, FILE: tests/gnn/benchgnn_ops/builder.py class BenchModel (line 9) | class BenchModel(torch.nn.Module): method __init__ (line 10) | def __init__(self, operator: torch.nn.Module, num_repeats: int) -> None: method forward (line 15) | def forward(self) -> torch.Tensor: function _create_poptorch_options (line 20) | def _create_poptorch_options( class BenchModelBuilder (line 40) | class BenchModelBuilder(): method __init__ (line 41) | def __init__(self, method create_model (line 67) | def create_model(self, operator: torch.nn.Module): FILE: tests/gnn/benchgnn_ops/metrics.py function _get_clock_value (line 14) | def _get_clock_value() -> int: function _mean (line 28) | def _mean(col: pd.core.series.Series) -> Any: function to_data_frame (line 38) | def to_data_frame(measurements: List[Dict[str, Any]], class PerfMetrics (line 48) | class PerfMetrics: method __init__ (line 55) | def __init__(self, method get_measurement (line 72) | def get_measurement(self, cycles: int) -> Dict[str, Any]: FILE: tests/gnn/benchgnn_ops/ops.py class ScatterOp (line 7) | class ScatterOp(torch.nn.Module): method __init__ (line 8) | def __init__(self, dim: int, input_shape: torch.Size, method loop_inputs (line 29) | def loop_inputs(self) -> List[torch.Tensor]: method forward (line 32) | def forward( class ScatterReduceOp (line 42) | class ScatterReduceOp(torch.nn.Module): method __init__ (line 43) | def __init__(self, method loop_inputs (line 75) | def loop_inputs(self) -> List[torch.Tensor]: method forward (line 78) | def forward( class IndexReduceOp (line 89) | class IndexReduceOp(torch.nn.Module): method __init__ (line 90) | def __init__(self, method loop_inputs (line 122) | def loop_inputs(self) -> List[torch.Tensor]: method forward (line 125) | def forward( class IndexSelectOp (line 136) | class IndexSelectOp(torch.nn.Module): method __init__ (line 137) | def __init__(self, dim: int, input_shape: torch.Size, method loop_inputs (line 155) | def loop_inputs(self) -> List[torch.Tensor]: method forward (line 158) | def forward(self, input: torch.tensor, index: torch.tensor, _: torch.t... class GatherOp (line 163) | class GatherOp(torch.nn.Module): method __init__ (line 164) | def __init__(self, dim: int, input_shape: torch.Size, method loop_inputs (line 182) | def loop_inputs(self) -> List[torch.Tensor]: method forward (line 185) | def forward(self: torch.tensor, input: torch.tensor, index: torch.tensor, FILE: tests/gnn/conftest.py function pyg_qm9 (line 8) | def pyg_qm9(pytestconfig): function planetoid_cora (line 16) | def planetoid_cora(pytestconfig): function molecule (line 27) | def molecule(pyg_qm9): function fake_small_dataset (line 36) | def fake_small_dataset() -> pyg.datasets.FakeDataset: function fake_large_dataset (line 45) | def fake_large_dataset() -> pyg.datasets.FakeDataset: function fake_node_task_dataset (line 52) | def fake_node_task_dataset() -> pyg.datasets.FakeDataset: function fake_hetero_dataset (line 61) | def fake_hetero_dataset() -> pyg.datasets.FakeHeteroDataset: function fake_node_task_hetero_dataset (line 71) | def fake_node_task_hetero_dataset() -> pyg.datasets.FakeHeteroDataset: function fake_hetero_data (line 82) | def fake_hetero_data() -> pyg.datasets.FakeHeteroDataset: function fake_molecular_dataset (line 92) | def fake_molecular_dataset() -> pyg.datasets.FakeDataset: FILE: tests/gnn/nn/aggr/aggr_utils.py function aggr_harness (line 10) | def aggr_harness(aggr, FILE: tests/gnn/nn/aggr/conftest.py function dataloader (line 14) | def dataloader(): FILE: tests/gnn/nn/aggr/test_attention.py function test_attentional_aggregation (line 10) | def test_attentional_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_basic.py function test_basic_aggregation (line 29) | def test_basic_aggregation(dataloader, Aggregation): function test_gen_aggregation (line 45) | def test_gen_aggregation(dataloader, Aggregation, learn): function test_learnable_channels_aggregation (line 72) | def test_learnable_channels_aggregation(dataloader, Aggregation): FILE: tests/gnn/nn/aggr/test_deep_sets.py function test_deep_sets_aggregation (line 8) | def test_deep_sets_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_equilibrium.py function test_equilibrium (line 11) | def test_equilibrium(dataloader, grad_iter): FILE: tests/gnn/nn/aggr/test_fused.py function test_fused_aggregation (line 19) | def test_fused_aggregation(dataloader, aggrs): FILE: tests/gnn/nn/aggr/test_gmt.py function test_graph_multiset_transformer (line 10) | def test_graph_multiset_transformer(dataloader): FILE: tests/gnn/nn/aggr/test_gru.py function test_gru_aggregation (line 8) | def test_gru_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_lstm.py function test_lstm_aggregation (line 8) | def test_lstm_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_mlp_aggr.py function test_mlp_aggregation (line 8) | def test_mlp_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_multi.py function test_multi_aggr (line 14) | def test_multi_aggr(dataloader, mode): FILE: tests/gnn/nn/aggr/test_quantile.py function test_quantile_aggregation (line 12) | def test_quantile_aggregation(dataloader, q, interpolation): function test_median_aggregation (line 28) | def test_median_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_scaler.py function test_degree_scaler_aggregation (line 14) | def test_degree_scaler_aggregation(dataloader, scaler, train_norm): FILE: tests/gnn/nn/aggr/test_set2set.py function test_set2set (line 8) | def test_set2set(dataloader): FILE: tests/gnn/nn/aggr/test_set_transformer.py function test_set_transformer_aggregation (line 10) | def test_set_transformer_aggregation(dataloader): FILE: tests/gnn/nn/aggr/test_sort.py function test_sort_aggregation (line 9) | def test_sort_aggregation(dataloader): FILE: tests/gnn/nn/conftest.py function get_dataset (line 14) | def get_dataset(num_channels=16): function dataset (line 29) | def dataset(): function fake_dataset (line 34) | def fake_dataset(): function fixed_size_dataloader (line 46) | def fixed_size_dataloader(fake_dataset): function dataloader (line 56) | def dataloader(fake_dataset): FILE: tests/gnn/nn/conv/conv_utils.py function conv_harness (line 10) | def conv_harness(conv, function generate_edge_index (line 53) | def generate_edge_index(num_src_nodes, num_dst_nodes, num_edges): function random_heterodata (line 59) | def random_heterodata(in_channels=None): function hetero_conv_harness (line 76) | def hetero_conv_harness(conv, FILE: tests/gnn/nn/conv/test_agnn_conv.py function test_agnn_conv (line 8) | def test_agnn_conv(dataset): FILE: tests/gnn/nn/conv/test_antisymmetric_conv.py function test_antisymmetric_conv (line 8) | def test_antisymmetric_conv(dataset): FILE: tests/gnn/nn/conv/test_appnp.py function test_appnp (line 10) | def test_appnp(dataset): FILE: tests/gnn/nn/conv/test_arma_conv.py function test_arma_conv (line 8) | def test_arma_conv(dataset): FILE: tests/gnn/nn/conv/test_cg_conv.py function test_cg_conv (line 8) | def test_cg_conv(dataset, batch_norm): FILE: tests/gnn/nn/conv/test_cheb_conv.py function test_cheb_conv (line 13) | def test_cheb_conv(dataset): FILE: tests/gnn/nn/conv/test_cluster_gcn_conv.py function test_cluster_gcn_conv (line 6) | def test_cluster_gcn_conv(dataset): FILE: tests/gnn/nn/conv/test_dna_conv.py function test_dna_conv (line 22) | def test_dna_conv(conv_kwargs): FILE: tests/gnn/nn/conv/test_edge_conv.py function test_edge_conv (line 11) | def test_edge_conv(dataset): function test_dynamic_edge_conv (line 20) | def test_dynamic_edge_conv(dataset): FILE: tests/gnn/nn/conv/test_eg_conv.py function test_eg_conv (line 18) | def test_eg_conv(dataset, conv_kwargs): FILE: tests/gnn/nn/conv/test_fa_conv.py function test_fa_conv (line 8) | def test_fa_conv(dataset): FILE: tests/gnn/nn/conv/test_feast_conv.py function test_feast_conv (line 9) | def test_feast_conv(dataset): FILE: tests/gnn/nn/conv/test_film_conv.py function test_film_conv (line 10) | def test_film_conv(dataset, num_relations): FILE: tests/gnn/nn/conv/test_gat_conv.py function test_gat_conv (line 31) | def test_gat_conv(dataset, conv_kwargs): FILE: tests/gnn/nn/conv/test_gated_graph_conv.py function test_gated_graph_conv (line 8) | def test_gated_graph_conv(dataset): FILE: tests/gnn/nn/conv/test_gatv2_conv.py function test_gatv2_conv (line 31) | def test_gatv2_conv(dataset, conv_kwargs): FILE: tests/gnn/nn/conv/test_gcn2_conv.py function test_gcn2_conv (line 9) | def test_gcn2_conv(dataset): FILE: tests/gnn/nn/conv/test_gcn_conv.py function test_gcn_conv (line 11) | def test_gcn_conv(dataset, flow): FILE: tests/gnn/nn/conv/test_gen_conv.py function test_gen_conv (line 10) | def test_gen_conv(aggr, dataset): FILE: tests/gnn/nn/conv/test_general_conv.py function test_general_conv (line 31) | def test_general_conv(dataset, conv_kwargs): FILE: tests/gnn/nn/conv/test_gin_conv.py function test_gin_conv (line 12) | def test_gin_conv(dataset): function test_gine_conv (line 20) | def test_gine_conv(dataset): FILE: tests/gnn/nn/conv/test_gmm_conv.py function test_gmm_conv (line 10) | def test_gmm_conv(separate_gaussians, dataset): function test_gmm_conv_bipartite (line 24) | def test_gmm_conv_bipartite(separate_gaussians, dataset): FILE: tests/gnn/nn/conv/test_gps_conv.py function test_gps_conv (line 11) | def test_gps_conv(norm, dataset): function test_gps_conv_with_batch_index_tensor (line 24) | def test_gps_conv_with_batch_index_tensor(norm, dataset): FILE: tests/gnn/nn/conv/test_graph_conv.py function test_graph_conv (line 8) | def test_graph_conv(dataset): FILE: tests/gnn/nn/conv/test_gravnet_conv.py function test_gravnet_conv (line 10) | def test_gravnet_conv(dataset): FILE: tests/gnn/nn/conv/test_han_conv.py function test_han_conv (line 7) | def test_han_conv(): function test_han_conv_lazy (line 15) | def test_han_conv_lazy(): FILE: tests/gnn/nn/conv/test_heat_conv.py function test_heat_conv (line 10) | def test_heat_conv(concat): FILE: tests/gnn/nn/conv/test_hetero_conv.py function get_edge_index (line 13) | def get_edge_index(num_src_nodes, num_dst_nodes, num_edges): function get_dummy_data (line 19) | def get_dummy_data(): function test_hetero_conv (line 33) | def test_hetero_conv(aggr): function test_hetero_conv_multiple_layers (line 59) | def test_hetero_conv_multiple_layers(aggr, num_layers): function test_hetero_conv_multiple_layers_with_data_transforms (line 105) | def test_hetero_conv_multiple_layers_with_data_transforms(aggr, num_laye... class CustomConv (line 158) | class CustomConv(MessagePassing): method __init__ (line 159) | def __init__(self, out_channels): method forward (line 163) | def forward(self, x, edge_index, y, z): method message (line 166) | def message(self, x_j, y_j, z_j): function test_hetero_conv_with_custom_conv (line 170) | def test_hetero_conv_with_custom_conv(): function test_to_hetero_transformation_basic (line 191) | def test_to_hetero_transformation_basic(aggr): function test_to_hetero_transformation_skip_connections (line 215) | def test_to_hetero_transformation_skip_connections(aggr): FILE: tests/gnn/nn/conv/test_hgt_conv.py function test_hgt_conv_same_dimensions (line 10) | def test_hgt_conv_same_dimensions(): function test_hgt_conv_different_dimensions (line 22) | def test_hgt_conv_different_dimensions(): function test_hgt_conv_lazy (line 36) | def test_hgt_conv_lazy(): FILE: tests/gnn/nn/conv/test_hypergraph_conv.py function test_hypergraph_conv_with_more_nodes_than_edges (line 8) | def test_hypergraph_conv_with_more_nodes_than_edges(): function test_hypergraph_conv_with_more_edges_than_nodes (line 33) | def test_hypergraph_conv_with_more_edges_than_nodes(): FILE: tests/gnn/nn/conv/test_le_conv.py function test_le_conv (line 8) | def test_le_conv(dataset): FILE: tests/gnn/nn/conv/test_lg_conv.py function test_lg_conv (line 9) | def test_lg_conv(dataset): function test_lg_edge_weights_conv (line 17) | def test_lg_edge_weights_conv(dataset): FILE: tests/gnn/nn/conv/test_mf_conv.py function test_mf_conv (line 8) | def test_mf_conv(dataset): FILE: tests/gnn/nn/conv/test_nn_conv.py function test_nn_conv (line 12) | def test_nn_conv(dataset): FILE: tests/gnn/nn/conv/test_pan_conv.py function test_pan_conv (line 9) | def test_pan_conv(dataset): FILE: tests/gnn/nn/conv/test_pdn_conv.py function test_pdn_conv (line 9) | def test_pdn_conv(dataset): FILE: tests/gnn/nn/conv/test_pna_conv.py function test_pna_conv (line 14) | def test_pna_conv(dataset): FILE: tests/gnn/nn/conv/test_point_conv.py function test_point_net_conv (line 12) | def test_point_net_conv(dataset): function test_point2_net_conv (line 23) | def test_point2_net_conv(dataset): FILE: tests/gnn/nn/conv/test_point_gnn_conv.py function test_pointgnn_conv (line 9) | def test_pointgnn_conv(): FILE: tests/gnn/nn/conv/test_point_transformer_conv.py function test_point_transformer_conv (line 12) | def test_point_transformer_conv(dataset): function test_point_transformer_nn_conv (line 24) | def test_point_transformer_nn_conv(dataset): FILE: tests/gnn/nn/conv/test_ppf_conv.py function test_ppf_conv (line 11) | def test_ppf_conv(dataset): function test_ppf2_conv (line 24) | def test_ppf2_conv(dataset): FILE: tests/gnn/nn/conv/test_res_gated_graph_conv.py function test_res_gated_graph_conv (line 8) | def test_res_gated_graph_conv(dataset): FILE: tests/gnn/nn/conv/test_rgat_conv.py function test_rgat_conv (line 24) | def test_rgat_conv(mod, attention_mechanism, attention_mode): FILE: tests/gnn/nn/conv/test_rgcn_conv.py function test_rgcn_conv (line 11) | def test_rgcn_conv(rgcn): FILE: tests/gnn/nn/conv/test_sage_conv.py function test_sage_conv (line 10) | def test_sage_conv(dataset): FILE: tests/gnn/nn/conv/test_sg_conv.py function test_sg_conv (line 8) | def test_sg_conv(dataset): function test_sg_weights_conv (line 15) | def test_sg_weights_conv(dataset): FILE: tests/gnn/nn/conv/test_signed_conv.py function test_signed_conv (line 9) | def test_signed_conv(dataset): FILE: tests/gnn/nn/conv/test_simple_conv.py function test_simple_conv (line 11) | def test_simple_conv(dataset, combine_root): FILE: tests/gnn/nn/conv/test_spline_conv.py function test_spline_conv (line 12) | def test_spline_conv(training): FILE: tests/gnn/nn/conv/test_ssg_conv.py function test_ssg_conv (line 8) | def test_ssg_conv(dataset): FILE: tests/gnn/nn/conv/test_supergat_conv.py function test_supergat_conv (line 11) | def test_supergat_conv(dataset, att_type): FILE: tests/gnn/nn/conv/test_tag_conv.py function test_tag_conv (line 8) | def test_tag_conv(dataset): function test_tag_weights_conv (line 15) | def test_tag_weights_conv(dataset): FILE: tests/gnn/nn/conv/test_transformer_conv.py function test_transformer_conv (line 8) | def test_transformer_conv(dataset): FILE: tests/gnn/nn/conv/test_wl_conv.py function test_wl_conv (line 11) | def test_wl_conv(): FILE: tests/gnn/nn/conv/test_wl_conv_continuous.py function test_wl_conv_cont (line 8) | def test_wl_conv_cont(dataset): FILE: tests/gnn/nn/conv/test_x_conv.py function test_x_conv (line 10) | def test_x_conv(): FILE: tests/gnn/nn/dense/dense_utils.py function dense_harness (line 8) | def dense_harness(dense, FILE: tests/gnn/nn/dense/test_convs.py function test_dense_convs (line 14) | def test_dense_convs(conv_fn): function test_dense_convs_with_broadcasting (line 47) | def test_dense_convs_with_broadcasting(conv_fn): FILE: tests/gnn/nn/functional/test_bro.py function test_bro (line 10) | def test_bro(): FILE: tests/gnn/nn/functional/test_gini.py function test_gini (line 9) | def test_gini(): FILE: tests/gnn/nn/kge/kge_utils.py function kge_harness (line 9) | def kge_harness(kge, FILE: tests/gnn/nn/kge/test_complex.py function test_complex_scoring (line 9) | def test_complex_scoring(): function test_complex (line 43) | def test_complex(): FILE: tests/gnn/nn/kge/test_distmult.py function test_distmult (line 9) | def test_distmult(): FILE: tests/gnn/nn/kge/test_rotate.py function test_rotate (line 9) | def test_rotate(): FILE: tests/gnn/nn/kge/test_transe.py function test_transe (line 9) | def test_transe(): FILE: tests/gnn/nn/nn_utils.py class ModelWW (line 17) | class ModelWW(helpers.ModelWithWeights): method __init__ (line 18) | def __init__(self, op, first_input_shape): method forward (line 28) | def forward(self, xs): function op_harness (line 53) | def op_harness(op, inputs, assert_func=None, inference=False): FILE: tests/gnn/nn/norm/norm_utils.py function assert_ (line 11) | def assert_(native_out, poptorch_out): function norm_harness (line 35) | def norm_harness(op, inputs, assert_func=None, inference=False): FILE: tests/gnn/nn/norm/test_batch_norm.py function test_batch_norm (line 11) | def test_batch_norm(conf): function test_batch_norm_single_element (line 21) | def test_batch_norm_single_element(): FILE: tests/gnn/nn/norm/test_diff_group_norm.py function test_diff_group_norm (line 9) | def test_diff_group_norm(): FILE: tests/gnn/nn/norm/test_graph_norm.py function test_graph_norm (line 9) | def test_graph_norm(): FILE: tests/gnn/nn/norm/test_graph_size_norm.py function test_graph_size_norm (line 9) | def test_graph_size_norm(): FILE: tests/gnn/nn/norm/test_instance_norm.py function test_instance_norm (line 12) | def test_instance_norm(conf): FILE: tests/gnn/nn/norm/test_layer_norm.py function test_layer_norm (line 12) | def test_layer_norm(affine, mode): FILE: tests/gnn/nn/norm/test_mean_subtraction_norm.py function test_mean_subtraction_norm_no_batch (line 9) | def test_mean_subtraction_norm_no_batch(): function test_mean_subtraction_norm (line 20) | def test_mean_subtraction_norm(): FILE: tests/gnn/nn/norm/test_msg_norm.py function test_message_norm (line 9) | def test_message_norm(): FILE: tests/gnn/nn/norm/test_pair_norm.py function test_pair_norm_no_batch (line 11) | def test_pair_norm_no_batch(scale_individually): function test_pair_norm (line 22) | def test_pair_norm(scale_individually): FILE: tests/gnn/nn/pool/pool_utils.py function assert_ (line 11) | def assert_(native_out, poptorch_out): function pool_harness (line 40) | def pool_harness(op, inputs, assert_func=None): FILE: tests/gnn/nn/pool/test_asap.py function test_asap (line 12) | def test_asap(): FILE: tests/gnn/nn/pool/test_avg_pool.py function test_avg_pool_x (line 12) | def test_avg_pool_x(): function test_avg_pool (line 25) | def test_avg_pool(): function test_avg_pool_neighbor_x (line 50) | def test_avg_pool_neighbor_x(input_type): FILE: tests/gnn/nn/pool/test_consecutive.py function test_consecutive_cluster (line 13) | def test_consecutive_cluster(): FILE: tests/gnn/nn/pool/test_decimation.py function test_decimation_basic (line 13) | def test_decimation_basic(): function test_decimation_single_cloud (line 31) | def test_decimation_single_cloud(): function test_decimation_almost_empty (line 46) | def test_decimation_almost_empty(): FILE: tests/gnn/nn/pool/test_edge_pool.py function test_compute_edge_score_softmax (line 12) | def test_compute_edge_score_softmax(): function test_compute_edge_score_tanh (line 25) | def test_compute_edge_score_tanh(): function test_compute_edge_score_sigmoid (line 34) | def test_compute_edge_score_sigmoid(): function test_edge_pooling (line 47) | def test_edge_pooling(): function test_edge_unpooling (line 81) | def test_edge_unpooling(): FILE: tests/gnn/nn/pool/test_fps.py class FpsInferModel (line 12) | class FpsInferModel(torch.nn.Module): method forward (line 13) | def forward(self, x, ptr, ratio, random_start): class FpsTrainModel (line 17) | class FpsTrainModel(torch.nn.Module): method __init__ (line 18) | def __init__(self, op, linear): method forward (line 24) | def forward(self, x, ptr, ratio, random_start): function test_single_batch (line 35) | def test_single_batch(src_shape, ratio): function test_multi_batch (line 51) | def test_multi_batch(src_shape, ptr, ratio): function test_random_start (line 67) | def test_random_start(src_shape, ptr, ratio): function test_train (line 86) | def test_train(src_shape, ptr, ratio): FILE: tests/gnn/nn/pool/test_glob.py function test_global_pool (line 15) | def test_global_pool(): function test_global_max_pool_no_batch (line 45) | def test_global_max_pool_no_batch(): function test_permuted_global_pool (line 54) | def test_permuted_global_pool(): function test_dense_global_pool (line 81) | def test_dense_global_pool(): FILE: tests/gnn/nn/pool/test_graclus.py function test_graclus (line 14) | def test_graclus(): FILE: tests/gnn/nn/pool/test_max_pool.py function test_max_pool_x (line 12) | def test_max_pool_x(): function test_max_pool (line 25) | def test_max_pool(): function test_max_pool_neighbor_x (line 50) | def test_max_pool_neighbor_x(input_type): FILE: tests/gnn/nn/pool/test_mem_pool.py function test_mem_pool_basic (line 14) | def test_mem_pool_basic(): function test_mem_pool_basic_custom_loss (line 31) | def test_mem_pool_basic_custom_loss(): function test_mem_pool_chain (line 60) | def test_mem_pool_chain(): FILE: tests/gnn/nn/pool/test_pan_pool.py function test_pan_pooling (line 14) | def test_pan_pooling(): FILE: tests/gnn/nn/pool/test_pool_knn.py class KnnModel (line 10) | class KnnModel(torch.nn.Module): method __init__ (line 11) | def __init__(self, op) -> None: method forward (line 15) | def forward(self, *args, **kwargs): function test_knn (line 19) | def test_knn(): function test_knn_graph (line 37) | def test_knn_graph(): FILE: tests/gnn/nn/pool/test_radius.py function to_set (line 11) | def to_set(edge_index): function assert_fn (line 16) | def assert_fn(native_out, poptorch_out): function op_harness (line 28) | def op_harness(*args, **kwargs): function test_radius_graph (line 42) | def test_radius_graph(): FILE: tests/gnn/nn/pool/test_sag_pool.py function test_sag_pooling (line 21) | def test_sag_pooling(GNN): FILE: tests/gnn/nn/pool/test_select_topk.py function test_topk_ratio (line 15) | def test_topk_ratio(): function test_select_topk (line 40) | def test_select_topk(min_score): FILE: tests/gnn/nn/pool/test_topk_pool.py function test_filter_adj (line 14) | def test_filter_adj(): function test_topk_pooling (line 28) | def test_topk_pooling(): FILE: tests/gnn/nn/pool/test_voxel_grid.py function test_voxel_grid (line 13) | def test_voxel_grid(): function test_voxel_grid_with_optional_args (line 24) | def test_voxel_grid_with_optional_args(): function test_single_voxel_grid (line 36) | def test_single_voxel_grid(): FILE: tests/gnn/nn/test_linear.py function test_linear (line 16) | def test_linear(weight, bias): function test_hetero_linear (line 24) | def test_hetero_linear(with_bias): FILE: tests/gnn/nn/test_loss.py function loss_harness (line 11) | def loss_harness(in_channels, function test_loss_fixedsize_vs_regular_dataloader (line 74) | def test_loss_fixedsize_vs_regular_dataloader(loss_fn, reduction, datalo... FILE: tests/gnn/nn/test_mish.py class MishReference (line 11) | class MishReference(torch.nn.Module): method forward (line 12) | def forward(self, x): class MishTrainModel (line 16) | class MishTrainModel(torch.nn.Module): method __init__ (line 17) | def __init__(self, op, linear): method forward (line 23) | def forward(self, x): function test_mish (line 33) | def test_mish(size): function test_mish_training (line 49) | def test_mish_training(size): FILE: tests/gnn/nn/test_sequential.py function test_sequential (line 12) | def test_sequential(dataset): function test_sequential_with_ordered_dict (line 26) | def test_sequential_with_ordered_dict(dataset): FILE: tests/gnn/nn/unpool/test_interpolate.py function test_knn_interpolate (line 11) | def test_knn_interpolate(): FILE: tests/gnn/ops/test_knn.py function assert_fn (line 12) | def assert_fn(native_out, poptorch_out, x, y): function op_harness (line 28) | def op_harness(op, reference_op, x, y, k, batch_x=None, batch_y=None): function test_knn_basic (line 44) | def test_knn_basic(with_batch): function test_knn (line 59) | def test_knn(): function test_knn_batch_skip (line 85) | def test_knn_batch_skip(): function test_knn_override (line 110) | def test_knn_override(with_batch): FILE: tests/gnn/ops/test_knn_graph.py function test_knn_graph (line 14) | def test_knn_graph(flow): FILE: tests/gnn/ops/test_knn_interpolate.py function test_knn_interpolate (line 13) | def test_knn_interpolate(): FILE: tests/gnn/ops/test_nearest.py function op_harness (line 11) | def op_harness(op, reference_op, x, y, batch_x=None, batch_y=None): function test_nearest (line 29) | def test_nearest(dtype): FILE: tests/gnn/ops/test_radius_op.py function to_set (line 10) | def to_set(edge_index): function assert_fn (line 15) | def assert_fn(native_out, poptorch_out): function op_harness (line 27) | def op_harness(op, reference_op, *args, **kwargs): function test_radius_basic (line 43) | def test_radius_basic(with_batch): function test_radius_upstream (line 57) | def test_radius_upstream(): function test_radius_graph (line 100) | def test_radius_graph(flow): function test_radius_graph_large (line 117) | def test_radius_graph_large(): FILE: tests/gnn/ops/test_spline_conv_ops.py function spline_basis (line 16) | def spline_basis(): function spline_weighting (line 19) | def spline_weighting(): function gen_basis_input_data (line 23) | def gen_basis_input_data(num_edges, num_dims, max_kernel_size, dtype): function test_spline_basis (line 37) | def test_spline_basis(params, dtype): function gen_weighting_input_data (line 64) | def gen_weighting_input_data(edges, in_ch, out_ch, kernel_size, num_spli... function test_spline_weighting (line 82) | def test_spline_weighting(params, dtype): FILE: tests/gnn/ops/test_to_dense_batch.py function op_harness (line 12) | def op_harness(reference_op, *args, **kwargs): function test_basic (line 26) | def test_basic(): function test_batch_size_not_set (line 32) | def test_batch_size_not_set(): function test_batch_size_set (line 43) | def test_batch_size_set(): function test_batch_size_and_max_num_nodes_set (line 55) | def test_batch_size_and_max_num_nodes_set(): FILE: tests/gnn/test_basic_gnn.py function data (line 19) | def data(): function node_classification_harness (line 32) | def node_classification_harness(gnn, function test_node_classification_GCN (line 60) | def test_node_classification_GCN(data): function test_node_classification_GraphSAGE (line 71) | def test_node_classification_GraphSAGE(data): function test_node_classification_GIN (line 81) | def test_node_classification_GIN(data): function test_node_classification_GAT (line 91) | def test_node_classification_GAT(data): function test_node_classification_PNA (line 102) | def test_node_classification_PNA(data): function test_node_classification_EdgeCNN (line 121) | def test_node_classification_EdgeCNN(data, act): FILE: tests/gnn/test_cluster_loader.py function test_fixed_size_dataloader_with_cluster_data (line 18) | def test_fixed_size_dataloader_with_cluster_data(loader_cls, batch_size, FILE: tests/gnn/test_collate.py function _get_test_data (line 19) | def _get_test_data(request, molecule, fake_hetero_data): function test_batch_masks (line 35) | def test_batch_masks(num_graphs, num_real_graphs, num_edges, set_pad_val... function test_batch_masks_heterodata (line 134) | def test_batch_masks_heterodata(num_graphs, num_real_graphs, num_edges, function test_prune_nodes_single_input (line 218) | def test_prune_nodes_single_input(_get_test_data): function test_prune_nodes_multiple_inputs (line 243) | def test_prune_nodes_multiple_inputs(_get_test_data): function test_prune_nodes_multiple_inputs_minimal_num_node (line 266) | def test_prune_nodes_multiple_inputs_minimal_num_node(_get_test_data): function test_prune_edges_single_input (line 293) | def test_prune_edges_single_input(_get_test_data): function test_prune_edges_multiple_inputs (line 328) | def test_prune_edges_multiple_inputs(_get_test_data): function test_prune_nodes_multiple_inputs_minimal_num_edges (line 369) | def test_prune_nodes_multiple_inputs_minimal_num_edges(_get_test_data): function test_prune_nodes_multiple_inputs_should_throw_exception (line 408) | def test_prune_nodes_multiple_inputs_should_throw_exception(_get_test_da... function test_prune_nodes_fixed_size_collater (line 428) | def test_prune_nodes_fixed_size_collater(data_type, fixed_size_hetero, function test_prune_edges_fixed_size_collator (line 481) | def test_prune_edges_fixed_size_collator(data_type, fixed_size_hetero, function test_prune_data_fixed_size_collator (line 546) | def test_prune_data_fixed_size_collator(data_type, fixed_size_hetero, function test_valid_args_fixed_size_collater (line 613) | def test_valid_args_fixed_size_collater(_get_test_data): function test_fixed_size_collater_should_include_non_tensor_keys_in_pad_graph (line 629) | def test_fixed_size_collater_should_include_non_tensor_keys_in_pad_graph( function test_fixed_size_collater_should_assign_default_pad_values (line 645) | def test_fixed_size_collater_should_assign_default_pad_values(_get_test_... function test_fixed_size_collater_wrong_size_exceptions (line 663) | def test_fixed_size_collater_wrong_size_exceptions(_get_test_data, num_n... FILE: tests/gnn/test_dataloader.py function _compare_batches (line 33) | def _compare_batches(batch_actual, batch_expected): function _ (line 38) | def _(batch_actual: DataBatch, batch_expected: DataBatch): function _ (line 49) | def _(batch_actual: HeteroDataBatch, batch_expected: HeteroDataBatch): function test_batch_serialization (line 65) | def test_batch_serialization(dataset, request): function test_custom_batch_parser (line 76) | def test_custom_batch_parser(dataset, request): function test_collater (line 87) | def test_collater(data, request): function test_multiple_collater (line 119) | def test_multiple_collater(data, request): function test_collater_invalid_keys (line 140) | def test_collater_invalid_keys(data, request): function test_combined_batching_collater (line 185) | def test_combined_batching_collater(mini_batch_size, data, request): function test_combined_batching_collater_invalid (line 212) | def test_combined_batching_collater_invalid(molecule): function test_simple_fixed_size_data_loader_mro (line 220) | def test_simple_fixed_size_data_loader_mro(num_graphs=2, num_nodes=40): function test_fixed_size_dataloader (line 260) | def test_fixed_size_dataloader(loader, function test_fixed_size_heterodataloader (line 410) | def test_fixed_size_heterodataloader( function test_dataloader_trims_to_fixed_sizes (line 503) | def test_dataloader_trims_to_fixed_sizes(num_edges, num_graphs, function is_iterable (line 530) | def is_iterable(src): function check_batch_and_ptr (line 534) | def check_batch_and_ptr(src): function test_dataloader (line 541) | def test_dataloader(dataset, request, batch_size=10): function test_pad_transform_with_dataloader (line 586) | def test_pad_transform_with_dataloader( function test_dataloader_with_sampler_num_nodes (line 668) | def test_dataloader_with_sampler_num_nodes(allow_skip_data, dataset, req... function test_fixed_size_dataloader_num_created_batches_stream_packing (line 695) | def test_fixed_size_dataloader_num_created_batches_stream_packing( function test_fixed_size_dataloader_with_default_values (line 773) | def test_fixed_size_dataloader_with_default_values(fake_large_dataset): function test_fixed_size_dataloader_with_custom_batch_sampler (line 800) | def test_fixed_size_dataloader_with_custom_batch_sampler(create_loader): FILE: tests/gnn/test_encoding.py function test_positional_encoding (line 8) | def test_positional_encoding(): function test_temporal_encoding (line 16) | def test_temporal_encoding(): FILE: tests/gnn/test_fixed_size_options.py function test_fixed_size_options_from_dataset (line 34) | def test_fixed_size_options_from_dataset(dataset, expected_result, reque... function test_fixed_size_options_from_dataloader (line 76) | def test_fixed_size_options_from_dataloader(dataset, expected_result, re... function test_fixed_size_options_from_sample_dataloader (line 120) | def test_fixed_size_options_from_sample_dataloader(dataset, expected_res... function test_fixed_size_options_to_hetero (line 154) | def test_fixed_size_options_to_hetero(request): FILE: tests/gnn/test_masker.py function entries (line 10) | def entries(request) -> masker.Entries: class TestNoOpMasker (line 18) | class TestNoOpMasker: method test_masker_does_not_change_the_object (line 22) | def test_masker_does_not_change_the_object(self, masker_name: str, class TestNoOpLayerMasker (line 29) | class TestNoOpLayerMasker: method layer (line 31) | def layer(self): method test_masker_does_not_change_the_layer_result (line 41) | def test_masker_does_not_change_the_layer_result( FILE: tests/gnn/test_model_args.py class Model (line 17) | class Model(torch.nn.Module): method __init__ (line 18) | def __init__(self, in_channels, out_channels): method forward (line 22) | def forward(self, example): function add_train_mask (line 34) | def add_train_mask(data): function data (line 41) | def data(): function batch (line 53) | def batch(): function dispatcher_options (line 67) | def dispatcher_options(): function test_args (line 73) | def test_args(arg, dispatcher_options): FILE: tests/gnn/test_neighbor_loader.py function validate_fixed_data_format (line 21) | def validate_fixed_data_format(loader: FixedSizeNeighborLoader, function is_subset (line 119) | def is_subset(subedge_index, edge_index, src_idx, dst_idx): function test_homo_neighbor_loader_basic (line 129) | def test_homo_neighbor_loader_basic(subgraph_type): function test_hetero_neighbor_loader_basic (line 195) | def test_hetero_neighbor_loader_basic(subgraph_type): function test_hetero_neighbor_loader_large (line 271) | def test_hetero_neighbor_loader_large(subgraph_type): FILE: tests/gnn/test_register_custom_args.py class GCN (line 12) | class GCN(torch.nn.Module): method __init__ (line 13) | def __init__(self, in_channels: int, out_channels: int): method forward (line 18) | def forward(self, data): function test_register_custom_parsers (line 31) | def test_register_custom_parsers(planetoid_cora): FILE: tests/gnn/test_stream_packing_sampler.py function test_stream_packing_sampler_default_params (line 20) | def test_stream_packing_sampler_default_params(): function test_stream_packing_sampler_should_throw_exception (line 31) | def test_stream_packing_sampler_should_throw_exception(): function test_stream_packing_sampler_should_not_throw_exception (line 55) | def test_stream_packing_sampler_should_not_throw_exception(): function test_stream_packing_should_return_valid_samples (line 79) | def test_stream_packing_should_return_valid_samples(data_type, shuffle, function test_stream_packing_sampler_should_be_usable_with_torch_data_loader (line 128) | def test_stream_packing_sampler_should_be_usable_with_torch_data_loader( function test_stream_packing_sampler_padding_not_needed (line 218) | def test_stream_packing_sampler_padding_not_needed(shuffle, allow_skip_d... FILE: tests/gnn/utils.py function is_data (line 20) | def is_data(type_: BaseData): class CalledProcessError (line 28) | class CalledProcessError(subprocess.CalledProcessError): method __str__ (line 32) | def __str__(self) -> str: function run_command_fail_explicitly (line 39) | def run_command_fail_explicitly(command: Union[str, List[str]], cwd: str, class ExpectedError (line 84) | class ExpectedError(Exception): function run_notebook (line 100) | def run_notebook(notebook_filename, expected_error: str = "", cwd=REPO_R... class FakeDatasetEqualGraphs (line 113) | class FakeDatasetEqualGraphs(InMemoryDataset): #pylint: disable=abstrac... method __init__ (line 126) | def __init__(self, method generate_data (line 149) | def generate_data(self) -> Data: FILE: tests/grouping_scatters_gathers_test.py function scatter (line 16) | def scatter(): function scatter_log_softmax (line 19) | def scatter_log_softmax(): function scatter_softmax (line 22) | def scatter_softmax(): function scatter_std (line 25) | def scatter_std(): function scatter_add (line 28) | def scatter_add(): function scatter_max (line 31) | def scatter_max(): function check_is_fused (line 56) | def check_is_fused(poptorch_model, op_type, expected_group_size, function torch_fusible_model (line 71) | def torch_fusible_model(func, src, index, dtype): function test_fuse (line 154) | def test_fuse(shape, func, dtype): FILE: tests/gru_test.py function test_gru (line 12) | def test_gru(bias, batch_first): FILE: tests/half_float_test.py function assert_same_type (line 10) | def assert_same_type(inputs, model): function type_out_harness (line 19) | def type_out_harness(inputs, forward_op): function test_ones_zeros_default_resolved (line 34) | def test_ones_zeros_default_resolved(op): function test_ones_zeros_input_resolved_with_input_dtype (line 46) | def test_ones_zeros_input_resolved_with_input_dtype(op): function test_ones_zeros_input_resolved_always_float16 (line 66) | def test_ones_zeros_input_resolved_always_float16(op): function test_ones_zeros_input_resolved_always_float32 (line 81) | def test_ones_zeros_input_resolved_always_float32(op): function test_rand_default_resolved (line 94) | def test_rand_default_resolved(): function test_rand_default_input_resolved (line 103) | def test_rand_default_input_resolved(): function test_rand_default_input_resolved_always_float16 (line 119) | def test_rand_default_input_resolved_always_float16(): function test_normal_mean_correctly_resolved (line 132) | def test_normal_mean_correctly_resolved(): function test_normal_std_correctly_resolved (line 142) | def test_normal_std_correctly_resolved(): function test_distributions_uniform (line 155) | def test_distributions_uniform(): function test_distributions_normal_mean_correctly_resolved (line 170) | def test_distributions_normal_mean_correctly_resolved(): function test_distributions_normal_std_correctly_resolved (line 180) | def test_distributions_normal_std_correctly_resolved(): function test_uniform_correctly_resolved (line 194) | def test_uniform_correctly_resolved(): function test_normal_correctly_resolved (line 208) | def test_normal_correctly_resolved(): function test_constant_correctly_resolved (line 224) | def test_constant_correctly_resolved(): function test_constant_add_float16 (line 234) | def test_constant_add_float16(): function test_constant_always_float32 (line 243) | def test_constant_always_float32(): function test_float16_activations_float32_weights (line 252) | def test_float16_activations_float32_weights(conv): function test_master_weight_training (line 285) | def test_master_weight_training(): function test_bigger_model_training (line 321) | def test_bigger_model_training(): FILE: tests/half_test.py function test_half_float_default_option (line 12) | def test_half_float_default_option(): function test_resnet (line 35) | def test_resnet(): function test_model_with_weights (line 67) | def test_model_with_weights(): function test_simple_model (line 86) | def test_simple_model(): function test_lstm (line 109) | def test_lstm(): function test_ipu_print_tensor (line 127) | def test_ipu_print_tensor(): function test_buffers (line 139) | def test_buffers(): function test_half_casts_outplace (line 179) | def test_half_casts_outplace(): function test_8bit_io_casting (line 200) | def test_8bit_io_casting(): function test_buffers_without_parameters_can_be_traced (line 227) | def test_buffers_without_parameters_can_be_traced(): FILE: tests/helpers.py function selectIfReduced (line 15) | def selectIfReduced(reduced_set, full_set): function onlyFirstIfReduced (line 21) | def onlyFirstIfReduced(full_set): function assert_allclose (line 27) | def assert_allclose(*, function assert_allequal (line 80) | def assert_allequal(*, function disableSmallModel (line 118) | def disableSmallModel(): function forceSmallModel (line 125) | def forceSmallModel(): function disableAllModels (line 130) | def disableAllModels(): function propagateInputShapes (line 134) | def propagateInputShapes(graph, dummyInputs): class ModelWithWeights (line 143) | class ModelWithWeights(torch.nn.Module): method __init__ (line 144) | def __init__(self, op, first_input_shape, out_fn=None, loss_fn=None): method forward (line 164) | def forward(self, xs): method assert_weights_changed (line 177) | def assert_weights_changed(self): class PrintCapfdOnExit (line 182) | class PrintCapfdOnExit: method __init__ (line 187) | def __init__(self, capfd): method __enter__ (line 190) | def __enter__(self): method __exit__ (line 193) | def __exit__(self, type, value, traceback): function printCapfdOnExit (line 201) | def printCapfdOnExit(func): function overridePoptorchLogLevel (line 213) | def overridePoptorchLogLevel(level=None): function overridePopartLogLevel (line 229) | def overridePopartLogLevel(level=None): class LogIterator (line 246) | class LogIterator: method __init__ (line 247) | def __init__(self, lines): method lineNumber (line 253) | def lineNumber(self): method findNext (line 256) | def findNext(self, *exprs): method _findNext (line 267) | def _findNext(self, exprs): method assert_not_contains (line 275) | def assert_not_contains(self, *exprs): method findAll (line 283) | def findAll(self, expr): class LogChecker (line 293) | class LogChecker: method __init__ (line 294) | def __init__(self, capfd_or_str): method createIterator (line 306) | def createIterator(self): method assert_isEmpty (line 309) | def assert_isEmpty(self): method assert_contains (line 312) | def assert_contains(self, *strings): method assert_contains_after (line 326) | def assert_contains_after(self, string, after): method assert_not_contains (line 339) | def assert_not_contains(self, *strings): method _string_matches_exprs (line 355) | def _string_matches_exprs(self, s, exprs): method assert_matches (line 358) | def assert_matches(self, *exprs, per_line=True): method assert_no_matches (line 378) | def assert_no_matches(self, *exprs, per_line=True): method findall (line 396) | def findall(self, pattern: str) -> list: function outputDevice (line 403) | def outputDevice(): FILE: tests/hooks_test.py class Model (line 10) | class Model(nn.Module): method forward (line 11) | def forward(self, input): function test_precompile_and_postcompile_hooks (line 15) | def test_precompile_and_postcompile_hooks(): function test_non_callable (line 39) | def test_non_callable(): function test_called_in_order (line 49) | def test_called_in_order(): function test_can_remove (line 78) | def test_can_remove(): FILE: tests/if_test.py function infer_model (line 12) | def infer_model(model): function if_else_harness (line 16) | def if_else_harness(model, expected_then, expected_else, *args): function test_constants (line 34) | def test_constants(): function test_operations_on_constants (line 51) | def test_operations_on_constants(): function test_inplace_op (line 81) | def test_inplace_op(): function test_operation_expecting_constant (line 101) | def test_operation_expecting_constant(): function test_body_args (line 126) | def test_body_args(): function test_cond_training (line 143) | def test_cond_training(): function test_multi_outs (line 167) | def test_multi_outs(): function test_diff_num_of_args (line 185) | def test_diff_num_of_args(): function test_args_from_main_graph (line 202) | def test_args_from_main_graph(): function test_call_outer_body (line 218) | def test_call_outer_body(): function test_args_internal (line 237) | def test_args_internal(): function test_single_body (line 264) | def test_single_body(): function test_nested_cond (line 278) | def test_nested_cond(): function test_if_on_multiple_ipus (line 331) | def test_if_on_multiple_ipus(execution_strategy): FILE: tests/index_ops_test.py function index_op0 (line 11) | def index_op0(t, idx, v=None): function index_op1 (line 18) | def index_op1(t, idx, v=None): function index_op2 (line 25) | def index_op2(t, idx, v=None): function index_op3 (line 32) | def index_op3(t, idx, v=None): function index_op4 (line 39) | def index_op4(t, idx, v=None): function index_op5 (line 46) | def index_op5(t, idx, v=None): function index_op6 (line 53) | def index_op6(t, idx, v=None): function index_op7 (line 60) | def index_op7(t, idx, v=None): function index_op8 (line 67) | def index_op8(t, idx, v=None): function index_harness (line 74) | def index_harness(op, idx, is_index_put, v=None, is_mask=False): function test_index (line 120) | def test_index(op, idxs): function test_index_bool_mask_failure (line 124) | def test_index_bool_mask_failure(): function test_index_on_max_indices (line 130) | def test_index_on_max_indices(): function test_index_put (line 154) | def test_index_put(op, idxs): function test_index_put_scalar (line 158) | def test_index_put_scalar(): function test_index_put_broadcastable (line 167) | def test_index_put_broadcastable(): function test_index_put_masked_fill (line 179) | def test_index_put_masked_fill(mask_size, dtype): function test_index_put_masked_assign (line 193) | def test_index_put_masked_assign(mask_size, dtype): function get_index_fill_fn (line 204) | def get_index_fill_fn(dim): function test_index_fill (line 214) | def test_index_fill(value, dim): function test_index_select (line 221) | def test_index_select(dim): function test_vectorized_scatter (line 245) | def test_vectorized_scatter(capfd, dim): FILE: tests/inplace_test.py function test_inplace_add (line 12) | def test_inplace_add(): function test_inplace_add_multi_elements (line 44) | def test_inplace_add_multi_elements(): function test_inplace_sub (line 58) | def test_inplace_sub(): function test_inplace_div (line 90) | def test_inplace_div(): function test_inplace_mul (line 122) | def test_inplace_mul(): function test_inplace_masked_fill (line 154) | def test_inplace_masked_fill(): function test_chained_inplace (line 169) | def test_chained_inplace(): function test_inplace_zero (line 189) | def test_inplace_zero(): function test_inplace_fill (line 207) | def test_inplace_fill(): function test_inplace_non_input (line 224) | def test_inplace_non_input(): function test_double_underscore (line 247) | def test_double_underscore(): function test_half_buffer_inplace (line 265) | def test_half_buffer_inplace(): function test_float_to_half_buffer_inplace_with_training (line 292) | def test_float_to_half_buffer_inplace_with_training(): function test_inplace_on_buffer_and_input (line 327) | def test_inplace_on_buffer_and_input(): function test_two_inplace_copies (line 356) | def test_two_inplace_copies(): function test_two_inplace_copies_buffer (line 380) | def test_two_inplace_copies_buffer(): function direct_assign (line 412) | def direct_assign(x, step): function direct_assign_inplace (line 417) | def direct_assign_inplace(x, step): function direct_fill (line 422) | def direct_fill(x, step): function chained_slice (line 428) | def chained_slice(x, step): function modify_before_assign (line 433) | def modify_before_assign(x, step): function modify_region (line 439) | def modify_region(x, step): function test_inplace_modify_slice (line 449) | def test_inplace_modify_slice(op, step_size): function test_inplace_modify_select (line 479) | def test_inplace_modify_select(): function test_index_put_on_buffer (line 507) | def test_index_put_on_buffer(): FILE: tests/inputs_test.py function test_simple_tuple (line 14) | def test_simple_tuple(use_half): function test_type_change (line 38) | def test_type_change(): function test_shape_change (line 66) | def test_shape_change(): function test_nested_tuples_and_lists (line 100) | def test_nested_tuples_and_lists(use_half, thing_to_test): function test_optional_inputs (line 156) | def test_optional_inputs(use_half): function test_non_tensor_inputs_dispatch (line 185) | def test_non_tensor_inputs_dispatch(): function test_list_inputs (line 220) | def test_list_inputs(use_half): function test_unused_tuple (line 251) | def test_unused_tuple(): function test_dict_input (line 267) | def test_dict_input(): function test_nested_dict_input (line 303) | def test_nested_dict_input(): function test_ordered_dict_inputs (line 327) | def test_ordered_dict_inputs(fwd_args): function test_custom_input (line 362) | def test_custom_input(device_iterations): class Model (line 417) | class Model(torch.nn.Module): method forward (line 418) | def forward(self, x, y=None, z=None, t=None): function test_none_input_pass_one_kwarg (line 429) | def test_none_input_pass_one_kwarg(): function test_none_input_pass_two_kwarg (line 441) | def test_none_input_pass_two_kwarg(): function test_none_input_pass_skip_one_kwarg (line 453) | def test_none_input_pass_skip_one_kwarg(): function test_none_input_trace_dispatch_non_default_kwarg (line 465) | def test_none_input_trace_dispatch_non_default_kwarg(): function test_none_input_pass_last_arg (line 477) | def test_none_input_pass_last_arg(): function test_none_input_pass_two_arg (line 489) | def test_none_input_pass_two_arg(): function test_none_input_dispatch_non_default_arg_tuples (line 503) | def test_none_input_dispatch_non_default_arg_tuples(args, fwd_args): function test_none_input_dispatch_non_default_arg_dict (line 531) | def test_none_input_dispatch_non_default_arg_dict(args, fwd_args): function test_custom_arg_parser (line 551) | def test_custom_arg_parser(fwd_args): function test_none_input_dispatch_args_kwargs (line 610) | def test_none_input_dispatch_args_kwargs(fwd_args): function test_no_inputs_no_output (line 722) | def test_no_inputs_no_output(): function test_return_and_use_input (line 737) | def test_return_and_use_input(): function test_return_and_use_nested_input (line 751) | def test_return_and_use_nested_input(): function test_scalar_tensor_input (line 770) | def test_scalar_tensor_input(): function test_returned_only_inputs (line 781) | def test_returned_only_inputs(): function test_returned_only_inputs_with_params (line 805) | def test_returned_only_inputs_with_params(): FILE: tests/io_performance_test.py class ImageDataset (line 16) | class ImageDataset(torch.utils.data.Dataset): method __init__ (line 17) | def __init__(self, io_dtype): method __len__ (line 21) | def __len__(self): method __getitem__ (line 24) | def __getitem__(self, _): function get_mean_cycle_count (line 28) | def get_mean_cycle_count(io_dtype, capfd): function test_compare_io_performance (line 70) | def test_compare_io_performance(capfd, io_dtype1, io_dtype2): FILE: tests/ipu_print_tensor_test.py function test_print_ipu_tensor (line 37) | def test_print_ipu_tensor(capfd, title, print_gradient, summarise_thresh... FILE: tests/loop_test.py function test_loop_constant (line 10) | def test_loop_constant(): function test_loop_simple (line 25) | def test_loop_simple(): function test_loop_multiple_inputs (line 40) | def test_loop_multiple_inputs(): function test_loop_non_tensor_in (line 74) | def test_loop_non_tensor_in(): function test_loop_non_list_in (line 92) | def test_loop_non_list_in(): function test_loop_weights (line 110) | def test_loop_weights(): function test_loop_weights_use_twice (line 134) | def test_loop_weights_use_twice(): function test_loop_use_output (line 153) | def test_loop_use_output(): function test_loop_training (line 169) | def test_loop_training(): function test_loop_body_inplace_ops_1 (line 192) | def test_loop_body_inplace_ops_1(): function test_loop_body_inplace_ops_2 (line 211) | def test_loop_body_inplace_ops_2(): function test_loop_body_inplace_ops_3 (line 231) | def test_loop_body_inplace_ops_3(): function test_loop_body_inplace_ops_4 (line 252) | def test_loop_body_inplace_ops_4(): function test_loop_with_constant_inputs_only (line 275) | def test_loop_with_constant_inputs_only(): function test_loop_with_same_trip_count_on_multiple_ipus (line 299) | def test_loop_with_same_trip_count_on_multiple_ipus(): FILE: tests/losses_test.py function loss_harness (line 16) | def loss_harness(loss, function test_L1Loss (line 79) | def test_L1Loss(reduction): function test_MSELoss (line 116) | def test_MSELoss(reduction): function test_CrossEntropy (line 149) | def test_CrossEntropy(input_shape, reduction): function op_withdim (line 170) | def op_withdim(op, input): function test_op_withdim_4d (line 191) | def test_op_withdim_4d(op, dim): function test_op_withdim_2d (line 202) | def test_op_withdim_2d(op, dim): function test_NLLLoss (line 212) | def test_NLLLoss(reduction): function test_NLLLoss2d (line 233) | def test_NLLLoss2d(reduction): function test_BCE (line 256) | def test_BCE(reduction): function test_KLDiv (line 307) | def test_KLDiv(reduction, log_target): function test_PoissonNLLLoss (line 320) | def test_PoissonNLLLoss(reduction, log_input, full): function test_HingeEmbeddingLoss (line 334) | def test_HingeEmbeddingLoss(reduction): function test_BCEWithLogitsLoss (line 365) | def test_BCEWithLogitsLoss(reduction, input, target, weight, pos_weight): function test_SmoothL1Loss (line 375) | def test_SmoothL1Loss(reduction): function test_SoftMarginLoss (line 385) | def test_SoftMarginLoss(reduction): function test_MultiLabelSoftMarginLoss (line 399) | def test_MultiLabelSoftMarginLoss(reduction, specify_weight): function test_CosineEmbeddingLoss (line 415) | def test_CosineEmbeddingLoss(reduction): function test_MarginRankingLoss (line 436) | def test_MarginRankingLoss(reduction): function test_TripletMarginLoss (line 458) | def test_TripletMarginLoss(p, swap, reduction): function test_CTCLoss (line 480) | def test_CTCLoss(blank, reduction, zero_infinity, lengths_are_tensors): function test_identity_with_linear_out_returned (line 516) | def test_identity_with_linear_out_returned(reduction): FILE: tests/lstm_test.py function test_lstm (line 10) | def test_lstm(): function test_lstm2 (line 28) | def test_lstm2(): function test_lstm_twice (line 45) | def test_lstm_twice(): function test_lstm_batch_first (line 69) | def test_lstm_batch_first(): function test_lstm_batched (line 86) | def test_lstm_batched(): function test_lstm_batched_batch_first (line 106) | def test_lstm_batched_batch_first(): function test_lstm_fc (line 125) | def test_lstm_fc(): FILE: tests/math_ops_test.py function op_harness (line 16) | def op_harness(op, inputs, assert_func, test_training=False, out_fn=None): function test_unary_ops_float (line 105) | def test_unary_ops_float(op): function test_binary_pow (line 122) | def test_binary_pow(inplace, exponent): function test_unary_ops_int (line 148) | def test_unary_ops_int(op): function test_unary_ops_bool (line 165) | def test_unary_ops_bool(op): function test_clamp (line 191) | def test_clamp(args): function test_clamp_ (line 206) | def test_clamp_(args): function test_clamp_mul_exp (line 221) | def test_clamp_mul_exp(args): function test_clamp_min_max (line 243) | def test_clamp_min_max(op): function test_clamp_min_max_tensor (line 261) | def test_clamp_min_max_tensor(op): function test_clamp_int (line 301) | def test_clamp_int(args): function test_binary_ops_float (line 323) | def test_binary_ops_float(op): function test_binary_ops_elementwise_edgecases (line 348) | def test_binary_ops_elementwise_edgecases(op): function test_binary_ops_elementwise_bools (line 389) | def test_binary_ops_elementwise_bools(op): function test_modulo_mixed_sign (line 423) | def test_modulo_mixed_sign(op): function __and__ (line 437) | def __and__(x, y): function __or__ (line 441) | def __or__(x, y): function __xor__ (line 445) | def __xor__(x, y): function test_binary_int_ops (line 456) | def test_binary_int_ops(op): function test_binary_int_op_types (line 473) | def test_binary_int_op_types(dtype): function test_binary_bool_ops (line 498) | def test_binary_bool_ops(op): function test_reduction_ops_float (line 553) | def test_reduction_ops_float(op): function test_reduction_ops_float_api2 (line 575) | def test_reduction_ops_float_api2(op, dim, keepdim): function test_minmax_tuple_out (line 614) | def test_minmax_tuple_out(op, dim, keepdim): function test_norm_p_values (line 646) | def test_norm_p_values(p): function test_norm_dtype (line 659) | def test_norm_dtype(): function test_compare_operations (line 689) | def test_compare_operations(op): function test_compare_unity_nan_inf_ops (line 718) | def test_compare_unity_nan_inf_ops(op): function test_compare_unity_operations (line 739) | def test_compare_unity_operations(op): function test_topk (line 753) | def test_topk(largest): function test_sort (line 773) | def test_sort(shape, descending): function test_sort_stable (line 792) | def test_sort_stable(descending): function test_bincount (line 810) | def test_bincount(): function test_bincount_error (line 824) | def test_bincount_error(): function test_bincount_weights (line 844) | def test_bincount_weights(): function test_constant_arrays (line 863) | def test_constant_arrays(ty): function test_big_constant_arrays_sliced (line 880) | def test_big_constant_arrays_sliced(ty): function test_addcdiv (line 928) | def test_addcdiv(shapes, scale): function test_cross_shape (line 958) | def test_cross_shape(shape): function test_cross_axis (line 971) | def test_cross_axis(axis): function test_var_std (line 1001) | def test_var_std(op, params): function test_argsort (line 1015) | def test_argsort(axis, descending): function test_reciprocal_intergral_input (line 1028) | def test_reciprocal_intergral_input(): FILE: tests/misc_nn_layers_test.py function op_harness (line 21) | def op_harness(op, inputs, inference_test_fn=None): function test_upsample_nearest (line 48) | def test_upsample_nearest(scale_factor, input_shape): function test_downsample_nearest (line 55) | def test_downsample_nearest(): function test_upsample_bilinear_factor (line 67) | def test_upsample_bilinear_factor(scale_factor, input_shape, align_corne... function test_upsample_bilinear_factor_shapes (line 79) | def test_upsample_bilinear_factor_shapes(shapes, align_corners): function test_upsample_bicubic (line 89) | def test_upsample_bicubic(shape): function test_unsupported_upsample (line 106) | def test_unsupported_upsample(mode, input_shape): function test_linear (line 118) | def test_linear(): function test_bilinear (line 136) | def test_bilinear(include_bias, input_feature_shape): function test_identity (line 144) | def test_identity(): function test_dropout_inference (line 155) | def test_dropout_inference(dropout_op): function test_dropout_eval_during_training (line 174) | def test_dropout_eval_during_training(dropout_op): function test_dropout_training (line 210) | def test_dropout_training(): function test_dropout2d_training (line 231) | def test_dropout2d_training(): function test_dropout3d_training (line 255) | def test_dropout3d_training(): function test_embedding (line 278) | def test_embedding(): function test_embedding_padding_idx (line 295) | def test_embedding_padding_idx(): function test_embedding_bag (line 328) | def test_embedding_bag(mode): function test_embedding_bag_per_sample_weights (line 338) | def test_embedding_bag_per_sample_weights(): function test_embedding_bag_include_last_offset (line 359) | def test_embedding_bag_include_last_offset(mode): function test_pixel_shuffle (line 385) | def test_pixel_shuffle(): function test_unfold (line 397) | def test_unfold(params): function test_fold (line 429) | def test_fold(params): function test_fold_with_padding (line 455) | def test_fold_with_padding(stride_x, stride_y): function test_weight_norm (line 480) | def test_weight_norm(dim): FILE: tests/misc_test.py function test_set_log_level (line 12) | def test_set_log_level(): function test_set_popart_log_level (line 35) | def test_set_popart_log_level(capfd): function test_zero_size_tensor_error (line 75) | def test_zero_size_tensor_error(): function test_torch_backward_error (line 94) | def test_torch_backward_error(): function test_generic_error_handling (line 115) | def test_generic_error_handling(error_type): function test_specific_error_handling (line 122) | def test_specific_error_handling(): function test_outline_attribute (line 169) | def test_outline_attribute(capfd): function test_compile_without_ipu (line 213) | def test_compile_without_ipu(): function test_error_on_cpu_tensor (line 228) | def test_error_on_cpu_tensor(): FILE: tests/multiconv_test.py function getPopartMultiConvs (line 12) | def getPopartMultiConvs(poptorch_model): function assert_contains_multiconv (line 24) | def assert_contains_multiconv(poptorch_model, expected_num=1): function test_multiconv_basic (line 33) | def test_multiconv_basic(num_layers): function multiconv_harness (line 62) | def multiconv_harness(multiconv): function test_multiconv_options_broadcast (line 90) | def test_multiconv_options_broadcast(): function test_multiconv_options_per_conv (line 100) | def test_multiconv_options_per_conv(): function test_multiconv_layers (line 110) | def test_multiconv_layers(): function test_invalid_multiconv_nested (line 152) | def test_invalid_multiconv_nested(): function test_invalid_multiconv_empty (line 171) | def test_invalid_multiconv_empty(): function test_invalid_multiconv_options (line 185) | def test_invalid_multiconv_options(): FILE: tests/non_contiguous_tensors_test.py class FiveAdder (line 9) | class FiveAdder(torch.nn.Module): method forward (line 10) | def forward(self, in_1, in_2, in_3, in_4, in_5): function test_non_contiguous (line 14) | def test_non_contiguous(): FILE: tests/norms_test.py function test_batchNorm (line 28) | def test_batchNorm(batch_norm, affine, running_stats, training): function test_batchNorm_typing (line 65) | def test_batchNorm_typing(): function test_batchNorm_eval_during_training (line 85) | def test_batchNorm_eval_during_training(): function test_layerNorm (line 126) | def test_layerNorm(norm_dim): function test_layerNormPretrainedWeights (line 154) | def test_layerNormPretrainedWeights(): function test_groupNorm (line 211) | def test_groupNorm(dims): function test_groupNorm_exfail (line 243) | def test_groupNorm_exfail(): function test_groupNorm_typing (line 268) | def test_groupNorm_typing(): function test_instanceNorm (line 296) | def test_instanceNorm(instance_norm, d): function test_batchnorm_statistics (line 341) | def test_batchnorm_statistics(): function test_norm_in_loop (line 388) | def test_norm_in_loop(p): FILE: tests/ops_test.py function test_print_tensor (line 9) | def test_print_tensor(): function test_print_tensor_with_title (line 18) | def test_print_tensor_with_title(): function test_nop (line 27) | def test_nop(): function test_name_scope (line 36) | def test_name_scope(): function test_available_memory_last_op (line 56) | def test_available_memory_last_op(capfd): function test_available_memory_linear (line 80) | def test_available_memory_linear(capfd): FILE: tests/optimizers_test.py class LAMBNoBias (line 19) | class LAMBNoBias(poptorch.optim.LAMB): method __init__ (line 20) | def __init__(self, *args, **kwargs): class AdamWNoBias (line 24) | class AdamWNoBias(poptorch.optim.AdamW): method __init__ (line 25) | def __init__(self, *args, **kwargs): function assert_is_ipu_optimizer_state (line 41) | def assert_is_ipu_optimizer_state(state, should_be_empty=False): class OptimizerTestModel (line 59) | class OptimizerTestModel: method __init__ (line 60) | def __init__(self, options=None, num_groups=1): method parameters (line 84) | def parameters(self): method setOptimizer (line 87) | def setOptimizer(self, optimizer): method run (line 95) | def run(self): function test_optimizer (line 104) | def test_optimizer(opt): function test_sgd_IR (line 141) | def test_sgd_IR(opt): function test_adam_accum_type (line 186) | def test_adam_accum_type(capfd, opt, accum_type, first_order_type, function test_sgd_accum_type (line 215) | def test_sgd_accum_type(capfd, accum_type, velocity_accum_type): function test_velocity_scaling_copy (line 239) | def test_velocity_scaling_copy(use_combined_accum): function test_optimizer_groups (line 269) | def test_optimizer_groups(opt): function test_optimizer_groups_none_args (line 356) | def test_optimizer_groups_none_args(): function test_optimizer_SGD_separate_velocity_scale_matched (line 393) | def test_optimizer_SGD_separate_velocity_scale_matched(capfd): function test_optimizer_SGD_nesterov (line 406) | def test_optimizer_SGD_nesterov(): function test_optimizer_const (line 417) | def test_optimizer_const(opt): function test_optimizer_mark_as_variable (line 441) | def test_optimizer_mark_as_variable(opt): function test_lamb_max_weight_norm (line 463) | def test_lamb_max_weight_norm(opt): function test_variable_groups (line 497) | def test_variable_groups(capfd, use_combined_accum): function test_variable_default (line 603) | def test_variable_default(opt, capfd): function test_gradient_accum (line 784) | def test_gradient_accum(reduction): function test_gradient_accum_new_api (line 825) | def test_gradient_accum_new_api(reduction): function test_extra_attributes (line 866) | def test_extra_attributes(capfd, use_combined_accum): function test_extra_attributes2 (line 905) | def test_extra_attributes2(capfd, use_combined_accum): function test_extra_attributes3 (line 938) | def test_extra_attributes3(capfd, use_combined_accum): function test_rmsprop_tf_variant (line 976) | def test_rmsprop_tf_variant(use_tf_variant): function test_optimizer_results (line 1028) | def test_optimizer_results(opt): function test_gradient_clipping (line 1095) | def test_gradient_clipping(opt): function test_gradient_clipping_with_pipelining (line 1172) | def test_gradient_clipping_with_pipelining(): function test_read_ipu_state (line 1205) | def test_read_ipu_state(optim): function test_read_ipu_state_cached (line 1292) | def test_read_ipu_state_cached(caplog, capfd): function test_read_ipu_state_offline (line 1316) | def test_read_ipu_state_offline(): function test_read_ipu_state_on_detach (line 1334) | def test_read_ipu_state_on_detach(caplog, capfd, optim): function test_write_ipu_state (line 1377) | def test_write_ipu_state(optim, incomplete_state): function test_write_ipu_state_from_cpu (line 1450) | def test_write_ipu_state_from_cpu(): function test_write_ipu_state_before_override (line 1470) | def test_write_ipu_state_before_override(capfd): function test_LR_scheduler (line 1503) | def test_LR_scheduler(capfd): function test_write_ipu_state_from_checkpoint (line 1557) | def test_write_ipu_state_from_checkpoint(): function test_setOptimizer_frozen_options_ok (line 1606) | def test_setOptimizer_frozen_options_ok(): function test_setOptimizer_frozen_options_broken (line 1631) | def test_setOptimizer_frozen_options_broken(): function test_optimizer_warnings (line 1659) | def test_optimizer_warnings(capfd, opt, subclassed): FILE: tests/options_test.py function test_set_options (line 16) | def test_set_options(): class TestSetOptionsFromEnvironment (line 31) | class TestSetOptionsFromEnvironment: method test_block (line 34) | def test_block(self): method test_dotted_access (line 53) | def test_dotted_access(self): method test_enum_conversion (line 67) | def test_enum_conversion(self): method test_setting_popart_options (line 81) | def test_setting_popart_options(self): function test_invalid_options (line 103) | def test_invalid_options(key, value, expected_str): function test_set_options_from_file (line 116) | def test_set_options_from_file(capfd): function test_override_options_from_file (line 181) | def test_override_options_from_file(capfd): function test_set_popart_options (line 252) | def test_set_popart_options(capfd): function test_popart_patterns (line 351) | def test_popart_patterns(): function test_popart_partials (line 368) | def test_popart_partials(capfd, dtype, ptype): function test_automatic_loss_scaling (line 407) | def test_automatic_loss_scaling(optim, initial_ls): function test_real_ipu_selection (line 447) | def test_real_ipu_selection(): function test_ipu_id_selection (line 463) | def test_ipu_id_selection(): function test_offline_ipu (line 479) | def test_offline_ipu(): function test_export_proto_file (line 498) | def test_export_proto_file(): function test_tensor_location (line 515) | def test_tensor_location(): function test_running_statistics (line 544) | def test_running_statistics(capfd, dtype): function test_copying_options (line 567) | def test_copying_options(): function test_preserving_options_intact (line 619) | def test_preserving_options_intact(): function test_name_scope_hook_disabled (line 655) | def test_name_scope_hook_disabled(capfd, namescopes_enabled): function test_ipu_context_flag (line 705) | def test_ipu_context_flag(): function test_ipu_model (line 730) | def test_ipu_model(enabled, capfd): function test_log_cycle_count (line 757) | def test_log_cycle_count(capfd): function test_profile_report_with_model_name (line 780) | def test_profile_report_with_model_name(): function test_profile_report (line 799) | def test_profile_report(): function test_mean_reduction_strategy_implicit (line 836) | def test_mean_reduction_strategy_implicit(accum_type, training, combined... function test_mean_reduction_strategy_explicit (line 860) | def test_mean_reduction_strategy_explicit(): function test_num_io_tiles (line 879) | def test_num_io_tiles(): function test_options_change_after_use (line 896) | def test_options_change_after_use(): function test_copied_options_unfrozen (line 935) | def test_copied_options_unfrozen(): function test_wrap_options (line 957) | def test_wrap_options(): function test_options_printing (line 967) | def test_options_printing(capsys): FILE: tests/other_ops_test.py function default_assert_fn (line 26) | def default_assert_fn(native_out, poptorch_out): function op_harness (line 34) | def op_harness(op, *inputs, assert_fn=None, out_fn=None): function op_harness_inference (line 56) | def op_harness_inference(model, *inputs): function test_einsum (line 66) | def test_einsum(params, implicit_rhs): function test_einsum_chained (line 74) | def test_einsum_chained(): function test_einsum_transpose (line 92) | def test_einsum_transpose(): function test_meshgrid (line 111) | def test_meshgrid(arr_lengths): function test_cartesian_prod (line 121) | def test_cartesian_prod(arr_lengths): function test_tensordot (line 130) | def test_tensordot(dims): function test_scatter_add (line 143) | def test_scatter_add(inplace, dim): function test_scatter_reduce (line 172) | def test_scatter_reduce(dim, reduce, include_self): function test_scatter_reduce_fusable (line 200) | def test_scatter_reduce_fusable(reduce, include_self): function test_scatter_reduce_should_not_apply_grouped_fuse (line 242) | def test_scatter_reduce_should_not_apply_grouped_fuse(reduce, include_se... function test_index_reduce (line 286) | def test_index_reduce(dim, reduce, include_self): function test_2d_scatter_reduce_with_index_expansion (line 317) | def test_2d_scatter_reduce_with_index_expansion(capfd, reduce, expand_as, function test_2d_scatter_add_with_index_expansion (line 359) | def test_2d_scatter_add_with_index_expansion(capfd, expand_as): function test_gather_with_index_expansion (line 450) | def test_gather_with_index_expansion(capfd, expand_as, params): function test_available_memory_scatter_add (line 500) | def test_available_memory_scatter_add(capfd): function bucketize_op_test_body (line 548) | def bucketize_op_test_body(right, data, dtypes): function test_bucketize_basic (line 571) | def test_bucketize_basic(right, data, dtypes): function test_bucketize_fp (line 586) | def test_bucketize_fp(right, data): function test_bucketize_inplace (line 591) | def test_bucketize_inplace(out_int32): FILE: tests/outputs_test.py function test_multiple_tensors (line 10) | def test_multiple_tensors(): function test_simple_list (line 31) | def test_simple_list(): function test_simple_tuple (line 52) | def test_simple_tuple(): function test_nested_tuples (line 73) | def test_nested_tuples(): function test_same_tensor (line 95) | def test_same_tensor(): function test_dict (line 117) | def test_dict(): FILE: tests/overlapped_io_test.py function get_model (line 12) | def get_model(num_mat_muls, function test_io_input (line 72) | def test_io_input(): function test_input_error_messages (line 100) | def test_input_error_messages(): function test_overlap_host_io_output (line 165) | def test_overlap_host_io_output(): function test_output_error_messages (line 195) | def test_output_error_messages(): function test_overlap_both_non_input_marked (line 261) | def test_overlap_both_non_input_marked(): function test_overlap_both_non_output_marked (line 284) | def test_overlap_both_non_output_marked(): function test_overlap_tuple (line 309) | def test_overlap_tuple(): FILE: tests/phased_execution_test.py class LogChecker (line 62) | class LogChecker(helpers.LogChecker): method validate_2x2_parallel_phased_execution (line 63) | def validate_2x2_parallel_phased_execution(self): method validate_2x2_parallel_phased_execution_small (line 180) | def validate_2x2_parallel_phased_execution_small(self): method validate_serial_tensor_liveness (line 238) | def validate_serial_tensor_liveness(self, liveness): function test_2x2_parallel_phased_execution_inline (line 290) | def test_2x2_parallel_phased_execution_inline(capfd): function test_2x2_parallel_phased_execution_opts (line 344) | def test_2x2_parallel_phased_execution_opts(capfd): function test_2x2_parallel_phased_execution_small_opts (line 403) | def test_2x2_parallel_phased_execution_small_opts(capfd): function test_serial_tensor_liveness (line 480) | def test_serial_tensor_liveness(capfd, liveness): function test_phased_api (line 515) | def test_phased_api(): FILE: tests/pipelining_test.py function test_missing_block (line 16) | def test_missing_block(): function test_api_inline (line 42) | def test_api_inline(capfd, use_scope): function run_recomputation_checkpoint_test (line 79) | def run_recomputation_checkpoint_test(size, model_cls, exp_num_stash_ckp... function test_recomputation_checkpoint_tensor (line 112) | def test_recomputation_checkpoint_tensor(): function test_recomputation_checkpoint_tensor_two_inputs (line 140) | def test_recomputation_checkpoint_tensor_two_inputs(): function test_recomputation_checkpoint_tensor_tuple_inputs (line 174) | def test_recomputation_checkpoint_tensor_tuple_inputs(): function test_api_wrap (line 210) | def test_api_wrap(capfd): function test_api_wrap_2stages (line 248) | def test_api_wrap_2stages(capfd): function test_begin_block_printing (line 288) | def test_begin_block_printing(): function test_inline_AutoIncrement (line 336) | def test_inline_AutoIncrement(capfd): function test_api_AutoIncrement (line 370) | def test_api_AutoIncrement(capfd): function test_ipu_round_up_error (line 412) | def test_ipu_round_up_error(): class BlockFnModel (line 451) | class BlockFnModel(torch.nn.Module): method forward (line 452) | def forward(self, x): method mult_4 (line 459) | def mult_4(self, x): method mult_2 (line 463) | def mult_2(self, x): function test_block_function (line 469) | def test_block_function(capfd): function test_block_function_saving (line 484) | def test_block_function_saving(): function test_begin_block_functionality (line 492) | def test_begin_block_functionality(): function run_in_python_and_get_block_details (line 570) | def run_in_python_and_get_block_details(model_file_path): function test_saving_of_begin_block (line 585) | def test_saving_of_begin_block(): function test_begin_block_copy (line 609) | def test_begin_block_copy(): function model_fn (line 636) | def model_fn(inputs): function test_begin_block_with_function (line 640) | def test_begin_block_with_function(): function test_removeBlocks (line 654) | def test_removeBlocks(capfd): FILE: tests/pooling_and_padding_test.py function execute_and_check_wrapper (line 43) | def execute_and_check_wrapper(op, input, check_shape_only=False): function test_pool2D (line 70) | def test_pool2D(op): function test_adaptive_avg_pool (line 98) | def test_adaptive_avg_pool(op, n_output_dims): function test_1D_pads (line 125) | def test_1D_pads(op): function test_2D_pads (line 155) | def test_2D_pads(op): function test_3D_pads (line 180) | def test_3D_pads(op): function test_constant_pad_less_dims (line 199) | def test_constant_pad_less_dims(): function test_constant_pad_n_dims (line 212) | def test_constant_pad_n_dims(): FILE: tests/popdist_test.py function test_blocked_options (line 9) | def test_blocked_options(): function test_getters (line 45) | def test_getters(): function test_to_dict (line 60) | def test_to_dict(): FILE: tests/poplar_executor_test.py function test_ExecutableCaching (line 21) | def test_ExecutableCaching(capfd): function test_ExecutableCaching_env (line 45) | def test_ExecutableCaching_env(capfd): class Network (line 66) | class Network(torch.nn.Module): method forward (line 67) | def forward(self, x, y): function _create_model_and_export (line 71) | def _create_model_and_export(opts, filename): function test_offline_ipu_compileAndExport_file (line 83) | def test_offline_ipu_compileAndExport_file(filename=None): function test_precompile_then_load (line 93) | def test_precompile_then_load(): function test_offline_ipu_compileAndExport_dir (line 112) | def test_offline_ipu_compileAndExport_dir(): function test_inference_attributes (line 135) | def test_inference_attributes(): function test_training_attributes (line 158) | def test_training_attributes(): function test_explicit_destroy (line 192) | def test_explicit_destroy(use_half): function _compile_model_offline (line 249) | def _compile_model_offline(cache, pid, num_processes): function test_distributed_compile (line 284) | def test_distributed_compile(capfd): function test_cpu_output (line 323) | def test_cpu_output(): function test_get_cycles_error_msgs (line 346) | def test_get_cycles_error_msgs(): function test_get_cycles_no_hw (line 381) | def test_get_cycles_no_hw(): function test_get_compilation_time (line 399) | def test_get_compilation_time(): function test_rewrap_model (line 438) | def test_rewrap_model(rewrap_executor): FILE: tests/precompilation_test.py class ExampleModelWithLoss (line 19) | class ExampleModelWithLoss(torch.nn.Module): method __init__ (line 20) | def __init__(self): method forward (line 25) | def forward(self, x, target=None): function _createExampleModel (line 32) | def _createExampleModel(training, offline_target=False): function _compileAndExport (line 49) | def _compileAndExport(filename, export_model=True, training=True): function test_export_then_load_live_model (line 69) | def test_export_then_load_live_model(): function test_export_then_load (line 87) | def test_export_then_load(): function test_export_then_load_setIpu (line 97) | def test_export_then_load_setIpu(): function test_export_no_python_then_load (line 110) | def test_export_no_python_then_load(): function test_export_train_validate_no_python (line 126) | def test_export_train_validate_no_python(): function test_export_train_validate (line 163) | def test_export_train_validate(): function test_export_train_save_validate (line 197) | def test_export_train_save_validate(): function test_export_train_save_train (line 231) | def test_export_train_save_train(): function test_export_train_save_validate_load_weights (line 266) | def test_export_train_save_validate_load_weights(): function process_to_generate_profiling_data (line 301) | def process_to_generate_profiling_data(): function test_pva_annotations (line 358) | def test_pva_annotations(): FILE: tests/pyg_torch_scatter_test.py function scatter (line 15) | def scatter(): function scatter_log_softmax (line 18) | def scatter_log_softmax(): function scatter_softmax (line 21) | def scatter_softmax(): function scatter_std (line 24) | def scatter_std(): function scatter_add (line 27) | def scatter_add(): function scatter_max (line 30) | def scatter_max(): function scatter_min (line 33) | def scatter_min(): function scatter_mul (line 36) | def scatter_mul(): function scatter_logsumexp (line 39) | def scatter_logsumexp(): function torch_scatter_harness (line 43) | def torch_scatter_harness(func, src, index, out=None): function test_scatter (line 77) | def test_scatter(reduce): function test_composites (line 87) | def test_composites(func): function test_scatter_inplace (line 94) | def test_scatter_inplace(func): function test_scatter_add_zeros_optimized (line 103) | def test_scatter_add_zeros_optimized(capfd): function test_scatter_add_nd_expand_removed (line 114) | def test_scatter_add_nd_expand_removed(capfd): function test_scatter_overloads (line 127) | def test_scatter_overloads(shape, func): FILE: tests/random_sampling_test.py function int_mean (line 9) | def int_mean(x): function int_var (line 13) | def int_var(x): function rng_harness (line 20) | def rng_harness(rng_op, input, stat_funs, expected_dtype=torch.float): function test_rand (line 64) | def test_rand(): function test_distributions_uniform (line 75) | def test_distributions_uniform(): function test_uniform_ (line 88) | def test_uniform_(dt): function test_normal (line 99) | def test_normal(): function test_normal_ (line 111) | def test_normal_(dt): function test_normal_buffers (line 122) | def test_normal_buffers(): function test_distributions_normal (line 150) | def test_distributions_normal(): function test_randn (line 169) | def test_randn(): function test_random (line 184) | def test_random(input): function test_randint (line 195) | def test_randint(dtype): function test_normal_tensor_mean (line 207) | def test_normal_tensor_mean(): function test_normal_tensor_std (line 218) | def test_normal_tensor_std(): function test_bernoulli (line 230) | def test_bernoulli(t): function test_bernoulli_limits (line 239) | def test_bernoulli_limits(p): function test_bernoulli_ (line 248) | def test_bernoulli_(): function test_distributions_bernoulli (line 259) | def test_distributions_bernoulli(): function test_exponential_ (line 272) | def test_exponential_(lambd): function test_distributions_exponential (line 283) | def test_distributions_exponential(): function test_randperm (line 294) | def test_randperm(): function test_random_seed_repeatability (line 304) | def test_random_seed_repeatability(): FILE: tests/reduce_ops_test.py function reduce_harness (line 12) | def reduce_harness(func, input, **kwargs): function test_any_all (line 51) | def test_any_all(func, dim): function test_sum_mean (line 58) | def test_sum_mean(func, dim): function test_count_nonzero (line 64) | def test_count_nonzero(dim): function test_nansum (line 73) | def test_nansum(dim, keepdim, dtype): FILE: tests/replicated_graph_test.py function test_weight_update_replicas (line 10) | def test_weight_update_replicas(process_id=0, num_processes=1): function test_too_many_ipus (line 102) | def test_too_many_ipus(): class ModelWithLoss (line 141) | class ModelWithLoss(torch.nn.Module): method __init__ (line 142) | def __init__(self, W_init): method forward (line 146) | def forward(self, X): function test_per_replica_variables (line 153) | def test_per_replica_variables(orthogonalInput): function test_per_replica_variables_no_grouping (line 219) | def test_per_replica_variables_no_grouping(): FILE: tests/requires_grad_test.py function test_requires_grad_false_simple (line 9) | def test_requires_grad_false_simple(): function test_requires_grad_false_on_single_input (line 52) | def test_requires_grad_false_on_single_input(): FILE: tests/rnn_test.py function test_rnn (line 12) | def test_rnn(nonlinearity, batch_first): FILE: tests/sharding_test.py function test_sharded_execution (line 8) | def test_sharded_execution(): FILE: tests/slice_test.py function slice_test_harness (line 13) | def slice_test_harness(tensor_x, tensor_y, start_fn, end_fn, step): function test_slice_idx_size_of (line 34) | def test_slice_idx_size_of(step): function dynamic_slice_harness (line 45) | def dynamic_slice_harness(tensor_in, function test_dynamic_slice_one_dim_add (line 93) | def test_dynamic_slice_one_dim_add(step): function test_dynamic_slice_one_dim_subtract (line 106) | def test_dynamic_slice_one_dim_subtract(step): function test_dynamic_slice_one_dim_mix_up (line 119) | def test_dynamic_slice_one_dim_mix_up(step): function test_dynamic_slice_two_dims (line 138) | def test_dynamic_slice_two_dims(step): function test_dynamic_slice_two_dims_twice_sliced (line 152) | def test_dynamic_slice_two_dims_twice_sliced(step): function test_dynamic_slice_one_dim_equal (line 181) | def test_dynamic_slice_one_dim_equal(): function test_dynamic_slice_one_dim_less_than (line 201) | def test_dynamic_slice_one_dim_less_than(): function test_dynamic_slice_one_dim_add_non_factor (line 222) | def test_dynamic_slice_one_dim_add_non_factor(): function test_unbind (line 245) | def test_unbind(dim, use_half): function test_scalarslice (line 290) | def test_scalarslice(): function test_select_negative_dim (line 303) | def test_select_negative_dim(): function test_slice_negative_dim (line 317) | def test_slice_negative_dim(): function dynamic_update_harness (line 333) | def dynamic_update_harness(tensor_in, function test_dynamic_update_single_update (line 383) | def test_dynamic_update_single_update(): function test_dynamic_update_one_dim_add (line 395) | def test_dynamic_update_one_dim_add(): function test_dynamic_update_one_dim_subtract (line 408) | def test_dynamic_update_one_dim_subtract(): function test_dynamic_update_one_dim_equal (line 421) | def test_dynamic_update_one_dim_equal(): function test_dynamic_update_one_dim_add_non_factor (line 436) | def test_dynamic_update_one_dim_add_non_factor(): function test_dynamic_update_one_dim_less_than (line 452) | def test_dynamic_update_one_dim_less_than(): function test_dynamic_update_two_dims (line 473) | def test_dynamic_update_two_dims(): function test_dynamic_update_wrong_dim (line 487) | def test_dynamic_update_wrong_dim(): function test_dynamic_update_two_dims_dim1 (line 505) | def test_dynamic_update_two_dims_dim1(): function test_dynamic_update_3_dims_dim0 (line 522) | def test_dynamic_update_3_dims_dim0(): function test_dynamic_update_3_dims_dim1 (line 540) | def test_dynamic_update_3_dims_dim1(): function test_dynamic_update_3_dims_dim2 (line 558) | def test_dynamic_update_3_dims_dim2(): function test_dynamic_update_wrong_dtype (line 576) | def test_dynamic_update_wrong_dtype(): FILE: tests/tensor_ops_test.py function zeros_and_ones_harness (line 25) | def zeros_and_ones_harness(model, dtype, is_like): function test_zeros_and_ones (line 76) | def test_zeros_and_ones(dtype): function test_new_zeros_and_new_ones (line 88) | def test_new_zeros_and_new_ones(dtype): function test_zeros_like_and_ones_like (line 100) | def test_zeros_like_and_ones_like(dtype): function fuzzy_compare_exceptions (line 111) | def fuzzy_compare_exceptions(e_cpu, e_ipu): function op_harness (line 127) | def op_harness(op, class TestOpHarness (line 245) | class TestOpHarness: method training (line 252) | def training(self, request, monkeypatch): method test_fuzzy_error_mismatch (line 256) | def test_fuzzy_error_mismatch(self): method test_error_mismatch (line 268) | def test_error_mismatch(self): method test_exact_match (line 277) | def test_exact_match(self): method test_fuzzy_match (line 285) | def test_fuzzy_match(self): method test_fuzzy_mismatch (line 296) | def test_fuzzy_mismatch(self): method test_reject_fuzzy_match_without_fuzzy_option (line 308) | def test_reject_fuzzy_match_without_fuzzy_option(self): method test_reject_exception_if_not_native (line 317) | def test_reject_exception_if_not_native(self): method test_no_ipu_exception_with_native_exception (line 327) | def test_no_ipu_exception_with_native_exception(self): function test_cat (line 352) | def test_cat(dim, dtypes): function test_cat_transpose (line 365) | def test_cat_transpose(dim): function test_chunk (line 379) | def test_chunk(dim_size): function test_cat_chunk_slice (line 388) | def test_cat_chunk_slice(): function test_cat_chunk_slice_multiple_slices (line 403) | def test_cat_chunk_slice_multiple_slices(): function fast_gather_last_dim (line 418) | def fast_gather_last_dim(data, idx): function test_fastgather_3dim (line 438) | def test_fastgather_3dim(): function test_gather_3dim (line 462) | def test_gather_3dim(dim, larger_index): function test_gather_4dim (line 483) | def test_gather_4dim(dim, larger_index): function test_gather_5dim (line 504) | def test_gather_5dim(dim, larger_index): function test_scatter (line 525) | def test_scatter(dim, reduce): function test_scatter_value_inplace (line 540) | def test_scatter_value_inplace(reduce, value): function test_scatter_value (line 560) | def test_scatter_value(reduce, value): function test_scatter_ (line 580) | def test_scatter_(dim, reduce): function test_scatter_scalar (line 595) | def test_scatter_scalar(dim, reduce): function test_scatter_different_src_index_shapes (line 609) | def test_scatter_different_src_index_shapes(reduce): function test_reshape (line 620) | def test_reshape(): function test_constExpr_reshape (line 628) | def test_constExpr_reshape(): function test_split (line 656) | def test_split(split_size_or_sections): function test_split_singleton (line 664) | def test_split_singleton(): function test_squeeze (line 673) | def test_squeeze(inplace): function test_t (line 686) | def test_t(): function test_transpose (line 693) | def test_transpose(): function test_transpose_negative_dims (line 701) | def test_transpose_negative_dims(): function test_numpy_T (line 710) | def test_numpy_T(): function test_unsqueeze (line 721) | def test_unsqueeze(): function test_broadcast_to (line 729) | def test_broadcast_to(): function test_expand (line 745) | def test_expand(shape): function test_expand_scalar (line 754) | def test_expand_scalar(shape): function test_expand_as (line 762) | def test_expand_as(): function test_flatten (line 771) | def test_flatten(): function test_view (line 778) | def test_view(): function test_size (line 787) | def test_size(input_shapes): function test_fill (line 803) | def test_fill(capfd, input_shapes, t): function test_triu_in_constexpr (line 838) | def test_triu_in_constexpr(): function test_where_broadcast (line 863) | def test_where_broadcast(input_shapes): function test_masked_fill (line 887) | def test_masked_fill(input_shapes, value): function test_stack (line 902) | def test_stack(input_shapes, dim): function test_repeat (line 917) | def test_repeat(input_shapes, dims): function test_repeat_training_input (line 931) | def test_repeat_training_input(): function test_clone_one (line 958) | def test_clone_one(input_shapes, dtype): function test_clone_two (line 975) | def test_clone_two(): function test_copy_ (line 1005) | def test_copy_(input_shapes, dtype): function test_roll (line 1031) | def test_roll(shifts, dims): function test_flip (line 1039) | def test_flip(dims): function test_detach_and_clone (line 1048) | def test_detach_and_clone(with_clone, with_detach): function test_torch_inference_mode (line 1093) | def test_torch_inference_mode(): function test_requires_grad_true (line 1117) | def test_requires_grad_true(capfd): function test_arange (line 1133) | def test_arange(args): function test_arange_types (line 1155) | def test_arange_types(args): function test_unfold (line 1191) | def test_unfold(input_shape, dim, size, step): function test_take_along_dim (line 1207) | def test_take_along_dim(op): FILE: tests/test_doc_urls.py function get_all_links_from_file (line 18) | def get_all_links_from_file(rst_file_name): function convert_to_internal (line 37) | def convert_to_internal(url): function check_url_works (line 46) | def check_url_works(url): function test_all_links (line 73) | def test_all_links(): FILE: tests/test_perf_counters.py class Model (line 7) | class Model(torch.nn.Module): method forward (line 8) | def forward(self, x, y): function assert_perf_counter_size (line 12) | def assert_perf_counter_size(perf, inputs, outputs, steps, outsteps=None): function assert_latency_values (line 26) | def assert_latency_values(model): function test_simple (line 43) | def test_simple(): function test_steps (line 55) | def test_steps(): function test_replicas (line 69) | def test_replicas(): function test_inference (line 89) | def test_inference(mode, period, steps, replicas): function test_training (line 120) | def test_training(mode, period, steps, accums, replicas): function test_synthetic_data (line 158) | def test_synthetic_data(): FILE: tests/torch_nn_test.py function assert_allclose (line 410) | def assert_allclose(native_out, poptorch_out, rtol, atol): function test_pytorch_nn (line 430) | def test_pytorch_nn(test_name, use_half): FILE: tests/torchvision_inference_test.py function inference_harness (line 67) | def inference_harness(imagenet_model): function test_model (line 100) | def test_model(model): FILE: tests/type_support_test.py function get_simple_adder (line 17) | def get_simple_adder(return_type): function test_many_input_output_types (line 27) | def test_many_input_output_types(input_type, output_type): function test_many_implicit_cast (line 47) | def test_many_implicit_cast(input_1_type, input_2_type, output_type): function get_unpack_clamp (line 59) | def get_unpack_clamp(): function test_clamp_many_types (line 69) | def test_clamp_many_types(input_type): function get_simple_add_two (line 78) | def get_simple_add_two(): function test_add_two_many_types (line 87) | def test_add_two_many_types(input_type): function get_simple_incrementer (line 97) | def get_simple_incrementer(constant_type, return_type): function test_many_constant_implicit_cast (line 108) | def test_many_constant_implicit_cast(input_type, constant_type, output_t... function test_many_implicit_cast_greater_than (line 124) | def test_many_implicit_cast_greater_than(input_1_type, input_2_type): function test_many_implicit_cast_greater_than_one (line 139) | def test_many_implicit_cast_greater_than_one(input_type): function test_many_implicit_cast_equals (line 154) | def test_many_implicit_cast_equals(input_1_type, input_2_type): function test_many_implicit_cast_equals_one (line 183) | def test_many_implicit_cast_equals_one(input_type): function test_many_implicit_cast_less_than (line 198) | def test_many_implicit_cast_less_than(input_1_type, input_2_type): function test_many_implicit_cast_less_than_one (line 213) | def test_many_implicit_cast_less_than_one(input_type): function test_many_implicit_cast_one_less_than (line 227) | def test_many_implicit_cast_one_less_than(input_type): function test_small_int (line 241) | def test_small_int(input_type): function test_small_int_return (line 260) | def test_small_int_return(input_type): function test_tuple_and_list_constant (line 278) | def test_tuple_and_list_constant(): function test_tuple_and_list_constant_double_nested (line 294) | def test_tuple_and_list_constant_double_nested(): FILE: tests/weights_writing_test.py class ModelWithLoss (line 20) | class ModelWithLoss(torch.nn.Module): method __init__ (line 21) | def __init__(self, loss, use_dropout=False): method forward (line 30) | def forward(self, data, target=None): function test_training_and_inference (line 41) | def test_training_and_inference(use_half): function test_training_inference_parameters (line 84) | def test_training_inference_parameters(use_half): function test_access_parameters (line 131) | def test_access_parameters(use_half): class DummyTrainingModel (line 178) | class DummyTrainingModel(torch.nn.Module): method __init__ (line 183) | def __init__(self): method forward (line 190) | def forward(self, x, target): function test_torch_save (line 197) | def test_torch_save(): function test_seed_precompilation (line 241) | def test_seed_precompilation(capfd): function test_save_everything (line 292) | def test_save_everything(capfd, caplog): function train_and_check_weight_sharing_ipu_cpu (line 374) | def train_and_check_weight_sharing_ipu_cpu(model, training_model, input, function test_weights_sharing_ipu_cpu (line 411) | def test_weights_sharing_ipu_cpu(): function train_N_times_and_check_copying (line 492) | def train_N_times_and_check_copying(N, inference_model, training_model, ... function test_weights_sharing_ipus (line 516) | def test_weights_sharing_ipus(): function test_implicit_first_time_copy (line 557) | def test_implicit_first_time_copy(): function test_implicit_first_time_copy_negative (line 605) | def test_implicit_first_time_copy_negative(): function test_weight_overwrite_trained_weight (line 657) | def test_weight_overwrite_trained_weight(): function test_access_scalar_parameter (line 698) | def test_access_scalar_parameter(use_half): function test_copy_on_torch_equal (line 751) | def test_copy_on_torch_equal(reverse_equal_call): function test_copy_after_compile (line 774) | def test_copy_after_compile(): function test_torch_save_unwrapped (line 793) | def test_torch_save_unwrapped():