[Paraview-developers] MultiBlockDataSet rendering error with parallel Paraview

Prashant V prashant.v at quest-global.com
Thu Aug 6 00:03:11 EDT 2015


Utkarsh,

You are spot on. I am creating a vtkMultiBlockDataSet on each ParaView rank for each timestep.
For any specific timestep, the structure of MBD on all ranks is:

-Root MBD
   - Zone 1 MBD
      - Child 1 MBD
          - volume mesh (vtkUnstructuredGrid)
      - Child 2 MBD
          - Surface 1 (vtkPolyData)
          - Surface 2 (vtkPolyData)
          .
          .
          - Surface n (vtkPolyData)
   - Zone 2 MBD
      - Child 1 MBD
          - volume mesh (vtkUnstructuredGrid)
      - Child 2 MBD
          - Surface 1 (vtkPolyData)
          - Surface 2 (vtkPolyData)
          .
          .
          - Surface n (vtkPolyData)

I have noted that when simulation is run in parallel mode, geometry nodes/cells are decomposed in non-uniform way. This leads to empty surfaces (vtkPolyData) on some ranks. For example, rank 0 to m may distribute all nodes among them of surface 1 leaving ranks m+1 to n with empty vtkPolyData (corresponding to surface 1). Could this affect the rendering with parallel run of paraview?

Thanks,
Prashant
________________________________________
From: Utkarsh Ayachit [utkarsh.ayachit at kitware.com]
Sent: Wednesday, August 05, 2015 11:59 PM
To: Prashant V
Cc: paraview-developers at paraview.org
Subject: Re: [Paraview-developers] MultiBlockDataSet rendering error with parallel Paraview

Prashant,

If I understand correctly, you're creating a vtkMultiBlockDataSet
(MBD) on each ParaView rank for each timestep. What is the structure
of this MBD on all ranks for a specific timestep? Structure implies
the multiblock tree i.e, number of blocks in this MBD and its children
and so on. ParaView/VTK requires that the structure is identical on
all ranks. It's okay to have NULL datasets on ranks where there's no
data for a specific leaf node in the multblock tree.


Utkarsh

On Wed, Aug 5, 2015 at 12:17 PM, Prashant V <prashant.v at quest-global.com> wrote:
> Hi,
>
> I am relatively new to paraview and developing a co-processing framework for
> a client.
> I am facing problem when running paraview in parallel mode.
>
> I have developed a paraview source plugin which collects data from each
> iteration of solver simulation and renders in paraview.
> When simulation is run in parallel mode with n processes, source plugin
> collects n multiBlockDataSets.
> If paraview is also running in parallel mode with n processes, source plugin
> code assigns one multiblock to each paraview process.
> However rendering fails in this scenario with error message:
>
> 'vtkMultiBlockDataSet (0x1860afe0): Structure does not match. You must use
> CopyStructure before calling this method'
>
> While exploring this error, some old paraview e-mails suggested to apply d3
> filter to each dataset.
>
> I applied d3 filter to each multiblock as below:
>
> VTK_CREATE(vtkDistributedDataFilter, d3);
>
> d3->AddInputData(multiblock);
> d3->UpdateInformation();
> exec = static_cast<vtkStreamingDemandDrivenPipeline*>(d3->GetExecutive());
> exec->SetUpdateExtent(exec->GetOutputInformation(), piece, numPieces, 1); //
> 1 -> ghostlevel
> d3->Update();
>
> newMultiBlock->ShallowCopy(d3->GetOutput());
>
>
> However this leads to new set of errors:
>
> vtkPKdTree (0xea7b440): (process 0) VolumeBounds - degenerate volume
> vtkDistributedDataFilter (0xe7b6480): Unable to build k-d tree structure
> vtkDistributedDataFilter (0xe7b6480): vtkDistributedDataFilter::Execute k-d
> tree failure
>
> Can anyone advice here what could be going wrong? MultiBlockDataSets render
> perfectly with sequential run of paraview.
>
> Thanks,
> Prashant
> ---Disclaimer------------------------------ This e-mail contains PRIVILEGED
> AND CONFIDENTIAL INFORMATION intended solely for the use of the
> addressee(s). If you are not the intended recipient, please notify the
> sender by e-mail and delete the original message. Opinions, conclusions and
> other information in this transmission that do not relate to the official
> business of QuEST Global and/or its subsidiaries, shall be understood as
> neither given nor endorsed by it. Any statements made herein that are
> tantamount to contractual obligations, promises, claims or commitments shall
> not be binding on the Company unless followed by written confirmation by an
> authorized signatory of the Company.
> -----------------------------------------------------------------------------------
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at:
> http://markmail.org/search/?q=Paraview-developers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview-developers
>
---Disclaimer------------------------------ This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Opinions, conclusions and other information in this transmission that do not relate to the official business of QuEST Global and/or its subsidiaries, shall be understood as neither given nor endorsed by it. Any statements made herein that are tantamount to contractual obligations, promises, claims or commitments shall not be binding on the Company unless followed by written confirmation by an authorized signatory of the Company. -----------------------------------------------------------------------------------


More information about the Paraview-developers mailing list