[dune-pdelab] Reg: terminal freezes at vtk output

Steffen Müthing steffen.muething at iwr.uni-heidelberg.de
Thu Oct 18 14:20:59 CEST 2018


Hi Shubhangi,

the problem is that the P0FEM backend (for reasons I don’t know about) is designed to place DOFs on
only one type of cells, e.g. triangles or quads in 2D. For that reason, it does not claim to be of fixed size
and therefore does not export a block size, which in turn causes the PDELab machine to fail when trying
to calculate the aggregate block size.

That’s rather unfortunate, but the quickest workaround is probably to use a different FEM, e.g.

QkDGLocalFiniteElementMap<double,double,0,dim>

That should work for cubes, which you seem to be using. With that FEM, you can turn on Blocking::fixed again.

Steffen

> Am 18.10.2018 um 13:33 schrieb sgupta at geomar.de:
> 
> 
> So once again... I tried my dune 2.5 code with no blocking for the vector back-end.. Now I get the same issues with the linear solver in 2.5 too! 
> So, my question is, how can I specify a fixed blocking in dune 2.6 for my model, given that I use P0 fem space ? 
> 
> Thanks again, and best wishes, Shubhangi
> 
> ----- Reply message -----
> From: "Shubhangi Gupta" <sgupta at geomar.de>
> To: "Steffen Müthing" <steffen.muething at iwr.uni-heidelberg.de>
> Cc: <dune-pdelab at lists.dune-project.org>
> Subject: [dune-pdelab] Reg: terminal freezes at vtk output
> Date: Thu, Oct 18, 2018 12:30
> 
> Not sure if this is relevant, but here's a bit more information,
> 
> I am constructing a composite grid function space as following:
> 
> typedef typename GV::Grid::ctype Coord;
> typedef Dune::PDELab::P0ParallelConstraints CON0;
> using VBE0 = Dune::PDELab::ISTL::VectorBackend<>;                    // default block size: 1
> typedef Dune::PDELab::P0LocalFiniteElementMap<Coord,RF,dim> FEM0;        // basis function
> FEM0 fem0(Dune::GeometryType(Dune::GeometryType::cube,dim));
> typedef Dune::PDELab::GridFunctionSpace<GV, FEM0, CON0, VBE0> GFS0;
> GFS0 gfs0(gv, fem0);
> using VBE = Dune::PDELab::ISTL::VectorBackend<Dune::PDELab::ISTL::Blocking::none>;
> using GFS = Dune::PDELab::CompositeGridFunctionSpace<VBE,Dune::PDELab::EntityBlockedOrderingTag,GFS0,GFS0,GFS0,GFS0,GFS0,GFS0,GFS0>;
> GFS gfs(gfs0,gfs0,gfs0,gfs0,gfs0,gfs0,gfs0);
> Best wishes, Shubhangi
> 
> 
> 
> On 18.10.18 11:52, Shubhangi Gupta wrote:
>> Dear Steffen,
>> 
>> I thought of changing to dune 2.6 and see if I run into the same problem.
>> 
>> But now, with dune 2.6 I have another problem. Basically, its exactly the same test setting as before, but now the linear solver does not solve in parallel any more.
>> 
>> The only difference between my code in 2.5 and 2.6 versions is in the vector backend blocking. In 2.5 I had  "using VBE = Dune::PDELab::ISTL::VectorBackend<Dune::PDELab::ISTL::Blocking::fixed, num_of_variables>;"
>> 
>> whereas, in 2.6, I have "using VBE = Dune::PDELab::ISTL::VectorBackend<Dune::PDELab::ISTL::Blocking::none>;".
>> 
>> If I try to use a fixed blocking in 2.6, I get the following error:
>> 
>> /dune/dune-pdelab/dune/pdelab/backend/istl/vectorhelpers.hh:323:9: error: static assertion failed: You requested static blocking, but at least one leaf space has a finite element that does not support automatic block size extraction. Please specify the block size with the second template parameter of that space's vector backend.
>> 
>> FYI, In dune 2.5, the following linear solver was solving quite fine:
>> 
>> typedef Dune::PDELab::ISTLBackend_OVLP_GMRES_ILU0<GFS,CC> LS;
>> LS ls(gfs,cc,5000,1,200);
>> 
>> But now somehow it does not work. I also tried the following linear solvers, but none seems to solve...
>> 
>> typedef Dune::PDELab::ISTLBackend_BCGS_AMG_SSOR<IGO> LS;
>> LS ls(gfs,5000,1,true,true);
>> typedef  Dune::PDELab::ISTLBackend_BCGS_AMG_ILU0<IGO> LS;
>> LS ls(gfs,5000,0, false, true);
>> typedef Dune::PDELab::ISTLBackend_OVLP_BCGS_SSORk<GFS,CC> LS;
>> LS ls(gfs,cc,5000,1,1);
>> 
>> I am not sure what I am doing wrong here, and I'll be really grateful if somebody can help me out!
>> 
>> Thanks, and best wishes, Shubhangi
>> 
>> On 10.10.18 14:54, Steffen Müthing wrote:
>>> Hi Shubhangi,
>>> 
>>> that version contains the fix that makes sure you always get an error message. Does your
>>> program also hang in sequential runs? My next step would probably be to run a debug build
>>> and see if that hangs as well. If it does, I'd attach a debugger to the hanging process to see
>>> where exactly the problem is happening.
>>> 
>>> Steffen
>>> 
>>> 
>>>> Am 10.10.2018 um 13:07 schrieb Shubhangi Gupta <sgupta at geomar.de>
>>>> :
>>>> 
>>>> Hi Stefan,
>>>> 
>>>> I am running version 2.5. The program just silently freezes. There are no error messages.
>>>> 
>>>> 
>>>> On 10.10.2018 13:05, Steffen Müthing wrote:
>>>> 
>>>>> HI Shubhangi,
>>>>> 
>>>>> 
>>>>>> Am 09.10.2018 um 21:35 schrieb Shubhangi Gupta <sgupta at geomar.de>
>>>>>> :
>>>>>> 
>>>>>> Hi Steffen,
>>>>>> 
>>>>>> Thanks a lot for your reply! This is happening on my laptop, and also on the cluster... hmmm... I am not sure what to do next... DO you maybe have any suggestions?
>>>>>> 
>>>>> what version of Dune are you running? Errors before the start of VTK output are often related to missing
>>>>> directories for the files, and there were some bug fixes in recent Dune versions. Do you get any kind
>>>>> of error message, or does the program just silently freeze?
>>>>> 
>>>>> Steffen
>>>>> 
>>>>> 
>>>>>> Thanks again, and best wishes, Shubhangi
>>>>>> 
>>>>>> 
>>>>>> On 09.10.2018 21:02, Steffen Müthing wrote:
>>>>>> 
>>>>>>> Hi Shubhangi,
>>>>>>> 
>>>>>>> 
>>>>>>>> Am 09.10.2018 um 16:32 schrieb Shubhangi Gupta <sgupta at geomar.de>
>>>>>>>> :
>>>>>>>> 
>>>>>>>> Dear all,
>>>>>>>> 
>>>>>>>> I am currently experiencing a really strange problem during the execution of my dune program... When I run the problem in parallel, the program execution freezes in the terminal just before writing the vtk output file... the freeze occurs randomly, sometimes right before the first output, but sometimes after 5, 20, or even 500 outputs, even though I don't change anything about my problem setting! I am really puzzled, and I'll be very thankful for suggestions for solving/debugging this!
>>>>>>>> 
>>>>>>> that really sounds strange. The one explanation I can think of is a race condition. Are you running this on a cluster with a network file system?
>>>>>>> In that case, there might be an issue where one rank tries to write to a per-timestep subdirectory before the creation of that subdirectory has
>>>>>>> been flushed from rank 0 to the file server and the other compute nodes, but that’s just guessing right now (but that might explain the freeze if
>>>>>>> the program crash is not properly propagated by your MPI / batch system).
>>>>>>> 
>>>>>>> Steffen
>>>>>>> 
>>>>>>> 
>>>>>>>> Thanks in advance, and best wishes, Shubhangi
>>>>>>>> 
>>>>>>>> PS: So far, this problem occurs only in parallel. I write vtk output as follows:
>>>>>>>>         int subsampling = 0;
>>>>>>>>         typedef Dune::SubsamplingVTKWriter<GV> VTKWRITER;
>>>>>>>>         VTKWRITER vtkwriter(gv,subsampling,(int)0);
>>>>>>>>         typedef Dune::VTKSequenceWriter<GV> VTKSEQUENCEWRITER;
>>>>>>>>         VTKSEQUENCEWRITER vtkSequenceWriter(    std::make_shared<
>>>>>>>> 	VTKWRITER (vtkwriter), fileName, pathName,""    );
>>>>>>>>         .....
>>>>>>>>         .....
>>>>>>>>         vtkSequenceWriter.write(time,Dune::VTK::appendedraw);
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Dr. Shubhangi Gupta
>>>>>>>> Marine Geosystems
>>>>>>>> GEOMAR Helmholtz Center for Ocean Research
>>>>>>>> Wischhofstraße 1-3,
>>>>>>>> D-24148 Kiel
>>>>>>>> 
>>>>>>>> Room: 12-206
>>>>>>>> Phone: +49 431 600-1402
>>>>>>>> Email:
>>>>>>>> 
>>>>>>>> sgupta at geomar.de
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> dune-pdelab mailing list
>>>>>>>> 
>>>>>>>> dune-pdelab at lists.dune-project.org
>>>>>>>> https://lists.dune-project.org/mailman/listinfo/dune-pdelab
>>>>>> --
>>>>>> Dr. Shubhangi Gupta
>>>>>> Marine Geosystems
>>>>>> GEOMAR Helmholtz Center for Ocean Research
>>>>>> Wischhofstraße 1-3,
>>>>>> D-24148 Kiel
>>>>>> 
>>>>>> Room: 12-206
>>>>>> Phone: +49 431 600-1402
>>>>>> Email: 
>>>>>> sgupta at geomar.de
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>> --
>>>> Dr. Shubhangi Gupta
>>>> Marine Geosystems
>>>> GEOMAR Helmholtz Center for Ocean Research
>>>> Wischhofstraße 1-3,
>>>> D-24148 Kiel
>>>> 
>>>> Room: 12-206
>>>> Phone: +49 431 600-1402
>>>> Email: 
>>>> sgupta at geomar.de
>>>> 
>>>> 
>>>> 
>>>> 
>> -- 
>> Dr. Shubhangi Gupta
>> Marine Geosystems
>> GEOMAR Helmholtz Center for Ocean Research
>> Wischhofstraße 1-3, 
>> D-24148 Kiel
>> 
>> Room: 12-206
>> Phone: +49 431 600-1402
>> Email: 
>> sgupta at geomar.de
>> 
>> 
>> _______________________________________________
>> dune-pdelab mailing list
>> 
>> dune-pdelab at lists.dune-project.org
>> https://lists.dune-project.org/mailman/listinfo/dune-pdelab
> -- 
> Dr. Shubhangi Gupta
> Marine Geosystems
> GEOMAR Helmholtz Center for Ocean Research
> Wischhofstraße 1-3, 
> D-24148 Kiel
> 
> Room: 12-206
> Phone: +49 431 600-1402
> Email: 
> sgupta at geomar.de





More information about the dune-pdelab mailing list