Dear Maurice, The problem is that the size of `auto buffer = dealii::Utilities::pack(r1);` is not the same on all processes, which is a requirement if you use `MPI_Bcast`. My suggestion would to split the procedure into two steps: 1) bcast the size on rank 1; 2) bcast the actual data.
Peter On Monday, 8 June 2020 12:46:53 UTC+2, Maurice Rohracker wrote: > > Dear deal.II community, > > For a distributed implementation, we would like to broadcast packed data > objects. > > For the beginning, we would like to understand how the serialize function > for packing an object is working in the sense of the deal.II way, before it > is getting more complicated. > > I created a small test with a class, which should be broadcasted. As a > comparison, I took the dealii:Point<dim>, which can obviously be packed and > broadcasted without any issues. > > Unfortunately, the broadcast for our class does not work. We assume that > our serialize function is not in the correct manner. Is it possible to pack > own objects using the dealii::Utilities:pack() function? What is the proper > way defining the serialize function? > > Attached you'll find our small example code. We are using deal.II 9.0.1. > > Thank you very much in advance. > > Best regards, > Maurice Rohracker > Master Student Computational Engineering > FAU Erlange-Nürnberg > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/2b2fb018-0dfd-497a-a1df-9372f74e9e23o%40googlegroups.com.