<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta content="text/html; charset=utf-8">
</head>
<body class="" style="word-wrap:break-word; line-break:after-white-space">
Hi.<br>
I am traveling at the moment but I can have a look over the weekend hopefully.<br>
Just a remark:<br>
In it's original version the dgf factory reads everything onro process zero including the data and then everything is distributed when liadbalance on the factory. So sizes of zero could be right. Perhaps the assert is wrong...<br>
<br>
More later<br>
Andreas (one of the developers of dune-peits)<br>
<br>
Sent from my Huawei Mobile<br>
<br>
-------- Original Message --------<br>
Subject: Re: [Dune] Assertion error when running Dune greed in parallel<br>
From: "Guichard, Roland" <br>
To: "Guichard, Roland" <br>
CC: dune@lists.dune-project.org<br>
<br>
<div>
<div class="">@Markus,</div>
<div class=""><br class="">
</div>
<div class="">I passed a communicator I got from the Dune::Fem::MPIManager but the error persists:</div>
<div class=""><br class="">
</div>
<div class="">dune-peits: /home/vagrant/dune-grid-2.6.0/dune/grid/io/file/dgfparser/gridptr.hh:291: const std::vector<double>& Dune::GridPtr<GridType>::parameters(const Entity&) const [with Entity = Dune::Entity<0, 3, const Dune::ALU3dGrid<3, 3, (Dune::ALU3dGridElementType)4,
 Dune::ALUGridMPIComm>, Dune::ALU3dGridEntity>; GridType = Dune::ALUGrid<3, 3, (Dune::ALUGridElementType)0, (Dune::ALUGridRefinementType)0>]: Assertion `(unsigned int)gridView.indexSet().index( entity ) < elParam_.size()' failed.</div>
<div class=""><br class="">
</div>
<div class="">When I print out the indexSet.size( 0 ) from which elParam_.size() is initialised, I get:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">indexSet.size( 0 ) before the elParam_ initialisation: 0</div>
<div class="">After the DFGfactory call, after initialize, elParam_ size is: 0</div>
</div>
<div class=""><br class="">
</div>
<div class="">For the MPI rank 1. Any thoughts maybe ?</div>
<div class="">That’d be really appreciated.</div>
<div class=""><br class="">
</div>
<div class="">Best wishes,</div>
<br class="">
<div class="">
<div class="" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
<div class="" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
<div class="" style="word-wrap:break-word; line-break:after-white-space">
<div style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
Dr. Roland Guichard </div>
<div style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
Research Software Engineer</div>
<div style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
UCL-RITS</div>
<div style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
Internal Extension: 86947</div>
External Number: 02031086947
<div style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<br class="">
</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<br class="">
</div>
<br class="Apple-interchange-newline">
</div>
</div>
<br class="Apple-interchange-newline">
</div>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 5 Jul 2019, at 15:06, Guichard, Roland <<a href="mailto:r.guichard@ucl.ac.uk" class="">r.guichard@ucl.ac.uk</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="" style="word-wrap:break-word; line-break:after-white-space">
<div class="">
<div class="" style="letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
<div class="" style="letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
<div class="" style="word-wrap:break-word; line-break:after-white-space">
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
Thank you for the clarification. Some comments below:</div>
</div>
</div>
</div>
</div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On 5 Jul 2019, at 14:38, Jö Fahlke <<a href="mailto:jorrit.fahlke@wwu.de" class="">jorrit.fahlke@wwu.de</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Am Fr,  5. Jul 2019, 12:28:51 +0000 schrieb Guichard, Roland:<br class="">
<blockquote type="cite" class="">I see thanks.<br class="">
A quick question though, does it mean that there are several MPI initializations possible within Dune and the communicator that needs to be passed to the GridPtr (from dune-fem) is responsible for handling the mesh in parallel ?<br class="">
</blockquote>
<br class="">
MPI_Init is only ever called once.<br class="">
</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Yes, but potentially through multiple ways. I mean by this that for instance the Dune::Fem::MPIManager::initialize( argc, argv ) implicitly calls the <span class="n">MPIHelper</span><span class="o">::</span><span class="n">instance</span><span class="p">(</span>
<span class="n">argc</span><span class="p">,</span> <span class="n">argv</span> <span class="p">
). I understand that managers are wrappers around the MPIHelper one. However what I don’t quiet get so far is that, in the code, MPI ranks and size are retrieved using direct MPI calls:</span></div>
<div class=""><span class="p"><br class="">
</span></div>
<div class=""><span class="p">
<div class="">MPI_Comm_rank(MPI_COMM_WORLD, &myRank);</div>
<div class="">MPI_Comm_size(MPI_COMM_WORLD, &numProcs);</div>
<div class=""><br class="">
</div>
<div class="">But since the managers provide that functionality I don’t see the point in doing this. Ideally and for readability, you would access anything you need through a single manager. And this also applies to the communicator. </div>
<div class="">But that is merely my opinion.</div>
</span></div>
<div class=""><br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="">Though it is up to the grid manager implementation which MPI communicators are<br class="">
supported.  Some managers may implicitly assume MPI_COMM_WORLD, others may not<br class="">
support MPI at all (which is implicitly equivalent to MPI_COMM_SELF).<br class="">
</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Hm, do I need to understand managers in a larger scope that MPI only then ? </div>
<div class=""><br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="">For yet others it may be possible to specify the communicator when<br class="">
constructing the grid.  So if you obtained that communicator by splitting<br class="">
MPI_COMM_WORLD into two subsets of nodes, you will end up with two independent<br class="">
grids, each operating within one of the subsets.<br class="">
</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">OK got that one.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
Regards,<br class="">
Jö.<br class="">
<br class="">
-- <br class="">
Jorrit (Jö) Fahlke, Institute for Computational und Applied Mathematics,<br class="">
University of Münster, Orleans-Ring 10, D-48149 Münster<br class="">
Tel: +49 251 83 35146 Fax: +49 251 83 32729<br class="">
<br class="">
This message is protected by DoubleROT13 encryption<br class="">
Attempting to decode it violates the DMCA/WIPO acts<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>