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

Angelini, Richard C (Rick) CIV USARMY RDECOM ARL (US) richard.c.angelini.civ at mail.mil
Mon Mar 28 08:07:15 EDT 2016


Thanks for the detailed writeup.      I’m really wanting to focus on ParaView performance on a particular GL card – not so  much overall parallel ParaView performance.      Is this benchmark applicable to running on a single node with ParaView built with GL libs?       Would I use pvpython instead of pvbatch?

________________________________
Rick Angelini
USArmy Research Laboratory
CISD/HPC Architectures Team
Phone:  410-278-6266

From: Chuck Atkins <chuck.atkins at kitware.com<mailto:chuck.atkins at kitware.com>>
Date: Friday, March 25, 2016 at 3:32 PM
To: David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>>
Cc: Rick Angelini <Richard.C.Angelini.CIV at mail.mil<mailto:Richard.C.Angelini.CIV at mail.mil>>, ParaView <paraview at paraview.org<mailto: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.

________________________________


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: Caution-https://github.com/chuckatkins/miscelaneous-scripts.git < Caution-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<mailto:dave.demarle at kitware.com> < Caution-mailto:dave.demarle at kitware.com > > wrote:
It is still in Caution-https://gitlab.kitware.com/paraview/paraview/merge_requests/692 < Caution-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 < tel: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<mailto:richard.c.angelini.civ at mail.mil> < Caution-mailto: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 < tel:410-278-6266 >

From: David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com> < Caution-mailto:dave.demarle at kitware.com > >
Date: Thursday, March 24, 2016 at 4:17 PM
To: Rick Angelini <Richard.C.Angelini.CIV at mail.mil<mailto:Richard.C.Angelini.CIV at mail.mil> < Caution-mailto:Richard.C.Angelini.CIV at mail.mil > >
Cc: ParaView <paraview at paraview.org<mailto:paraview at paraview.org> < Caution-mailto: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 < tel: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<mailto:richard.c.angelini.civ at mail.mil> < Caution-mailto:richard.c.angelini.civ at mail.mil >  < Caution-Caution-mailto:richard.c.angelini.civ at mail.mil < Caution-mailto: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 >  < tel:410-278-6266 < tel:410-278-6266 >  >

From: David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com> < Caution-mailto:dave.demarle at kitware.com >  < Caution-Caution-mailto:dave.demarle at kitware.com < Caution-mailto:dave.demarle at kitware.com >  > >
Date: Monday, March 21, 2016 at 1:08 PM
To: Rick Angelini <Richard.C.Angelini.CIV at mail.mil<mailto:Richard.C.Angelini.CIV at mail.mil> < Caution-mailto:Richard.C.Angelini.CIV at mail.mil >  < Caution-Caution-mailto:Richard.C.Angelini.CIV at mail.mil < Caution-mailto:Richard.C.Angelini.CIV at mail.mil >  > >
Cc: ParaView <paraview at paraview.org<mailto:paraview at paraview.org> < Caution-mailto:paraview at paraview.org >  < Caution-Caution-mailto:paraview at paraview.org < Caution-mailto: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-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 >  >  < Caution-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 >  < tel: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<mailto:richard.c.angelini.civ at mail.mil> < Caution-mailto:richard.c.angelini.civ at mail.mil >  < Caution-Caution-mailto:richard.c.angelini.civ at mail.mil < Caution-mailto:richard.c.angelini.civ at mail.mil >  >  < Caution-Caution-Caution-mailto:richard.c.angelini.civ at mail.mil < Caution-mailto:richard.c.angelini.civ at mail.mil >  < Caution-Caution-mailto:richard.c.angelini.civ at mail.mil < Caution-mailto: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 >  >  < tel:410-278-6266 < tel:410-278-6266 >  < tel:410-278-6266 < tel:410-278-6266 >  >  >

_______________________________________________
Powered by Caution-Caution-Caution-www.kitware.com < Caution-http://Caution-Caution-Caution-www.kitware.com >  < Caution-Caution-http://Caution-Caution-Caution-www.kitware.com < Caution-http://Caution-Caution-Caution-www.kitware.com >  >  < Caution-Caution-Caution-http://www.kitware.com < Caution-http://www.kitware.com >  < Caution-Caution-http://www.kitware.com < Caution-http://www.kitware.com >  >  >

Visit other Kitware open-source projects at Caution-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 >  >  < Caution-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-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 >  >  < Caution-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-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 >  >  < Caution-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-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 >  >  < Caution-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/20160328/b81fa218/attachment.html>


More information about the ParaView mailing list