|
MADNESS 0.10.1
|


Classes | |
| class | MacroTaskPartitionerRow |
| custom partitioning for the exchange operator in exchangeoperator.h More... | |
Public Types | |
| typedef std::tuple< const std::vector< Function< T, NDIM > > &, const std::vector< Function< T, NDIM > > &, const std::vector< Function< T, NDIM > > & > | argtupleT |
| using | resultT = std::vector< Function< T, NDIM > > |
Public Member Functions | |
| MacroTaskExchangeRow (const long nresult, const double lo, const double mul_tol, const Algorithm algorithm) | |
| resultT | allocator (World &world, const argtupleT &argtuple) const |
| std::vector< Function< T, NDIM > > | operator() (const std::vector< Function< T, NDIM > > &vket, const std::vector< Function< T, NDIM > > &mo_bra, const std::vector< Function< T, NDIM > > &mo_ket) |
| compute exchange row-wise for a fixed orbital phi_i of vket | |
| std::vector< Function< T, NDIM > > | row (const std::vector< Function< T, NDIM > > &vket, const std::vector< Function< T, NDIM > > &mo_bra, const std::vector< Function< T, NDIM > > &mo_ket) |
| std::vector< Function< T, NDIM > > | row_fetch_compute (const std::vector< Function< T, NDIM > > &vket, const std::vector< Function< T, NDIM > > &mo_bra, const std::vector< Function< T, NDIM > > &mo_ket) |
Public Member Functions inherited from madness::MacroTaskOperationBase | |
| MacroTaskOperationBase () | |
| virtual | ~MacroTaskOperationBase () |
| virtual bool | accumulates_own_output () const |
| virtual void | cleanup () |
| release whatever the task kept across its batches, called once the queue has run | |
| virtual bool | handles_own_data_movement () const |
| true if the task moves its operand coefficients into the subworld itself | |
| virtual long | owner_hint (const Batch &, const long) const |
| which subworld should run this batch; -1 leaves the choice to the queue | |
Private Attributes | |
| Algorithm | algorithm_ |
| double | lo = 1.e-4 |
| double | mul_tol = 1.e-7 |
| long | nresult |
| bool | symmetric = false |
Additional Inherited Members | |
Public Attributes inherited from madness::MacroTaskOperationBase | |
| Batch | batch |
| Cloud * | cloud_ptr =0 |
| std::string | name ="unknown_task" |
| std::shared_ptr< MacroTaskPartitioner > | partitioner =0 |
| World * | subworld_ptr =0 |
| typedef std::tuple<const std::vector<Function<T, NDIM> >&, const std::vector<Function<T, NDIM> >&, const std::vector<Function<T, NDIM> >&> madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::argtupleT |
| using madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::resultT = std::vector<Function<T, NDIM> > |
|
inline |
References madness::name().
|
inline |
|
inline |
compute exchange row-wise for a fixed orbital phi_i of vket
create 2 worlds: one fetches the function coefficients from the universe, the other does the computation, then swap. The result is copied back to the universe
References MADNESS_EXCEPTION.
|
inline |
References apply(), cpu_time(), madness::dot(), lo, MADNESS_CHECK_THROW, madness::mul_sparse(), madness::World::size(), and truncate().
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |