Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::pdlp::Sharder Class Reference

Detailed Description

Definition at line 34 of file sharder.h.

#include <sharder.h>

Classes

class  Shard

Public Types

using ConstSparseColumnBlock
using SparseColumnBlock

Public Member Functions

 Sharder (int64_t num_elements, int num_shards, Scheduler *scheduler, const std::function< int64_t(int64_t)> &element_mass)
 Sharder (int64_t num_elements, int num_shards, Scheduler *scheduler)
 Sharder (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, int num_shards, Scheduler *scheduler)
 Sharder (const Sharder &other_sharder, int64_t num_elements)
 Sharder (const Sharder &other)=delete
Sharderoperator= (const Sharder &other)=delete
 Sharder (Sharder &&other)=default
Sharderoperator= (Sharder &&other)=default
int NumShards () const
int64_t NumElements () const
int64_t ShardSize (int shard) const
int64_t ShardStart (int shard) const
int64_t ShardMass (int shard) const
void ParallelForEachShard (const std::function< void(const Shard &)> &func) const
double ParallelSumOverShards (const std::function< double(const Shard &)> &func) const
bool ParallelTrueForAllShards (const std::function< bool(const Shard &)> &func) const
const std::vector< int64_t > & ShardStartsForTesting () const

Member Typedef Documentation

◆ ConstSparseColumnBlock

Initial value:
::Eigen::Block<
const Eigen::SparseMatrix<double, Eigen::ColMajor, int64_t>,
Eigen::Dynamic, Eigen::Dynamic,
true>

Definition at line 38 of file sharder.h.

◆ SparseColumnBlock

Initial value:
::Eigen::Block<Eigen::SparseMatrix<double, Eigen::ColMajor, int64_t>,
Eigen::Dynamic, Eigen::Dynamic,
true>

Definition at line 42 of file sharder.h.

Constructor & Destructor Documentation

◆ Sharder() [1/6]

operations_research::pdlp::Sharder::Sharder ( int64_t num_elements,
int num_shards,
Scheduler * scheduler,
const std::function< int64_t(int64_t)> & element_mass )

Definition at line 37 of file sharder.cc.

◆ Sharder() [2/6]

operations_research::pdlp::Sharder::Sharder ( int64_t num_elements,
int num_shards,
Scheduler * scheduler )

Definition at line 73 of file sharder.cc.

◆ Sharder() [3/6]

operations_research::pdlp::Sharder::Sharder ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > & matrix,
int num_shards,
Scheduler * scheduler )
inline

Definition at line 161 of file sharder.h.

◆ Sharder() [4/6]

operations_research::pdlp::Sharder::Sharder ( const Sharder & other_sharder,
int64_t num_elements )

Definition at line 104 of file sharder.cc.

◆ Sharder() [5/6]

operations_research::pdlp::Sharder::Sharder ( const Sharder & other)
delete

◆ Sharder() [6/6]

operations_research::pdlp::Sharder::Sharder ( Sharder && other)
default

Member Function Documentation

◆ NumElements()

int64_t operations_research::pdlp::Sharder::NumElements ( ) const
inline

Definition at line 184 of file sharder.h.

◆ NumShards()

int operations_research::pdlp::Sharder::NumShards ( ) const
inline

Definition at line 181 of file sharder.h.

◆ operator=() [1/2]

Sharder & operations_research::pdlp::Sharder::operator= ( const Sharder & other)
delete

◆ operator=() [2/2]

Sharder & operations_research::pdlp::Sharder::operator= ( Sharder && other)
default

◆ ParallelForEachShard()

void operations_research::pdlp::Sharder::ParallelForEachShard ( const std::function< void(const Shard &)> & func) const

Definition at line 110 of file sharder.cc.

◆ ParallelSumOverShards()

double operations_research::pdlp::Sharder::ParallelSumOverShards ( const std::function< double(const Shard &)> & func) const

Definition at line 140 of file sharder.cc.

◆ ParallelTrueForAllShards()

bool operations_research::pdlp::Sharder::ParallelTrueForAllShards ( const std::function< bool(const Shard &)> & func) const

Definition at line 149 of file sharder.cc.

◆ ShardMass()

int64_t operations_research::pdlp::Sharder::ShardMass ( int shard) const
inline

Definition at line 198 of file sharder.h.

◆ ShardSize()

int64_t operations_research::pdlp::Sharder::ShardSize ( int shard) const
inline

Definition at line 186 of file sharder.h.

◆ ShardStart()

int64_t operations_research::pdlp::Sharder::ShardStart ( int shard) const
inline

Definition at line 192 of file sharder.h.

◆ ShardStartsForTesting()

const std::vector< int64_t > & operations_research::pdlp::Sharder::ShardStartsForTesting ( ) const
inline

Definition at line 218 of file sharder.h.


The documentation for this class was generated from the following files: