]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fix distribution of levels in pft 10453/head
authorPeter Munch <peterrmuench@gmail.com>
Wed, 3 Jun 2020 15:42:09 +0000 (17:42 +0200)
committerPeter Munch <peterrmuench@gmail.com>
Wed, 3 Jun 2020 18:41:18 +0000 (20:41 +0200)
source/grid/tria_description.cc
tests/fullydistributed_grids/copy_serial_tria_01.mpirun=5.output
tests/fullydistributed_grids/copy_serial_tria_04.mpirun=4.output
tests/fullydistributed_grids/copy_serial_tria_04.mpirun=5.output
tests/fullydistributed_grids/memory_consumption_01.cc [new file with mode: 0644]
tests/fullydistributed_grids/memory_consumption_01.mpirun=5.output [new file with mode: 0644]
tests/serialization/parallel_fullydistributed_construction_data_1.output

index 5e5c61b475f547b40510e0dcd9902f2348d66d53..bcec7bcb3151e377afc1d774c0085d2f4dbc1fab 100644 (file)
@@ -227,6 +227,10 @@ namespace TriangulationDescription
       construction_data.smoothing = tria.get_mesh_smoothing();
       construction_data.settings  = settings;
 
+      const bool construct_multigrid =
+        settings &
+        TriangulationDescription::Settings::construct_multigrid_hierarchy;
+
       Assert(
         !(settings &
           TriangulationDescription::Settings::construct_multigrid_hierarchy) ||
@@ -254,7 +258,8 @@ namespace TriangulationDescription
           std::vector<bool> vertices_owned_by_locally_owned_cells_on_level(
             tria.n_vertices());
           for (auto cell : tria.cell_iterators_on_level(level))
-            if (cell->level_subdomain_id() == my_rank ||
+            if ((construct_multigrid &&
+                 (cell->level_subdomain_id() == my_rank)) ||
                 (cell->active() && cell->subdomain_id() == my_rank))
               add_vertices_of_cell_to_vertices_owned_by_locally_owned_cells(
                 cell, vertices_owned_by_locally_owned_cells_on_level);
@@ -358,7 +363,8 @@ namespace TriangulationDescription
           std::vector<bool> vertices_owned_by_locally_owned_cells_on_level(
             tria.n_vertices());
           for (auto cell : tria.cell_iterators_on_level(level))
-            if (cell->level_subdomain_id() == my_rank ||
+            if ((construct_multigrid &&
+                 (cell->level_subdomain_id() == my_rank)) ||
                 (cell->active() && cell->subdomain_id() == my_rank))
               add_vertices_of_cell_to_vertices_owned_by_locally_owned_cells(
                 cell, vertices_owned_by_locally_owned_cells_on_level);
index 0ea95b8bd799b6203bf080920c66be84baa8b02f..915123243366c5e9d75409529b1fcc0cc265bbb6 100644 (file)
@@ -1,14 +1,14 @@
 
 DEAL:0:2d::n_levels:                  4
-DEAL:0:2d::n_cells:                   255
-DEAL:0:2d::n_active_cells:            192
+DEAL:0:2d::n_cells:                   106
+DEAL:0:2d::n_active_cells:            80
 DEAL:0:2d::
 DEAL:0:2d::n_dofs:                             833
 DEAL:0:2d::n_locally_owned_dofs:               189
 DEAL:0:2d::
 DEAL:0:3d::n_levels:                  4
-DEAL:0:3d::n_cells:                   4095
-DEAL:0:3d::n_active_cells:            3584
+DEAL:0:3d::n_cells:                   1639
+DEAL:0:3d::n_active_cells:            1435
 DEAL:0:3d::
 DEAL:0:3d::n_dofs:                             31841
 DEAL:0:3d::n_locally_owned_dofs:               6945
index 27e9c8c351cfc34b36bbc17ce29ab1c0041a8f0e..838a77602bcfd83bafbfa03e1b40c8ac001979e1 100644 (file)
@@ -1,21 +1,21 @@
 
 DEAL:0:1d::n_levels:                  5
-DEAL:0:1d::n_cells:                   248
-DEAL:0:1d::n_active_cells:            128
+DEAL:0:1d::n_cells:                   80
+DEAL:0:1d::n_active_cells:            42
 DEAL:0:1d::
 DEAL:0:1d::n_dofs:                             257
 DEAL:0:1d::n_locally_owned_dofs:               65
 DEAL:0:1d::
 DEAL:0:2d::n_levels:                  4
-DEAL:0:2d::n_cells:                   5440
-DEAL:0:2d::n_active_cells:            4096
+DEAL:0:2d::n_cells:                   1876
+DEAL:0:2d::n_active_cells:            1416
 DEAL:0:2d::
 DEAL:0:2d::n_dofs:                             16641
 DEAL:0:2d::n_locally_owned_dofs:               4225
 DEAL:0:2d::
 DEAL:0:3d::n_levels:                  4
-DEAL:0:3d::n_cells:                   37440
-DEAL:0:3d::n_active_cells:            32768
+DEAL:0:3d::n_cells:                   15680
+DEAL:0:3d::n_active_cells:            13728
 DEAL:0:3d::
 DEAL:0:3d::n_dofs:                             274625
 DEAL:0:3d::n_locally_owned_dofs:               70785
index 4b93e5d7ce45261bf0db9969b3a0405e9e20e1fa..86d904f4a6a68099892b02f9c55b4da7e9f4439d 100644 (file)
@@ -1,21 +1,21 @@
 
 DEAL:0:1d::n_levels:                  5
-DEAL:0:1d::n_cells:                   248
-DEAL:0:1d::n_active_cells:            128
+DEAL:0:1d::n_cells:                   65
+DEAL:0:1d::n_active_cells:            34
 DEAL:0:1d::
 DEAL:0:1d::n_dofs:                             257
 DEAL:0:1d::n_locally_owned_dofs:               53
 DEAL:0:1d::
 DEAL:0:2d::n_levels:                  4
-DEAL:0:2d::n_cells:                   5440
-DEAL:0:2d::n_active_cells:            4096
+DEAL:0:2d::n_cells:                   1600
+DEAL:0:2d::n_active_cells:            1208
 DEAL:0:2d::
 DEAL:0:2d::n_dofs:                             16641
 DEAL:0:2d::n_locally_owned_dofs:               3409
 DEAL:0:2d::
 DEAL:0:3d::n_levels:                  4
-DEAL:0:3d::n_cells:                   37440
-DEAL:0:3d::n_active_cells:            32768
+DEAL:0:3d::n_cells:                   14352
+DEAL:0:3d::n_active_cells:            12566
 DEAL:0:3d::
 DEAL:0:3d::n_dofs:                             274625
 DEAL:0:3d::n_locally_owned_dofs:               57409
diff --git a/tests/fullydistributed_grids/memory_consumption_01.cc b/tests/fullydistributed_grids/memory_consumption_01.cc
new file mode 100644 (file)
index 0000000..0df6a30
--- /dev/null
@@ -0,0 +1,82 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2019 - 2020 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+
+// Monitor memory consumption.
+
+#include <deal.II/base/mpi.h>
+
+#include <deal.II/distributed/fully_distributed_tria.h>
+#include <deal.II/distributed/shared_tria.h>
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/fe/fe_q.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_out.h>
+#include <deal.II/grid/grid_tools.h>
+#include <deal.II/grid/tria.h>
+
+#include "./tests.h"
+
+using namespace dealii;
+
+template <int dim>
+void
+test(MPI_Comm comm)
+{
+  // create serial triangulation
+  Triangulation<dim> basetria;
+
+  GridGenerator::subdivided_hyper_cube(basetria, 10);
+  basetria.refine_global(2);
+
+  GridTools::partition_triangulation_zorder(
+    Utilities::MPI::n_mpi_processes(comm), basetria);
+
+  // create instance of pft
+  parallel::fullydistributed::Triangulation<dim> tria_pft(comm);
+
+  // register dynamic construction data
+  auto construction_data =
+    TriangulationDescription::Utilities::create_description_from_triangulation(
+      basetria, comm);
+
+  // actually create triangulation
+  tria_pft.create_triangulation(construction_data);
+
+  auto min_max_avg =
+    Utilities::MPI::min_max_avg(tria_pft.memory_consumption(), comm);
+
+  Assert((min_max_avg.min / min_max_avg.max >= 0.75),
+         ExcMessage("Memory consumption difference is too big!"));
+
+  deallog << "OK!" << std::endl;
+}
+
+int
+main(int argc, char *argv[])
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+  mpi_initlog();
+
+  const MPI_Comm comm = MPI_COMM_WORLD;
+
+  {
+    deallog.push("2d");
+    test<2>(comm);
+    deallog.pop();
+  }
+}
diff --git a/tests/fullydistributed_grids/memory_consumption_01.mpirun=5.output b/tests/fullydistributed_grids/memory_consumption_01.mpirun=5.output
new file mode 100644 (file)
index 0000000..ac9cbd9
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:2d::OK!
index eead08ef3d9828f055fef62077f40026931837d5..2331d0e2e77d9a8e2e47ae374dc685e9a7ea73af 100644 (file)
@@ -1,14 +1,14 @@
 
-DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0
+DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 4294967294 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0
 
-DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0
+DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 4294967294 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0
 
-DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0
+DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 4294967294 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0
 
-DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0
+DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 4294967294 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0
 
-DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0
+DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 4294967294 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0
 
-DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0
+DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 4294967294 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0
 
 DEAL:0::OK

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.