gigl.distributed.base_sampler#
Attributes#
Classes#
Base class for GiGL distributed samplers. |
|
Inputs prepared for the neighbor sampling loop in _sample_from_nodes. |
Module Contents#
- class gigl.distributed.base_sampler.BaseDistNeighborSampler(*args, **kwargs)[source]#
Bases:
graphlearn_torch.distributed.DistNeighborSamplerBase class for GiGL distributed samplers.
Extends GLT’s DistNeighborSampler with shared utilities for preparing sampling inputs, including ABLP (anchor-based link prediction) support.
Subclasses must override
_sample_from_nodeswith their specific sampling strategy (e.g., k-hop neighbor sampling, PPR-based sampling).Initialize the sampler and the one-time sampling-error guard.
GLTDistNeighborSamplerhas no GiGL-owned state; we only add_sampling_error_sentso_send_adaptercan forward at most one poison pill per sampler instance. Initializing it here (rather than lazily) guarantees the failure handler never raisesAttributeError, which GLT’s event loop would swallow the same way it swallows the original sampling exception.
- class gigl.distributed.base_sampler.SampleLoopInputs[source]#
Inputs prepared for the neighbor sampling loop in _sample_from_nodes.
This dataclass holds the processed inputs that are passed to the core sampling loop. It allows _prepare_sample_loop_inputs to customize what nodes are sampled from and what metadata is attached to the output, without duplicating the sampling loop logic.