[Dune] A question on CollectiveCommunication

Aleksejs Fomins aleksejs.fomins at lspr.ch
Mon Jan 19 11:51:10 CET 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear Dune,

I am trying to understand the paradigm of the communication used in Dune

The question concerns the following
Dune::CommDataHandleIF< DataHandleImp, DataTypeImp >

and

int Dune::CollectiveCommunication< C >::gather( T * in, T * out, int
len, int root) const

In both cases we define a template parameter which defines the data
type to be communicated. As I understood from discussions with Marcus
and Peter, internally the communication is performed using MPI_BYTE
communication, i.e. sending size_of(T) data from a given address to a
given address.

It looks to me that this should not work for T = some stl object, because:
1) If T has variable size, and we are passing a pointer to the array
of T's in gather, then gather has no information on the length of each
individual T
2) If I would like to communicate T = std::vector<int>, would not the
internal implementation of vector contain a pointer to an array for
the current processor?

That said, the question is as follows:

Is dune communication interface intended to handle standard stl types?
If no, which DataTypes are expected/allowed to be communicated?

Regards,
Aleksejs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJUvOGeAAoJEDkNM7UOEwMZhwAP/iffuB/QBXnT4ZWKSv8qf/5z
p9lLf79FFVXh4uUGf/ay0SGsjD728Se5aOKzqdUB+uS1xfUtB9/yiS+CoUBenRK7
3Q/AQZk5pYnnH7CCO6FBj0+CH7fJSYFFKL625RVFnzJDQKYNJXMAnnGUWregCXuO
nUzUGlEqXTvILqKGfc8v3/lLVNJxwqwK7Q2IgoC0+IS0V52S0lJG1bWLjoP7LOVa
St9hQFjw/Vy8Fnct20l4L9/WYENgu55K7ytHha0tf8aiQ8Rp8glvCUj1Ff0p0+EC
UlQsdQXvu1cZHRAJS1vbs5KMcZRiAouSZIh0EmlJirBaCtm9y2yZhLgI0ZOTNjJi
pKemStZSmNUnn5EUUfxoV4Zvqfdru9+Hhpt5mW7J+4mU8nkqbYeNbIlBRk1GphsD
Mak1qNVc2gF9qeCw/GBeBUOPw0oYau9ZBK2ea/j1hp8EEPR6ASGM4GikvN6mY3rA
oq/0CX+FOYkqSNd/9iTayRqVLSwOIX+wVgmWd2ci+EP/h/IZx7vhH2SFL/rNgUL6
bH8ljhLNf2RpyLZ2i13QJeP8ctr6VZx5FGj5Tbx0I+dgvBNkcXN036X8Ffgsoguj
uuKCsQIp4IxedOXg3l+bL/UYfOKck8lMKCI85zgUEPrLldL0AZ1tXDYA+f5mA4Z8
8KfZPpZ8qdtRkadXAMH6
=l47V
-----END PGP SIGNATURE-----




More information about the Dune mailing list