Rheolef
7.2
an efficient C++ finite element environment
|
Definition at line 157 of file hack_array.h.
Classes | |
struct | dis_reference |
struct | message_type |
Public Member Functions | |
hack_array_mpi_rep (const A &alloc=A()) | |
hack_array_mpi_rep (const distributor &ownership, const parameter_type ¶m, const A &alloc=A()) | |
void | resize (const distributor &ownership, const parameter_type ¶m) |
A | get_allocator () const |
const distributor & | ownership () const |
const communicator & | comm () const |
size_type | dis_size () const |
size_type | size () const |
const generic_value_type & | operator[] (size_type ie) const |
generic_value_type & | operator[] (size_type ie) |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
dis_reference | dis_entry (size_type dis_i) |
void | dis_entry_assembly_begin () |
void | dis_entry_assembly_end () |
void | dis_entry_assembly () |
template<class Set , class Map > | |
void | append_dis_entry (const Set &ext_idx_set, Map &ext_idx_map) const |
get values from ext_idx_set, that are managed by another proc new version: instead of sending automatic_data_type, send data_size*raw_value_type to boost::mpi => should work with mpi::boost and use simple MPI_Datatype instead of mallocated complex one | |
template<class Set , class Map > | |
void | get_dis_entry (const Set &ext_idx_set, Map &ext_idx_map) const |
template<class Set > | |
void | append_dis_indexes (const Set &ext_idx_set) const |
template<class Set > | |
void | set_dis_indexes (const Set &ext_idx_set) |
void | update_dis_entries () const |
const_reference | dis_at (size_type dis_i) const |
template<class A2 > | |
void | repartition (const disarray_rep< size_type, distributed, A2 > &partition, hack_array_mpi_rep< T, A > &new_array, disarray_rep< size_type, distributed, A2 > &old_numbering, disarray_rep< size_type, distributed, A2 > &new_numbering) const |
const scatter_map_type & | get_dis_map_entries () const |
idiststream & | get_values (idiststream &ips) |
odiststream & | put_values (odiststream &ops) const |
template<class GetFunction > | |
idiststream & | get_values (idiststream &ips, GetFunction get_element) |
template<class PutFunction > | |
odiststream & | put_values (odiststream &ops, PutFunction put_element) const |
template<class PutFunction , class Permutation > | |
odiststream & | permuted_put_values (odiststream &ops, const Permutation &perm, PutFunction put_element) const |
![]() | |
hack_array_seq_rep (const A &alloc=A()) | |
hack_array_seq_rep (const distributor &ownership, const parameter_type ¶m, const A &alloc=A()) | |
void | resize (const distributor &ownership, const parameter_type ¶m) |
hack_array_seq_rep (size_type n, const parameter_type ¶m, const A &alloc=A()) | |
void | resize (size_type n, const parameter_type ¶m) |
A | get_allocator () const |
const distributor & | ownership () const |
const communicator & | comm () const |
size_type | size () const |
size_type | dis_size () const |
const generic_value_type & | operator[] (size_type ie) const |
generic_value_type & | operator[] (size_type ie) |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
idiststream & | get_values (idiststream &ips) |
odiststream & | put_values (odiststream &ops) const |
template<class GetFunction > | |
idiststream & | get_values (idiststream &ips, GetFunction get_element) |
template<class PutFunction > | |
odiststream & | put_values (odiststream &ops, PutFunction put_element) const |
Protected Types | |
typedef std::map< size_type, raw_type > | stash_map_type |
Protected Member Functions | |
void | set_dis_entry (size_type dis_i, const generic_value_type &val) |
![]() | |
void | _init (const distributor &ownership, const parameter_type ¶m) |
Protected Attributes | |
stash_map_type | _stash |
message_type | _send |
message_type | _receive |
size_type | _receive_max_size |
scatter_map_type | _ext_x |
![]() | |
distributor | _ownership |
parameter_type | _parameter |
size_type | _value_size |
size_type | _data_size |
Definition at line 162 of file hack_array.h.
typedef base::base raw_base |
Definition at line 163 of file hack_array.h.
typedef base::size_type size_type |
Definition at line 164 of file hack_array.h.
typedef base::value_type value_type |
Definition at line 165 of file hack_array.h.
typedef base::allocator_type allocator_type |
Definition at line 166 of file hack_array.h.
Definition at line 167 of file hack_array.h.
Definition at line 168 of file hack_array.h.
typedef base::raw_type raw_type |
Definition at line 169 of file hack_array.h.
typedef base::parameter_type parameter_type |
Definition at line 170 of file hack_array.h.
typedef base::reference reference |
Definition at line 171 of file hack_array.h.
typedef base::const_reference const_reference |
Definition at line 172 of file hack_array.h.
typedef base::iterator iterator |
Definition at line 173 of file hack_array.h.
typedef base::const_iterator const_iterator |
Definition at line 174 of file hack_array.h.
typedef distributed memory_type |
Definition at line 175 of file hack_array.h.
typedef std::map<size_type, automatic_value_type> scatter_map_type |
Definition at line 176 of file hack_array.h.
|
protected |
1) stash: store data before assembly() communications:
Definition at line 277 of file hack_array.h.
hack_array_mpi_rep | ( | const A & | alloc = A() | ) |
Definition at line 32 of file hack_array_mpi.icc.
hack_array_mpi_rep | ( | const distributor & | ownership, |
const parameter_type & | param, | ||
const A & | alloc = A() |
||
) |
Definition at line 42 of file hack_array_mpi.icc.
void resize | ( | const distributor & | ownership, |
const parameter_type & | param | ||
) |
Definition at line 53 of file hack_array_mpi.icc.
Definition at line 201 of file hack_array.h.
const distributor & ownership | ( | ) | const |
Definition at line 202 of file hack_array.h.
const communicator & comm | ( | ) | const |
Definition at line 203 of file hack_array.h.
Definition at line 204 of file hack_array.h.
Definition at line 206 of file hack_array.h.
const generic_value_type & operator[] | ( | size_type | ie | ) | const |
Definition at line 207 of file hack_array.h.
generic_value_type & operator[] | ( | size_type | ie | ) |
Definition at line 208 of file hack_array.h.
Definition at line 210 of file hack_array.h.
const_iterator begin | ( | ) | const |
Definition at line 211 of file hack_array.h.
Definition at line 212 of file hack_array.h.
const_iterator end | ( | ) | const |
Definition at line 213 of file hack_array.h.
dis_reference dis_entry | ( | size_type | dis_i | ) |
Definition at line 215 of file hack_array.h.
Definition at line 86 of file hack_array_mpi.icc.
Definition at line 100 of file hack_array_mpi.icc.
Definition at line 219 of file hack_array.h.
void append_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map | ||
) | const |
get values from ext_idx_set, that are managed by another proc new version: instead of sending automatic_data_type, send data_size*raw_value_type to boost::mpi => should work with mpi::boost and use simple MPI_Datatype instead of mallocated complex one
Definition at line 128 of file hack_array_mpi.icc.
void get_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map | ||
) | const |
Definition at line 225 of file hack_array.h.
void append_dis_indexes | ( | const Set & | ext_idx_set | ) | const |
Definition at line 231 of file hack_array.h.
Definition at line 234 of file hack_array.h.
Definition at line 218 of file hack_array_mpi.icc.
hack_array_mpi_rep< T, A >::const_reference dis_at | ( | size_type | dis_i | ) | const |
Definition at line 206 of file hack_array_mpi.icc.
void repartition | ( | const disarray_rep< size_type, distributed, A2 > & | partition, |
hack_array_mpi_rep< T, A > & | new_array, | ||
disarray_rep< size_type, distributed, A2 > & | old_numbering, | ||
disarray_rep< size_type, distributed, A2 > & | new_numbering | ||
) | const |
Definition at line 374 of file hack_array_mpi.icc.
const scatter_map_type & get_dis_map_entries | ( | ) | const |
Definition at line 257 of file hack_array.h.
idiststream & get_values | ( | idiststream & | ips | ) |
Definition at line 343 of file hack_array_mpi.icc.
odiststream & put_values | ( | odiststream & | ops | ) | const |
Definition at line 283 of file hack_array_mpi.icc.
idiststream & get_values | ( | idiststream & | ips, |
GetFunction | get_element | ||
) |
Definition at line 290 of file hack_array_mpi.icc.
odiststream & put_values | ( | odiststream & | ops, |
PutFunction | put_element | ||
) | const |
Definition at line 234 of file hack_array_mpi.icc.
odiststream & permuted_put_values | ( | odiststream & | ops, |
const Permutation & | perm, | ||
PutFunction | put_element | ||
) | const |
Definition at line 350 of file hack_array_mpi.icc.
|
protected |
Definition at line 68 of file hack_array_mpi.icc.
|
protected |
3) scatter (get_entry): specialized versions for T=container and T=simple type
Definition at line 290 of file hack_array.h.
|
protected |
Definition at line 291 of file hack_array.h.
|
protected |
Definition at line 292 of file hack_array.h.
Definition at line 293 of file hack_array.h.
|
mutableprotected |
Definition at line 294 of file hack_array.h.