/** * @see PhysicalOperator::getOutputDistribution */ virtual ArrayDistribution getOutputDistribution(std::vector<ArrayDistribution> const& inputDistros, std::vector< ArrayDesc> const& inputSchemas) const { if (haveAggregatesOrSynthetic(inputSchemas[0]) || isStrict()) { return ArrayDistribution(psHashPartitioned); } return ArrayDistribution(psUndefined); }
virtual ArrayDistribution getOutputDistribution(const std::vector<ArrayDistribution> & inputDistributions, const std::vector< ArrayDesc> & inputSchemas) const { return ArrayDistribution(psScaLAPACK); }
/** * Require that the input array is located entirely on instance 0. */ virtual DistributionRequirement getDistributionRequirement (const std::vector< ArrayDesc> & inputSchemas) const { vector<ArrayDistribution> requiredDistribution(1); requiredDistribution[0] = ArrayDistribution(psLocalInstance, boost::shared_ptr<DistributionMapper>(), 0); return DistributionRequirement(DistributionRequirement::SpecificAnyOrder, requiredDistribution); }
virtual ArrayDistribution getOutputDistribution( std::vector<ArrayDistribution> const&, std::vector<ArrayDesc> const&) const { return ArrayDistribution(psLocalInstance); }