[Paraview] [Non-DoD Source] Re: Measure graphics performance?

Chuck Atkins chuck.atkins at kitware.com
Fri Mar 25 15:32:41 EDT 2016


Hi Rick,

This is a bit of a brain dump so I'll try to get a blog post, or maybe even
a Kitware Source article on it soon, but for now, I've got the new scripts
ready as a merge request into ParaView but if you want to run it against
existing installations (it should work across a range of versions) the
scripts will need some slight modifications.  I've modified a few lines
lines to enable this and you can get the modified benchmark scripts in my
personal github account here:

Repo: https://github.com/chuckatkins/miscelaneous-scripts.git
Folder: scripts/paraview/benchmarknew

You should be able to run the "manyspheres" benchmark directly with pvbatch
using --help for argument options:

pvbatch benchmarknew/manyspheres.py --help
usage: manyspheres.py [-h] [-o OUTPUT_BASENAME] [-s SPHERES]
                      [-n SPHERES_IN_SCENE] [-r RESOLUTION] [-v VIEW_SIZE]
                      [-f FRAMES] [-c]

Benchmark ParaView geometry rendering

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT_BASENAME, --output-basename OUTPUT_BASENAME
                        Basename to use for generated output files
  -s SPHERES, --spheres SPHERES
                        The total number of spheres to render
  -n SPHERES_IN_SCENE, --spheres-in-scene SPHERES_IN_SCENE
                        The number of spheres in the entire scene, including
                        those not rendered.
  -r RESOLUTION, --resolution RESOLUTION
                        Theta and Phi resolution to use for the spheres
  -v VIEW_SIZE, --view-size VIEW_SIZE
                        View size used to render
  -f FRAMES, --frames FRAMES
                        Number of frames
  -c, --color           Enable color renderings
[chuck.atkins at hal9000 bench]$

Typical arguments I use:

   - Resolution: 725, that ends up with ~1M triangles per sphere
   - Spheres: try to keep as an even multiple of MPI ranks, that way each
   rank has an even work load
   - Spheres in scene: leave blank, it defaults to the previous number of
   spheres argument.  This is used for testing the rendering of a small number
   of spheres in a larger context.  For example, if you render 1000 spheres
   across 100 MPI ranks, thus 10 spheres per node, you can run again to test
   the single node performance (w/o compositing) by running on a single node
   with -s 10 -n 1000.
   - View size: 1920,1080 this will set the size of the render window.
   - Color: Nice to enable for 1 run since frame 0 is saved as a tiff but
   decreases the rendering performance so leave it off when trying to identify
   rendering limits

Given that, if I wanted to render 16B triangles across 256 MPI ranks, I
would run:

mpirun -n 256 /path/to/pvbatch --use-offscreen-rendering
benchmarknew/manyspheres.py -s 16384 -r 725 -v 1920,1080 -f 10 -o
"manyspheres_16384s_725r_256m"

This will result in the following files:

   - manyspheres_16384s_725r_256m.args.txt
      - The arguments the benchmark was run with
      - manyspheres_16384s_725r_256m.mem.txt
      - Memory info for each pvserver at each frame
      - manyspheres_16384s_725r_256m.logs.raw.bin
      - Raw log data that be loaded with logbase.load()
      - manyspheres_16384s_725r_256m.logs.parsed.bin
      - Parsed log data that be loaded with Python pickel
      - manyspheres_16384s_725r_256m.scene.f0.tiff
      - Rendered image of the scene from Frame 0
      - manyspheres_16384s_725r_256m.stats.r0f0.txt
      - Log information for Rank 0, Frame 0
      - manyspheres_16384s_725r_256m.stats.frame.txt
      - Statistics per-frame calculated across ranks
      - manyspheres_16384s_725r_256m.stats.summary.txt
      - Statistics calculated across all frames

Note that you can just as easily run it on a single node without MPI and
you'll get valid numbers.  Please let me know if you have any questions or
need help trying to run it.


Thanks

- Chuck

- Chuck

On Fri, Mar 25, 2016 at 10:02 AM, David E DeMarle <dave.demarle at kitware.com>
wrote:

> It is still in
> https://gitlab.kitware.com/paraview/paraview/merge_requests/692 which
> hasn't been merged yet because we have a few changes left to make in it. It
> would be great if you could try it and comment in the gitlab review on
> anything you find.
>
> I expect it will be merged next week. Note that although this won't show
> up in a release until ParaView 7.1, it is possible to copy to use with
> older ParaViews.
>
>
>
>
>
> David E DeMarle
> Kitware, Inc.
> R&D Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909
>
> On Fri, Mar 25, 2016 at 8:02 AM, Angelini, Richard C (Rick) CIV USARMY
> RDECOM ARL (US) <richard.c.angelini.civ at mail.mil> wrote:
>
>> Pointer?   I’m searching through the repository and I don’t see it.
>>
>> ________________________________
>> Rick Angelini
>> USArmy Research Laboratory
>> CISD/HPC Architectures Team
>> Phone:  410-278-6266
>>
>> From: David E DeMarle <dave.demarle at kitware.com>
>> Date: Thursday, March 24, 2016 at 4:17 PM
>> To: Rick Angelini <Richard.C.Angelini.CIV at mail.mil>
>> Cc: ParaView <paraview at paraview.org>
>> Subject: Re: [Non-DoD Source] Re: [Paraview] Measure graphics
>> performance?
>>
>> All active links contained in this email were disabled. Please verify the
>> identity of the sender, and confirm the authenticity of all links contained
>> within the message prior to copying and pasting the address to a Web
>> browser.
>>
>> ------------------------------
>>
>>
>> Not sure what you mean by new_benchmark.py. You should run
>> benchmark/manyspheres.py.
>>
>> It takes resolution and numspheres arguments. numspheres is the total
>> number of objects in the scene and each processors makes a diffent set of
>> them. Resolution is the phi&theta resolution of each that controls the
>> number of polygons each sphere has.
>>
>>
>>
>>
>>
>> David E DeMarle
>> Kitware, Inc.
>> R&D Engineer
>> 21 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-881-4909
>>
>> On Thu, Mar 24, 2016 at 4:03 PM, Angelini, Richard C (Rick) CIV USARMY
>> RDECOM ARL (US) <richard.c.angelini.civ at mail.mil < Caution-
>> mailto:richard.c.angelini.civ at mail.mil <richard.c.angelini.civ at mail.mil>
>>  > > wrote:
>>
>>> Dave – I’m running the new_benchmark.py script from the command line
>>>
>>> pvpython new_benchmark.py
>>>
>>>
>>> Is there a way to jack up the number of polygons that the script
>>> generates?
>>>
>>> ________________________________
>>> Rick Angelini
>>> USArmy Research Laboratory
>>> CISD/HPC Architectures Team
>>> Phone:  410-278-6266 < tel:410-278-6266 >
>>>
>>> From: David E DeMarle <dave.demarle at kitware.com < Caution-
>>> mailto:dave.demarle at kitware.com <dave.demarle at kitware.com> > >
>>> Date: Monday, March 21, 2016 at 1:08 PM
>>> To: Rick Angelini <Richard.C.Angelini.CIV at mail.mil < Caution-
>>> mailto:Richard.C.Angelini.CIV at mail.mil <Richard.C.Angelini.CIV at mail.mil>
>>>  > >
>>> Cc: ParaView <paraview at paraview.org < Caution-
>>> mailto:paraview at paraview.org <paraview at paraview.org> > >
>>> Subject: [Non-DoD Source] Re: [Paraview] Measure graphics performance?
>>>
>>> All active links contained in this email were disabled. Please verify
>>> the identity of the sender, and confirm the authenticity of all links
>>> contained within the message prior to copying and pasting the address to a
>>> Web browser.
>>>
>>> ------------------------------
>>>
>>>
>>> At the VTK single node level, enable Module_vtkUtilitiesBenchmarks
>>> module in cmake, compile and run bin/TimingTests
>>>
>>> At the ParaView multiple node level, Chuck Atkins is nearly done with
>>> revamping the old benchmark.py and adding to it a simple canonical test
>>> script that uses the programmable filter to make arbitrarily large meshes
>>> to test parallel rendering with. That can be found at: Caution-Caution-
>>> https://gitlab.kitware.com/paraview/paraview/merge_requests/692
>>>  < Caution-
>>> https://gitlab.kitware.com/paraview/paraview/merge_requests/692
>>>  >  < Caution-Caution-
>>> https://gitlab.kitware.com/paraview/paraview/merge_requests/692
>>>  < Caution-
>>> https://gitlab.kitware.com/paraview/paraview/merge_requests/692 >  >
>>>
>>>
>>>
>>>
>>> David E DeMarle
>>> Kitware, Inc.
>>> R&D Engineer
>>> 21 Corporate Drive
>>> Clifton Park, NY 12065-8662
>>> Phone: 518-881-4909 < tel:518-881-4909 >
>>>
>>> On Mon, Mar 21, 2016 at 12:28 PM, Angelini, Richard C (Rick) CIV USARMY
>>> RDECOM ARL (US)<richard.c.angelini.civ at mail.mil < Caution-
>>> mailto:richard.c.angelini.civ at mail.mil <richard.c.angelini.civ at mail.mil>
>>>  >  < Caution-Caution-mailto:richard.c.angelini.civ at mail.mil
>>> <richard.c.angelini.civ at mail.mil> < Caution-
>>> mailto:richard.c.angelini.civ at mail.mil <richard.c.angelini.civ at mail.mil>
>>>  >  > > wrote:
>>>
>>>> I need to do some quick performance tests to compare the results
>>>> between two graphics cards using “real world” applications.   Do you guys
>>>> have a benchmark handy to measure interactive graphics performance???????
>>>> ________________________________
>>>> Rick Angelini
>>>> USArmy Research Laboratory
>>>> CISD/HPC Architectures Team
>>>> Phone:  410-278-6266 < tel:410-278-6266 >  < tel:410-278-6266 < tel:
>>>> 410-278-6266 >  >
>>>>
>>>> _______________________________________________
>>>> Powered by Caution-Caution-www.kitware.com < Caution-
>>>> http://Caution-Caution-www.kitware.com >  < Caution-Caution-
>>>> http://www.kitware.com < Caution-http://www.kitware.com >  >
>>>>
>>>> Visit other Kitware open-source projects at Caution-Caution-
>>>> http://www.kitware.com/opensource/opensource.html < Caution-
>>>> http://www.kitware.com/opensource/opensource.html >  < Caution-Caution-
>>>> http://www.kitware.com/opensource/opensource.html < Caution-
>>>> http://www.kitware.com/opensource/opensource.html >  >
>>>>
>>>> Please keep messages on-topic and check the ParaView Wiki at:
>>>> Caution-Caution-http://paraview.org/Wiki/ParaView < Caution-
>>>> http://paraview.org/Wiki/ParaView >  < Caution-Caution-
>>>> http://paraview.org/Wiki/ParaView < Caution-
>>>> http://paraview.org/Wiki/ParaView >  >
>>>>
>>>> Search the list archives at: Caution-Caution-
>>>> http://markmail.org/search/?q=ParaView < Caution-
>>>> http://markmail.org/search/?q=ParaView >  < Caution-Caution-
>>>> http://markmail.org/search/?q=ParaView < Caution-
>>>> http://markmail.org/search/?q=ParaView >  >
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> Caution-Caution-http://public.kitware.com/mailman/listinfo/paraview
>>>>  < Caution-http://public.kitware.com/mailman/listinfo/paraview
>>>>  >  < Caution-Caution-
>>>> http://public.kitware.com/mailman/listinfo/paraview < Caution-
>>>> http://public.kitware.com/mailman/listinfo/paraview >  >
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160325/5a6c0873/attachment.html>


More information about the ParaView mailing list