<div dir="ltr">FYI: This has made it into the PV 5.5 release branch.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 21, 2018 at 5:49 PM, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">FYI: there's a merge request for doing the shallow copy in merge blocks for the situation when there's only a single, unstructured grid -- <a href="https://gitlab.kitware.com/vtk/vtk/merge_requests/4103" target="_blank">https://gitlab.kitware.com/<wbr>vtk/vtk/merge_requests/4103</a>. Utkarsh thought that it may be able to make it into 5.5 since it's quite a small change.<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 21, 2018 at 3:15 PM, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Mar 21, 2018 at 3:06 PM, Boonthanome Nouanesengsy <span dir="ltr"><<a href="mailto:boonth@lanl.gov" target="_blank">boonth@lanl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span>
<blockquote type="cite">Boonth or John, would you mind shooting me
an email that you got this email. I'm worried that a spambot may
not let this get through based on the attachments.</blockquote></span>
Yes, got the email.<span><br>
<br>
<blockquote type="cite">Going back to the Merge Blocks filter, I'd
say that if the input grid is a vtkUnstructuredGrid and there's
only a single block on that process in this case the Merge Blocks
filter should do a shallow copy and exit quickly, which it doesn't
do. This isn't a silver bullet fix and probably won't matter after
the composite dataset rework but for what LANL wants in this case,
this would be a very simple and efficient solution.</blockquote></span>
The problem is that in many use cases the number of processes used
for writing the data will be different from the number of processes
used for visualization. In this particular use case it won't help,
but thanks for the programmable filter. It should be helpful in the
future.<br></div></blockquote><div><br></div></span><div>If multiple blocks per MPI rank is the case then there's currently no way around the memory consumption in the merge blocks filter. In the past there were discussions about "cleaning out a pipeline" where the thought was that a user could essentially have filters that they don't care about the output for any more to release the data from. This would mean that if data was needed again from that filter (e.g. the filter after it wanted to re-execute) though it would have to be constructed from scratch. I think VisIt does this to some extent but when you're going through the data multiple times and requesting different things it will bog down due to all the reconstructing it's doing. I'd think that this would be possible in PV but would require a significant change and would probably be quite confusing to users to enable them to do things efficiently.<br></div><div><div class="m_-3020880984512375217h5"><div><br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
<br>
Boonth<div><div class="m_-3020880984512375217m_8502568060355847801h5"><br>
<br>
<br>
<div class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-cite-prefix">On 03/20/2018 08:18 PM, Scott, W Alan
wrote:<br>
</div>
<blockquote type="cite">
<div class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938WordSection1">
<p class="MsoNormal">Totally, totally agree. Lets go with the
programmable filter solution.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Cory Quammen
[<a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-freetext" href="mailto:cory.quammen@kitware.com" target="_blank">mailto:cory.quammen@kitware.c<wbr>om</a>] <br>
<b>Sent:</b> Tuesday, March 20, 2018 7:27 PM<br>
<b>To:</b> Bauer, Andy (External Contacts)
<a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-rfc2396E" href="mailto:andy.bauer@kitware.com" target="_blank"><andy.bauer@kitware.com></a><br>
<b>Cc:</b> Scott, W Alan <a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-rfc2396E" href="mailto:wascott@sandia.gov" target="_blank"><wascott@sandia.gov></a>;
<a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-abbreviated" href="mailto:paraview-developers@paraview.org" target="_blank">paraview-developers@paraview.o<wbr>rg</a>; Patchett, John M.
(LANL) <a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-rfc2396E" href="mailto:patchett@lanl.gov" target="_blank"><patchett@lanl.gov></a><br>
<b>Subject:</b> Re: [Paraview-developers] FW: [EXTERNAL]
Re: ParaView | Memory consumption on Paraview (#18035)<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">On Tue, Mar 20, 2018 at 8:43 PM,
Andy Bauer <<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>>
wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Well, I could probably have
this done by tomorrow but in the end I leave the
decision on whether we wait on the release for
this change to Utkarsh and Cory. I'm not sure
how much of a wrench it would put into their
plans.<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">In my judgement, it's too late to
put this in 5.5. It may seem like a simple change,
but experience shows time and again that simple
changes do not exist :-) We do not have sufficient
time to test it and get feedback prior to the
release.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">On the other hand, if this is
really the specific use case then a Python
Programmable Filter could just as easily do the
trick and would be nearly negligible cost. In
fact, I'll put together the a python script that
does that and send it out shortly.<u></u><u></u></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Sounds like a good plan.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Cory<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Mar 20, 2018 at
8:37 PM, Scott, W Alan <<a href="mailto:wascott@sandia.gov" target="_blank">wascott@sandia.gov</a>>
wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Andy,<u></u><u></u></p>
<p class="MsoNormal">I
assume we are way too late in the
release process to implement this for
5.5.0.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">John
P., should this be implemented early
next release, so you can build an
alpha/ master build? Or will you just
wait for 5.6.0, out early fall, which
should make this question irrelevant?<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Alan<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b>
Andy Bauer [mailto:<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a><wbr>]
<br>
<b>Sent:</b> Tuesday, March 20,
2018 6:35 PM<br>
<b>To:</b> Nouanesengsy,
Boonthanome (LANL) <<a href="mailto:boonth@lanl.gov" target="_blank">boonth@lanl.gov</a>><br>
<b>Cc:</b> Ayachit, Utkarsh
(External Contacts) <<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>>;
Scott, W Alan <<a href="mailto:wascott@sandia.gov" target="_blank">wascott@sandia.gov</a>>;
<a href="mailto:paraview-developers@paraview.org" target="_blank">paraview-developers@paraview.o<wbr>rg</a>;
Patchett, John M. (LANL) <<a href="mailto:patchett@lanl.gov" target="_blank">patchett@lanl.gov</a>><br>
<b>Subject:</b> Re:
[Paraview-developers] FW:
[EXTERNAL] Re: ParaView | Memory
consumption on Paraview (#18035)<u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Going
back to the Merge Blocks
filter, I'd say that if the
input grid is a
vtkUnstructuredGrid and
there's only a single block on
that process in this case the
Merge Blocks filter should do
a shallow copy and exit
quickly, which it doesn't do.
This isn't a silver bullet fix
and probably won't matter
after the composite dataset
rework but for what LANL wants
in this case, this would be a
very simple and efficient
solution.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">On
Tue, Mar 20, 2018 at 6:00
PM, Boonthanome Nouanesengsy
<<a href="mailto:boonth@lanl.gov" target="_blank">boonth@lanl.gov</a>>
wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Unless
I am missing something,
no reason. Seems to me
that's just the<br>
way it was written. I
can't see why the filter
can't request 1 extra<br>
ghost-level from its
input. (cc, Berk).<u></u><u></u></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">Because
we start with cell data,
we actually require two
layers of ghost cells. The
ghost cells filter was
developed to allocate as
many layers of ghost cells
as needed for a
distributed dataset.<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Any
other ideas how to
decrease the bloat of
about 4 GB of data to be
about<br>
18 GB of data?<br>
Is this for a Catalyst
or pvbatch pipeline or
for an interactive
session?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal">It's
for an interactive
session. We have a user
running out of memory
trying to use a certain
pipeline. More information
is in the issue at
<a href="https://gitlab.kitware.com/paraview/paraview/issues/18035" target="_blank">
https://gitlab.kitware.com/par<wbr>aview/paraview/issues/18035</a><br>
<br>
Boonth<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
On 03/20/2018 03:08
PM, Utkarsh Ayachit
wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Why does
merge blocks grow
so much? Why
can’t this filter
just do shallow<br>
copies? Is this
impossible, or
just not
implemented?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">No,
merge blocks is not
a shallow copy, it
needs to combine
mutliple<br>
vtkDataSet's into a
single vtkDataSet
merging all points
into a single<br>
array, same for
cells, other
attribute arrays
etc. Merge Blocks
should<br>
indeed be considered
as a workaround for
issue when handling<br>
mutliblock datasets
in the pipeline and
not the go-to
solution. There<br>
is work currently
underway that will
revamp multiblock
dataset support<br>
in VTK/ParaView
which should
ultimately make
Merge Blocks
obsolete.<br>
<br>
Looking at your
pipeline, looks like
you're doing
MergeBlocks so that<br>
you can run the
Ghost Cells
generator filter.
What is the nature
of<br>
your data? Is it
truly a multiblock
or just has 1 block
in it on each<br>
rank? If its just 1
block, what is the
type of the block?
If it's a<br>
unstructured grid,
it will trivial to
create a filter that
just passes<br>
the input block out
as unstructured grid
without duplicating.<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Why can’t
Merge Blocks do
shallow copies?
Is this
impossible, or
just not<br>
implemented?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">It's
impossible. See
previous comment for
justification based
on how<br>
things are
currently.<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">(I think I
know this one, but
here it is). Why
does the ghost
cell<br>
generator bloat
memory so much?
Can’t you just use
shallow copies of
the<br>
primary data, and
then add the ghost
cells?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">adding
ghost cell etc,
means adding new
elements to existing
arrays.<br>
since vtk doesn't
modify input arrays,
when it needs to add
new<br>
elements, it has to
create a deep-copy
and then add new
elements to<br>
it.<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Why can’t we
have the cell data
to point data
filter be smart
enough to add<br>
ghost cells if
necessary for
calculations, then
throw them away?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">Unless
I am missing
something, no
reason. Seems to me
that's just the<br>
way it was written.
I can't see why the
filter can't request
1 extra<br>
ghost-level from its
input. (cc, Berk).<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">Any other
ideas how to
decrease the bloat
of about 4 GB of
data to be about<br>
18 GB of data?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal">Is
this for a Catalyst
or pvbatch pipeline
or for an
interactive session?<br>
<br>
Utkarsh<br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware
open-source projects
at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Search the list
archives at: <a href="http://markmail.org/search/?q=Paraview-developers" target="_blank">
http://markmail.org/search/?q=<wbr>Paraview-developers</a><br>
<br>
Follow this link to
subscribe/unsubscribe:<br>
<a href="https://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">https://public.kitware.com/mai<wbr>lman/listinfo/paraview-develop<wbr>ers</a><u></u><u></u></p>
</blockquote>
<p class="MsoNormal"><br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware
open-source projects
at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Search the list
archives at: <a href="http://markmail.org/search/?q=Paraview-developers" target="_blank">
http://markmail.org/search/?q=<wbr>Paraview-developers</a><br>
<br>
Follow this link to
subscribe/unsubscribe:<br>
<a href="https://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">https://public.kitware.com/mai<wbr>lman/listinfo/paraview-develop<wbr>ers</a><u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=Paraview-developers" target="_blank">
http://markmail.org/search/?q=<wbr>Paraview-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">https://public.kitware.com/mai<wbr>lman/listinfo/paraview-develop<wbr>ers</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<p class="MsoNormal">Cory Quammen<br>
Staff R&D Engineer<br>
Kitware, Inc.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938mimeAttachmentHeader"></fieldset>
<br>
<pre>______________________________<wbr>_________________
Powered by <a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-abbreviated" href="http://www.kitware.com" target="_blank">www.kitware.com</a>
Visit other Kitware open-source projects at <a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a>
Search the list archives at: <a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-freetext" href="http://markmail.org/search/?q=Paraview-developers" target="_blank">http://markmail.org/search/?q=<wbr>Paraview-developers</a>
Follow this link to subscribe/unsubscribe:
<a class="m_-3020880984512375217m_8502568060355847801m_-5974721629608956938moz-txt-link-freetext" href="https://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">https://public.kitware.com/mai<wbr>lman/listinfo/paraview-develop<wbr>ers</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>