<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:BMWTypeLight;
        panose-1:2 11 3 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Arial","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Arial","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=DE-CH link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Dear
ParaView users & developers,</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>I am</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'> trying to reduce </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>the time </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>spent</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> in </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>performing </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>generic 3D </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>surface rendering</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>. </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>A lot has been</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>achieved </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>by using ParaView driven</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>by python scripting al</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>ready but </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>actually </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>I</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>'d </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>like to achieve more. At the time being,
all rendering </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>is
performed using </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>CPU
rendering with the MESA libraries</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'> and</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
I</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> have start</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>ed</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> investigating if it could be worth
performing the rendering using GPUs inst</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>ead of </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>using</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>N</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> CPUs in </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>parallel</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>.</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>For
the purpose of checking the GPU performance over CPUs, </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>I</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> have devised a s</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>imple benchmark</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'> wi</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>th a python script which </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>drives the surface rendering</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>. The script performs the
generation </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>of 60
images </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>and dumps
them onto disk</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
in JPEG format</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>. </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>When performing this task, I
have been </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>tumbling
upon the following rendering times for the generation of the aforementioned 60
images</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>, using
different versions of paraview</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'> on an "old" workstation, which is my guinea pig for
this benchmark</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>:</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=468
style='width:351.0pt;margin-left:-.7pt;border-collapse:collapse'>
<tr style='height:14.25pt'>
<td width=119 nowrap valign=bottom style='width:89.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal><span style='font-family:"BMWTypeLight","sans-serif";
color:black'>Paraview 3.8.1</span><span style='font-family:"BMWTypeLight","sans-serif";
color:black'><o:p></o:p></span></p>
</td>
<td width=120 nowrap valign=bottom style='width:90.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal><span style='font-family:"BMWTypeLight","sans-serif";
color:black'>Paraview 3.10.1</span><span style='font-family:"BMWTypeLight","sans-serif";
color:black'><o:p></o:p></span></p>
</td>
<td width=115 nowrap valign=bottom style='width:86.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal><span style='font-family:"BMWTypeLight","sans-serif";
color:black'>Paraview 3.12.0</span><span style='font-family:"BMWTypeLight","sans-serif";
color:black'><o:p></o:p></span></p>
</td>
<td width=115 nowrap valign=bottom style='width:86.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal><span style='font-family:"BMWTypeLight","sans-serif";
color:black'>Paraview 3.14.1</span><span style='font-family:"BMWTypeLight","sans-serif";
color:black'><o:p></o:p></span></p>
</td>
</tr>
<tr style='height:14.25pt'>
<td width=119 nowrap valign=bottom style='width:89.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>138.12</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>s</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'><o:p></o:p></span></p>
</td>
<td width=120 nowrap valign=bottom style='width:90.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>591.06</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>s</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'><o:p></o:p></span></p>
</td>
<td width=115 nowrap valign=bottom style='width:86.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>592.53</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>s</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'><o:p></o:p></span></p>
</td>
<td width=115 nowrap valign=bottom style='width:86.0pt;padding:0cm 3.5pt 0cm 3.5pt;
height:14.25pt'>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>594.10</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'>s</span><span
style='font-family:"BMWTypeLight","sans-serif";color:black'><o:p></o:p></span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>What
is striking is that the rendering time </span><u><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>is 4 times less(!)</span></u><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>with PV v3.8.1 than with all subsequent
versions. </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>I had already
noticed something similar when running MESA on dissimilar architectures, </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>but I assumed that the culprit
were the MESA libraries used</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'>. Here, the HW and libraries are the same, so I am enclined to
believe that</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>I am</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>missing something here in the </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>general </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>rendering </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>settin</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>gs which do not affect PV </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>v3.8.1 but induce a big
performance hit for all PV versions above 3.10.</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> I</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>s anybody aware</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> of rendering settings which could
induce such a performance difference?</span><span lang=EN-US style='font-size:
10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>BTW,
for each rendering, </span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>a
window opens with the OpenGL tag in the window title bar, so I am quite sure
that I am not using any S</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'>W rendering, all the more as all the PV versions I have compiled
have VTK_</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>OPENGL_HAS</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>_OSMESA set to off.</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>A
few more details</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
concerning the test I have been running</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>:</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>-</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> </span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>Workstation:</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> Linux workstation with SuSE SLED 10</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>2 x Intel
Xeon Dual core 5160 @ 3.00GHz</span><span lang=EN-US style='font-family:
"BMWTypeLight","sans-serif";color:black'> </span><span lang=EN-US
style='font-family:"BMWTypeLight","sans-serif";color:black'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>2</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'> x NVIDIA Quadro FX3500
(NV71GL chipset)</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>-</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'> Paraview version 3.8.1, 3.10.1, 3.12.0
and 3.14.1 were compiled with OpenGL support</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'>, Qt v4.6.x, python v2.7, OpenMPI v1.4.x
using the GCC compiler v4.5.x.</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> -
The script</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> is run
using pvpython (and not pvbatch) in order to force the assignement of the gr</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>aphics card:</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
pvserver -display localhost:0.0 </span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>
Then the rendering script runs with pvpython from the command line</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>. Within the script, a
Connect("localhost",11111) forces the connection to the pvserver
running on localhost.</span><span lang=EN-US style='font-size:10.0pt;
color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Any
suggestions welcome.</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>Best regards </span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>Frank Albina</span><span
lang=EN-US style='font-size:10.0pt;color:#1F497D'>.</span><span lang=EN-US
style='font-size:10.0pt;color:#1F497D'><o:p></o:p></span></p>
</div>
</body>
</html>