# Can ParaView process composite datasets in parallel?

**URL:** https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254
**Category:** Development
**Tags:** vtk
**Created:** [January 19, 2021, 6:17am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254 "2021-01-19T06:17:16Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 6:17am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/1 "2021-01-19T06:17:16Z")

</div>

I have a simple filter (let’s suppose it’s similar to `vtkTriangleFilter`) w/ 1 in, 1 out port. I derive from `vtkPointSetAlgorithm` so it supports both `vtkPolyData` and `vtkUnstructuredGridBase`

With the necessary CMake infrastructure from VTK and ParaView, I am able to build a ParaView plugin (I chose the xml option instead of writing another PV class). I run the plugin on a small `vtkPolyData` dataset. It works alright.

Now, I want to use the same plugin on a massive `vtkMultiBlockDataSet`/`vtkPartitionedDataSet`/(some other instance derived from `vtkCompositeDataSet`). (think \>= 1000 blocks).

From the logs, paraview uses [`vtkPVCompositeDataPipeline`](https://kitware.github.io/paraview-docs/latest/cxx/classvtkPVCompositeDataPipeline.html) which is not multi-threaded. I do not want to use an MPI based parallelism (for pieces). What I require already exists in VTK and has been discussed [here](https://discourse.vtk.org/t/vtkmultiblockdataset-and-parallel-pipelines/3137/2). How do I use it for my filter?

Does it suffice to set the prototype for executive in constructor of my filter like this?

```auto
MyVTKFilter::MyVTKFilter()
{
   ...
   vtkNew<vtkThreadedCompositeDataPipeline> prototype;
   this->SetDefaultExecutivePrototype(prototype);
}

```

I tried this and did not notice any difference. Do I have to set prototype outside constructor? Is this because ParaView sets it’s own executive after the filter’s constructor is called? Does ParaView even support this prototype?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 10:19am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/2 "2021-01-19T10:19:24Z")

</div>

I don’t think you are allowed to SetDefaultExecutivePrototype within your filter, especially in a ParaView context.

ParaView is working with multi-thread and parallel computing if correctly configured.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 10:59am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/3 "2021-01-19T10:59:46Z")

</div>

Hi. Thanks for your reply. I built ParaView 5.9.0-RC-4 with TBB

By correctly configured, do you mean just this option or there’s more?  
 ![image](https://discourse.paraview.org/uploads/default/original/2X/c/cba3588caf59eb8f132183204b95a38cb7552e5b.png)  
This was the only `SMP` related one I could find.  
I looked around quite a lot and noticed MPI related vars.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 11:37am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/4 "2021-01-19T11:37:30Z")

</div>

This option is enough for SMP multithreading, but your filter need to be implemented using smp, eg with a vtkSMP::For loop within, to take advantage of it.

MPI is for parallel computing and a whole other beast. depending of what your filter does, it may be trivial to implement your filter for it or very complex.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 2:08pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/5 "2021-01-19T14:08:56Z")

</div>

Hi again,  
Sorry for the late reply!

> MPI is for parallel computing and a whole other beast. depending of what your filter does, it may be trivial to implement your filter for it or very complex.

I’ve worked with MPI before and decided it is **not** what I wish to do here since it is not at all suitable for plugins or applications that run on end-user desktops that tend to do very well with **SMP** style parallelism (TBB/OpenMP/CUDA/…)

I only mentioned it so that I do not recieve suggestions to try out the _Pieces_ part of VTK. 🤷‍♂️

> This option is enough for SMP multithreading, but your filter need to be implemented using smp, eg with a vtkSMP::For loop within, to take advantage of it.

Alright. I will elaborate on my use case. I’m sorry I should’ve done this earlier!

1. My filter should **not** contain code that checks if the input is a **composite** or a **homogenous** dataset
2. It is designed and develop to execute on **non-composite** datasets. (`vtkPointSetAlgorithm` / `vtkPointSetAlgorithm` / `vtkPolyDataAlgorithm` / `vtkUnstructuredGridAlgorithm`)
3. When the input is **composite** , the filter should process _each_ of the individual datasets **in parallel**.

If you think about it, for most filters such as `vtkTriangleFilter` / `vtkElevation` / `vtkThreshold` / `vtkContourFilter` / `vtkClipDataSet` / _similar_, there is **no need** for inter-process(thread) communication.

`vtkConnectivityFilter` and few others that **need** ghost-geometry/inter-process communication are exceptions to this rule.

So, If only there was a way to have filters to execute in the VTK pipeline while conforming to **1** , **2** , and **3**.

`vtkCompositeDataPipeline`(and its derivative `vtkPVCompositeDataPipeline`) does **1** , **2** but not **3**!

_Hmm 🤔 I wonder what’s the solution here…_

Maybe one can subclass the executive,  
a. Analyze request and input information objects  
b. If primary input is **composite** but the filter’s input is **non-composite**

1. Construct proxy information objects for each block
2. Fire `RequestData` for these proxy objects **in parallel**.
3. Collect output blocks and put them in an output **composite** data

c. Else

1. Fire `RequestData` for provided information objects. (the usual)

Ohh wait! This is exactly what `vtkThreadedCompositeDataPipeline` does.

_a_, _b.1_, _b.3_, _c.1_ are taken care of in `vtkCompositeDataPipeline`.  
_b.2_ is implemented by `vtkThreadedCompositeDataPipeline` right [here](https://gitlab.kitware.com/vtk/vtk/-/blob/v9.0.1/Common/ExecutionModel/vtkThreadedCompositeDataPipeline.cxx#L243)!

Why should I **reinvent** the wheel by writing similar code in my **Algorithm** when it is implemented in an **Executive**?

I’m surprised nobody thought this is a trivial requirement. All the more surprised to find out ParaView doesn’t have a subclass for the **threaded** variant of the **composite** data pipeline.

@utkarsh.ayachit

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 2:16pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/6 "2021-01-19T14:16:26Z")

</div>

> [@jaswantp](#):
>
> When the input is **composite** , the filter should process _each_ of the individual datasets **in parallel**.

This is MPI parallelism, not TBB multithreading. Just run the pvserver in parallel.  
[https://docs.paraview.org/en/latest/ReferenceManual/parallelDataVisualization.html](https://docs.paraview.org/en/latest/ReferenceManual/parallelDataVisualization.html)

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 2:52pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/7 "2021-01-19T14:52:16Z")

</div>

> visualizating simulation results from simulations run on supercomputing resources that are often too big for a single desktop machine to handle.

While it is interesting and a good solution, **No**. This is not what I need. I do not have a remote server running at all. Instead, I use ParaView in **standalone-mode**. The documentation you linked to is suitable for those with really large individual datasets part of a really large composite dataset where shared-memory systems just aren’t useful…

When the composite datasets have a reasonably small memory footprint but quite large in number, all that overhead from MPI is just pointless.

Consider me a pleb. All I’ve is a Linux-desktop that runs ParaView self-contained period

I wish to utilize the fairly good no. of cores on this desktop to execute the filter on each block in parallel. Hence I think `vtkThreadedCompositeDataPipeline` is perfect for my use.

Further, the documentation doesn’t really address the scenarios in which I wish to parallelize execution but **cannot** run ParaView in either **client-server** or **client-render server-data server**.

If I try `mpirun -np 4 pvserver`, I get this error which makes sense when launched on a desktop w/o a proper hostfile.

```auto
[jaswantp@jaswant-arch ~]$ mpirun -np 4 pvserver
Waiting for client...
Connection URL: cs://jaswant-arch:11111
Waiting for client...
Connection URL: cs://jaswant-arch:11111
( 0.156s) [pvserver] vtkSocket.cxx:187 ERR| vtkServerSocket (0x55c97cc65910): Socket error in call to bind. Address already in use.
( 0.156s) [pvserver] vtkSocket.cxx:187 ERR| vtkServerSocket (0x55d1e4e558c0): Socket error in call to bind. Address already in use.
Exiting...
Exiting...
Waiting for client...
Connection URL: cs://jaswant-arch:11111
( 0.156s) [pvserver]vtkTCPNetworkAccessMana:440 ERR| vtkTCPNetworkAccessManager (0x55c97c8d7b70): Failed to set up server socket.
( 0.156s) [pvserver]vtkTCPNetworkAccessMana:440 ERR| vtkTCPNetworkAccessManager (0x55d1e4ac7b70): Failed to set up server socket.
( 0.156s) [pvserver] vtkSocket.cxx:187 ERR| vtkServerSocket (0x55bb495cd930): Socket error in call to bind. Address already in use.
( 0.156s) [pvserver]vtkTCPNetworkAccessMana:440 ERR| vtkTCPNetworkAccessManager (0x55bb4923fb70): Failed to set up server socket.
Exiting...
Waiting for client...
Connection URL: cs://jaswant-arch:11111
( 0.158s) [pvserver] vtkSocket.cxx:187 ERR| vtkServerSocket (0x55b3fe15f910): Socket error in call to bind. Address already in use.
Exiting...
( 0.158s) [pvserver]vtkTCPNetworkAccessMana:440 ERR| vtkTCPNetworkAccessManager (0x55b3fddd1b70): Failed to set up server socket.

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 2:58pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/8 "2021-01-19T14:58:52Z")

</div>

You need to enable the PARAVIEW\_USE\_MPI in your build.

You can use pvserver locally very easilly using the Edit-\>Settings-\>AutoMPI mode if you want to avoid running pvserver manually, you still need to enable the MPI option though.

If you really want to use `vtkThreadedCompositeDataPipeline` you will need to use only VTK and not ParaView.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 3:05pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/9 "2021-01-19T15:05:48Z")

</div>

> [@mwestphal](#):
>
> You need to enable the PARAVIEW\_USE\_MPI in your build.

Ah right! Sorry, I forgot to do that. It’s building now…

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 3:13pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/10 "2021-01-19T15:13:36Z")

</div>

Alright, it built successfully.

I get another error now.

 ![image](https://discourse.paraview.org/uploads/default/original/2X/0/00448235b0c901f941012c5ba2e2023f60bc4806.png)

Here is my ParaView Client Information if it helps…

```auto
Client Information:
Version: 5.9.0-RC4
VTK Version: 9.0.0-2350-gfc5d7cb174
Qt Version: 5.15.2
vtkIdType size: 64bits
Embedded Python: On
Python Library Path: /usr/lib/python3.9
Python Library Version: 3.9.1 (default, Dec 13 2020, 11:55:53) [GCC 10.2.0]
Python Numpy Support: On
Python Numpy Path: /usr/lib/python3.9/site-packages/numpy
Python Numpy Version: 1.19.5
Python Matplotlib Support: Off
Python Testing: Off
MPI Enabled: On
Disable Registry: Off
Test Directory: 
Data Directory: 
OpenGL Vendor: NVIDIA Corporation
OpenGL Version: 3.2.0 NVIDIA 460.32.03
OpenGL Renderer: GeForce GTX 1050/PCIe/SSE2

Connection Information:
Remote Connection: No

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 3:17pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/11 "2021-01-19T15:17:13Z")

</div>

Are you able to use it without the AutoMPI mode with but manually launching pvserver ?

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 3:18pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/12 "2021-01-19T15:18:31Z")

</div>

No, but this time the error is logged from just one rank

```auto
[jaswantp@jaswant-arch build]$ mpirun -np 4 pvserver
Waiting for client...
Connection URL: cs://jaswant-arch:11111
( 0.238s) [pvserver.0] vtkSocket.cxx:187 ERR| vtkServerSocket (0x55e5d021c150): Socket error in call to bind. Address already in use.
( 0.238s) [pvserver.0]vtkTCPNetworkAccessMana:440 ERR| vtkTCPNetworkAccessManager (0x55e5cff89180): Failed to set up server socket.
Exiting...
Exiting...
Exiting...
Exiting...

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 3:20pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/13 "2021-01-19T15:20:33Z")

</div>

make sure that:

1. no remaining session of pvserver are running on your computer: `ps -ef|grep pvervser`
2. You are actually using your locally build pvserver by using:` ./bin/pvervser`

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 19, 2021, 3:39pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/14 "2021-01-19T15:39:52Z")

</div>

> [@mwestphal](#):
>
> no remaining session of pvserver are running on your computer: `ps -ef|grep pvervser`

Thank you. It was this.

I still get the same error from ParaView with AutoMPI. However, no issues manually starting up `pvserver`.

There are even more issues running a full pipeline that is part-composite and part-homogenous in this way, especially with third-party plugins. For starters, these are the errors I get. I guess it’s going to be a (fun) long ride debugging it now. This pipeline is a mix of [TTK](https://github.com/topology-tool-kit/ttk) and some custom filters.

```auto
Waiting for client...
Connection URL: cs://jaswant-arch:11111
Accepting connection(s): jaswant-arch:11111
Client connected.
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒░░░▒▒░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░ ░░░░░░░░░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░░░░░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒▒▒▒▒▒▒▒▒▒▒ ░▒▒ ░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▄▓██▓█████▓▄▄░░░▒ ░░░░░░░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▓▓▓▀▀▀▀▀▀▀████▓▓▓▓▄░░ ░░░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒ ░░░▀██▓▓▓▓▓░░ ░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒ ░▀██▓▓▓▓░ ░░░░▒ ░░░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒░░░▒▒░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░ ░░░░░░░░░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░░░░░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒▒▒▒▒▒▒▒▒▒▒ ░▒▒ ░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▄▓██▓█████▓▄▄░░░▒ ░░░░░░░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▓▓▓▀▀▀▀▀▀▀████▓▓▓▓▄░░ ░░░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒ ░░░▀██▓▓▓▓▓░░ ░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒ ░▀██▓▓▓▓░ ░░░░▒ ░░░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒�[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒░░░▒▒░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░ ░░░░░░░░░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░░░░░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒▒▒▒▒▒▒▒▒▒▒ ░▒▒ ░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▄▓██▓█████▓▄▄░░░▒ ░░░░░░░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▓▓▓▀▀▀▀▀▀▀████▓▓▓▓▄░░ ░░░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒ ░░░▀██▓▓▓▓▓░░ ░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒░░░▒▒░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░ ░░░░░░░░░░░▒▒▒▒▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ░░░░░░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒▒▒▒▒▒▒▒▒▒▒ ░▒▒ ░░▒▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒ ░░░░▒ ░░▒▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▒▒▒▄▓██▓█████▓▄▄░░░▒ ░░░░░░░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒▓▓▓▀▀▀▀▀▀▀████▓▓▓▓▄░░ ░░░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒▒▒▒ ░░░▀██▓▓▓▓▓░░ ░░░▒ ░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒ ░▀██▓▓▓▓░ ░░░░▒ ░░░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒�[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▒▒▒▒▒▒ ░▀██▓▓▓▓░ ░░░░▒ ░░░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░░ ▒▒▒ ░░▀▓▓▓▓▒░ ░░░▒░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ░▐▓▓▓▒▒ ░░░░▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▓▒▒▒ ░░░░░▒▒ ░░▒
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▒▒▒░░░░░░░▒▒ ░░▒
[Common] ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░░░░▐▓▒▒▒░░░░░░░▒▒ ░░
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░░ ▒▒▒ ░░▀▓▓▓▓▒░ ░░░▒░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ░▐▓▓▓▒▒ ░░░░▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▓▒▒▒ ░░░░░▒▒ ░░▒
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▒▒▒░░░░░░░▒▒ ░░▒
[Common] ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░░░░▐▓▒▒▒░░░░░░░▒▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ░░░░░░▒▒░▓▒▒▒░░░░░░░▒▒▒░░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░ ▓▒▒░░░░░░▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒░░░▓▒▒░▒░░▒▒▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▓▒░ ▒▒▒▒▒▒▒▒▒▒▒░░▒
�▒▒▒▒▒░▒░░ ▒▒▒ ░░▀▓▓▓▓▒░ ░░░▒░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ░▐▓▓▓▒▒ ░░░░▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▓▒▒▒ ░░░░░▒▒ ░░▒
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▒▒▒░░░░░░░▒▒ ░░▒
[Common] ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░░░░▐▓▒▒▒░░░░░░░▒▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ░░░░░░▒▒░▓▒▒▒░░░░░░░▒▒▒░░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░ ▓▒▒░░░░░░▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒░░░▓▒▒░▒░░▒▒▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▓▒░ ▒▒▒▒▒▒▒▒▒▒▒░░▒
[Common] ▒░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░░ ▒▒▒ ░░▀▓▓▓▓▒░ ░░░▒░░░▒
[Common] ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ░▐▓▓▓▒▒ ░░░░▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▓▒▒▒ ░░░░░▒▒ ░░▒
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░▐▓▒▒▒░░░░░░░▒▒ ░░▒
[Common] ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░░░░▐▓▒▒▒░░░░░░░▒▒ ░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ░░░░░░▒▒░▓▒▒▒░░░░░░░▒▒▒░░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░ ▓▒▒░░░░░░▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒░░░▓▒▒░▒░░▒▒▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▓▒░ ▒▒▒▒▒▒▒▒▒▒▒░░▒
[Common] ▒░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░ ░ ░▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░
[Common] ░░░░░░░░░░░░░▒░
[Common] __________ _ ____  ______  _______ ___  
[Common] |_ _|_ _| |/ / / / __\ \ |___ \ / _ \___ \ / _ \ 
[Common] | | | | | ' / | |/ __| |__ ) | | | |__) | | | |
[Common] | | | | | . \ | | ( __| | /__ /| |_| / __/| |_| |
[Common] |_| |_| |_|\_\ | |\ ___| | |_____ |\ ___/_____ |\___/ 
[Common] \_\ /_/                          
[Common] Welcome!
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ░░░░░░▒▒░▓▒▒▒░░░░░░░▒▒▒░░░
[Common] ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░ ▓▒▒░░░░░░▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒░░░▓▒▒░▒░░▒▒▒▒▒▒▒░░░
[Common] ░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ▓▒░ ▒▒▒▒▒▒▒▒▒▒▒░░▒
[Common] ▒░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░ ░ ░▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░▒▒▒▒▒▒▒▒░░░░
[Commo[Common] ▒░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░ ░ ░▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░
[Common] ░░░░░░░░░░░░░▒░
[Common] __________ _ ____  ______  _______ ___  
[Common] |_ _|_ _| |/ / / / __\ \ |___ \ / _ \___ \ / _ \ 
[Common] | | | | | ' / | |/ __| |__ ) | | | |__) | | | |
[Common] | | | | | . \ | | ( __| | /__ /| |_| / __/| |_| |
[Common] |_| |_| |_|\_\ | |\ ___| | |_____ |\ ___/_____ |\___/ 
[Common] \_\ /_/                          
[Common] Welcome!
�▒▒▒▒▒░░░ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒ ▒▒▒▒▒▒▒▒▒▒▒░░░
[Common] ▒░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░ ░ ░▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒░░░
[Common] ░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░
[Common] ░░░░░░░░░░░░░▒░
[Common] __________ _ ____  ______  _______ ___  
[Common] |_ _|_ _| |/ / / / __\ \ |___ \ / _ \___ \ / _ \ 
[Common] | | | | | ' / | |/ __| |__ ) | | | |__) | | | |
[Common] | | | | | . \ | | ( __| | /__ /| |_| / __/| |_| |
[Common] |_| |_| |_|\_\ | |\ ___| | |_____ |\ ___/_____ |\___/ 
[Common] \_\ /_/                          
[Common] Welcome!
n] ░░▒░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░
[Common] ░░▒░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░
[Common] ░░░░░░░░░░░░░▒░
[Common] __________ _ ____  ______  _______ ___  
[Common] |_ _|_ _| |/ / / / __\ \ |___ \ / _ \___ \ / _ \ 
[Common] | | | | | ' / | |/ __| |__ ) | | | |__) | | | |
[Common] | | | | | . \ | | ( __| | /__ /| |_| / __/| |_| |
[Common] |_| |_| |_|\_\ | |\ ___| | |_____ |\ ___/_____ |\___/ 
[Common] \_\ /_/                          
[Common] Welcome!
[ArrayPreconditioning] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[ArrayPreconditioning] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[ArrayPreconditioning] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[ArrayPreconditioning] Preconditioned selected scalar arrays . [0.000s|12T|100%]
[ArrayPreconditioning] Preconditioned selected scalar arrays . [0.000s|12T|100%]
[ArrayPreconditioning] Preconditioned selected scalar arrays . [0.000s|12T|100%]
[FTMTree] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[FTMTree] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[FTMTree] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
( 160.037s) [pvserver.1] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x5620886ed3f0): Algorithm ttkFTMTree(0x562089f999e0) returned failure for request: vtkInformation (0x562088a9a200)
  Debug: Off
  Modified Time: 1897980
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.037s) [pvserver.2] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x55897c9d5b80): Algorithm ttkFTMTree(0x55897e2820b0) returned failure for request: vtkInformation (0x55897cd831b0)
  Debug: Off
  Modified Time: 1897980
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.035s) [pvserver.3] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x55cfd066ab60): Algorithm ttkFTMTree(0x55cfd1f16e00) returned failure for request: vtkInformation (0x55cfd0a17b20)
  Debug: Off
  Modified Time: 1897980
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.035s) [pvserver.3] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x55cfd0a54060): Algorithm vtkPVGeometryFilter(0x55cfd0a13ca0) returned failure for request: vtkInformation (0x55cfd0a54ea0)
  Debug: Off
  Modified Time: 1898060
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.037s) [pvserver.1] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x562088ad6690): Algorithm vtkPVGeometryFilter(0x562088a96380) returned failure for request: vtkInformation (0x562088ad74d0)
  Debug: Off
  Modified Time: 1898060
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.037s) [pvserver.2] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x55897cdbf6f0): Algorithm vtkPVGeometryFilter(0x55897cd7f420) returned failure for request: vtkInformation (0x55897cdc0530)
  Debug: Off
  Modified Time: 1898060
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

[ArrayPreconditioning] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[ArrayPreconditioning] Generated order array for scalar array `Elevation'
[ArrayPreconditioning] Preconditioned selected scalar arrays . [0.172s|12T|100%]
[FTMTree] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[OneSkeleton] Built 197120 edges .............................. [0.016s|1T|100%]
[ZeroSkeleton] Built 66049 vertex neighbors .................. [0.011s|12T|100%]
[FTMTree] Launching on field Elevation
[FTMTree] ======================================================================
[FTMTree] number of threads : 12
[FTMTree] * debug lvl : 3
[FTMTree] * tree type : Contour
[FTMTree] ======================================================================
[FTMTree] alloc .............................................. [0.007s|12T|100%]
[FTMTree] init ............................................... [0.489s|12T|100%]
[FTMTree] sort step .......................................... [0.027s|12T|100%]
[FTMTree] leafSearch ......................................... [0.026s|12T|100%]
[FTMtree_MT] leafGrowth JT ................................... [0.015s|12T|100%]
[FTMtree_MT] leafGrowth ST ................................... [0.019s|12T|100%]
[FTMtree_MT] trunk ST ........................................ [0.001s|12T|100%]
[FTMtree_MT] segment ST ...................................... [0.000s|12T|100%]
[FTMtree_MT] trunk JT ........................................ [0.008s|12T|100%]
[FTMtree_MT] segment JT ...................................... [0.000s|12T|100%]
[FTMTree] merge trees ....................................... [0.079s|12T|100%]
[FTMTree] combine full ....................................... [0.001s|12T|100%]
[FTMTree] build tree ......................................... [0.080s|12T|100%]
[FTMTree] Total ............................................. [0.596s|12T|100%]
( 160.947s) [pvserver.2] TiSieve.cpp:134 ERR| TiSieve (0x558980568440): Input is missing point data
( 160.947s) [pvserver.1] TiSieve.cpp:134 ERR| TiSieve (0x56208c21d120): Input is missing point data
( 160.947s) [pvserver.2] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x5589807bdd90): Algorithm TiSieve(0x558980568440) returned failure for request: vtkInformation (0x55898257b9d0)
  Debug: Off
  Modified Time: 1899556
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.945s) [pvserver.3] TiSieve.cpp:134 ERR| TiSieve (0x55cfd41f5600): Input is missing point data
( 160.945s) [pvserver.3] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x55cfd44528e0): Algorithm TiSieve(0x55cfd41f5600) returned failure for request: vtkInformation (0x55cfd6211120)
  Debug: Off
  Modified Time: 1899556
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.947s) [pvserver.1] vtkExecutive.cxx:752 ERR| vtkPVCompositeDataPipeline (0x56208c4dca20): Algorithm TiSieve(0x56208c21d120) returned failure for request: vtkInformation (0x56208e248270)
  Debug: Off
  Modified Time: 1899556
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.947s) [pvserver.2] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x558982592130): Algorithm vtkPVGeometryFilter(0x55898257c000) returned failure for request: vtkInformation (0x558982592f70)
  Debug: Off
  Modified Time: 1899728
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.947s) [pvserver.1] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x56208e25e9d0): Algorithm vtkPVGeometryFilter(0x56208e2488a0) returned failure for request: vtkInformation (0x56208e25f810)
  Debug: Off
  Modified Time: 1899728
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 160.945s) [pvserver.3] vtkExecutive.cxx:752 ERR| vtkCompositeDataPipeline (0x55cfd6227880): Algorithm vtkPVGeometryFilter(0x55cfd6211750) returned failure for request: vtkInformation (0x55cfd62286c0)
  Debug: Off
  Modified Time: 1899728
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA_OBJECT
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0

( 162.078s) [pvserver.0] vtkMPICommunicator.cxx:65 WARN| MPI had an error
------------------------------------------------
MPI_ERR_TRUNCATE: message truncated
------------------------------------------------
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 15.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

Loguru caught a signal: SIGTERM
Stack trace:
21 0x55cfccea355e pvserver(+0x255e) [0x55cfccea355e]
20 0x7f216df8b152 __libc_start_main + 242
19 0x55cfccea34e5 pvserver(+0x24e5) [0x55cfccea34e5]
18 0x7f216c2adbcf vtkMultiProcessController::BroadcastProcessRMIs(int, int) + 239
17 0x7f216c2ad990 vtkMultiProcessController::ProcessRMI(int, void*, int, int) + 304
16 0x7f216c95f4c5 vtkPVSessionCore::ExecuteStreamSatelliteCallback() + 181
15 0x7f216c95eef2 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 242
14 0x7f216c4a0b0d vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 29
13 0x7f216c4a065e vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 190
12 0x7f216c4a0545 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1173
11 0x7f216cee4510 vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&, void*) + 25248
10 0x7f216a7224da vtkPVRenderView::Update() + 426
9 0x7f216a7368d7 vtkPVView::AllReduce(unsigned long long, unsigned long long&, int, bool) + 679
8 0x7f21675c2ea0 vtkMPICommunicator::BroadcastVoidArray(void*, long long, int, int) + 176
7 0x7f21674f113b PMPI_Bcast + 283
6 0x7f215a9103ec ompi_coll_tuned_bcast_intra_dec_fixed + 252
5 0x7f216753777c ompi_coll_base_bcast_intra_binomial + 188
4 0x7f21675372e0 ompi_coll_base_bcast_intra_generic + 1264
3 0x7f21674dc496 ompi_request_default_wait + 326
2 0x7f2160cce19c opal_progress + 44
1 0x7f215aef3d19 /usr/lib/openmpi/openmpi/mca_btl_vader.so(+0x4d19) [0x7f215aef3d19]
0 0x7f216dfa06a0 /usr/lib/libc.so.6(+0x3d6a0) [0x7f216dfa06a0]
( 162.101s) [pvserver.3] :0 FATL| Signal: SIGTERM

Loguru caught a signal: SIGTERM
Stack trace:
30 0x55897856f55e pvserver(+0x255e) [0x55897856f55e]
29 0x7f4114e48152 __libc_start_main + 242
28 0x55897856f4e5 pvserver(+0x24e5) [0x55897856f4e5]
27 0x7f411316abcf vtkMultiProcessController::BroadcastProcessRMIs(int, int) + 239
26 0x7f411316a990 vtkMultiProcessController::ProcessRMI(int, void*, int, int) + 304
25 0x7f411381c4c5 vtkPVSessionCore::ExecuteStreamSatelliteCallback() + 181
24 0x7f411381bef2 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 242
23 0x7f411335db0d vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 29
22 0x7f411335d65e vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 190
21 0x7f411335d545 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1173
20 0x7f4113da1510 vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&, void*) + 25248
19 0x7f41115df3b6 vtkPVRenderView::Update() + 134
18 0x7f41115f472c vtkPVView::Update() + 268
17 0x7f41115f2b9f vtkPVView::CallProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformationVector*) + 159
16 0x7f41115a9e18 vtkPVGridAxes3DRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 40
15 0x7f41115a250f vtkPVDataRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 239
14 0x7f41130fe717 vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 279
13 0x7f41130fd381 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 881
12 0x7f41130baf4f vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 1343
11 0x7f41130b4f71 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 129
10 0x7f41130b8279 vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 57
9 0x7f41130be160 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 80
8 0x7f41115aa342 vtkPVGridAxes3DRepresentation::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 498
7 0x7f410e4810d8 vtkMPICommunicator::AllReduceVoidArray(void const*, void*, long long, int, int) + 488
6 0x7f410e3aa3d9 MPI_Allreduce + 441
5 0x7f410e3f9533 ompi_coll_base_allreduce_intra_recursivedoubling + 1059
4 0x7f410e3f8b98 ompi_coll_base_sendrecv_actual + 200
3 0x7f410e399496 ompi_request_default_wait + 326
2 0x7f4107b8b19c opal_progress + 44
1 0x7f4105ebbd19 /usr/lib/openmpi/openmpi/mca_btl_vader.so(+0x4d19) [0x7f4105ebbd19]
0 0x7f4114e5d6a0 /usr/lib/libc.so.6(+0x3d6a0) [0x7f4114e5d6a0]
( 162.103s) [pvserver.2] :0 FATL| Signal: SIGTERM

Loguru caught a signal: SIGTERM
Stack trace:
21 0x56208606655e pvserver(+0x255e) [0x56208606655e]
20 0x7fd96f39c152 __libc_start_main + 242
19 0x5620860664e5 pvserver(+0x24e5) [0x5620860664e5]
18 0x7fd96d6bebcf vtkMultiProcessController::BroadcastProcessRMIs(int, int) + 239
17 0x7fd96d6be990 vtkMultiProcessController::ProcessRMI(int, void*, int, int) + 304
16 0x7fd96dd704c5 vtkPVSessionCore::ExecuteStreamSatelliteCallback() + 181
15 0x7fd96dd6fef2 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 242
14 0x7fd96d8b1b0d vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 29
13 0x7fd96d8b165e vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 190
12 0x7fd96d8b1545 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1173
11 0x7fd96e2f5510 vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&, void*) + 25248
10 0x7fd96bb334da vtkPVRenderView::Update() + 426
9 0x7fd96bb478d7 vtkPVView::AllReduce(unsigned long long, unsigned long long&, int, bool) + 679
8 0x7fd9689d3ea0 vtkMPICommunicator::BroadcastVoidArray(void*, long long, int, int) + 176
7 0x7fd96890213b PMPI_Bcast + 283
6 0x7fd9601253ec ompi_coll_tuned_bcast_intra_dec_fixed + 252
5 0x7fd96894877c ompi_coll_base_bcast_intra_binomial + 188
4 0x7fd968948324 ompi_coll_base_bcast_intra_generic + 1332
3 0x7fd9688ed496 ompi_request_default_wait + 326
2 0x7fd9620df19c opal_progress + 44
1 0x7fd96030cc73 /usr/lib/openmpi/openmpi/mca_btl_vader.so(+0x4c73) [0x7fd96030cc73]
0 0x7fd96f3b16a0 /usr/lib/libc.so.6(+0x3d6a0) [0x7fd96f3b16a0]
( 162.103s) [pvserver.1] :0 FATL| Signal: SIGTERM

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 19, 2021, 3:42pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/15 "2021-01-19T15:42:15Z")

</div>

@Charles_Gueunet may have more insight for the TTK part.

Regarding the issue with AutoMPI, it is documented here:  
[https://gitlab.kitware.com/paraview/paraview/-/issues/18420](https://gitlab.kitware.com/paraview/paraview/-/issues/18420)

---

<div class="post-metadata">

### Author: ![Charles\_Gueunet](https://discourse.paraview.org/user_avatar/discourse.paraview.org/charles_gueunet/32/40_2.png) [@Charles\_Gueunet](https://discourse.paraview.org/u/Charles_Gueunet)
#### Post date: [January 20, 2021, 7:43am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/16 "2021-01-20T07:43:45Z")

</div>

TTK does not support MPI yet, however if I understand your pipeline correctly MPI here is only used to compute several pieces simultaneously and TTK filters are applied on complete and consistent data sets only. This should work (except for the displayed execution times that may be wrong.

I would encourage you to use some filters like the TTK Check Manifold filters to ensure that data set given to TTK filters are indeed valid.  
If you found a TTK bug, please report it on the [TTK github](https://github.com/topology-tool-kit/ttk). You can also tag me and mention this thread then.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jaswantp/32/11456_2.png) [@jaswantp](https://discourse.paraview.org/u/jaswantp)
#### Post date: [January 20, 2021, 8:04am UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/17 "2021-01-20T08:04:04Z")

</div>

@Charles_Gueunet, So far, no bugs in my local build of TTK. It’s awesome! I love what TTK can do. Its new build system has helped me understand how to build ParaView plugins to custom VTK filters. Thanks!

> [@Charles\_Gueunet](#):
>
> however if I understand your pipeline correctly MPI here is only used to compute several pieces simultaneously and TTK filters are applied on complete and consistent data sets only.

Well, my pipeline involves `partitions` / `blocks` instead of `pieces`. I understand the two are very different in VTK. Further, my pipeline runs without issues in client-server mode on a single mpi-rank. Just like it should.

![2021-01-20-131758_1920x1080_scrot](https://discourse.paraview.org/uploads/default/original/2X/c/ca4ede6cef4321334a09bb1823612e8c34845c70.png)

I suppose, most of the top content is straightforward…

Things to note:

- `TIARASieveSegmentation` outputs a `vtkPartitionedDataSet`. This filter is similar to `threshold` functionality but also adds extra cells on the boundary. (This is specific to my use case.)
- `TIARACookieCutter` is a faster, precise alternative to `vtkCookieCutter` for triangular meshes that I developed [here](https://discourse.vtk.org/t/2d-surface-cutter-development/4481). **I wish to run this and only this filter on all the cores.**
- There are more filters downstream that might have to run in parallel. But not all of them. This is the reason I initally tried hooking up `vtkThreadedCompositeDataPipeline` to some filters.

@mwestphal, Is there a way I can script the pipeline such that pre-selected filters (here the `CookieCutter`) run on all mpi ranks and the rest execute only on a single rank?

Maybe I’m asking for too much already, but here goes, is there an _advanced_ checkbox in filter’s properties panel that _restricts_ its execution to a single mpi rank?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2021, 12:42pm UTC](https://discourse.paraview.org/t/can-paraview-process-composite-datasets-in-parallel/6254/18 "2021-01-20T12:42:07Z")

</div>

> [@jaswantp](#):
>
> @mwestphal, Is there a way I can script the pipeline such that pre-selected filters (here the `CookieCutter`) run on all mpi ranks and the rest execute only on a single rank?

Yes, use RedistributeDataSet to distribute it the way you want.
