Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 02/12/2013 04:44 PM, Utkarsh Ayachit wrote: Oops sorry, use pvbatch. You'll have to specify the script in a file on the command line however. $ export LD_LIBRARY_PATH=/home/kevin/drm_nightly/lib/:$LD_LIBRARY_PATH $ export LIBGL_DEBUG=verbose $ kitware/ParaView_Dual_Build/bin/pvbatch segpv.py libGL: OpenDriver: trying /home/kevin/mesa_dual/lib/dri/nouveau_dri.so libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /home/kevin/.drirc: No such file or directory. libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /home/kevin/.drirc: No such file or directory. $ unset DISPLAY $ kitware/ParaView_Dual_Build/bin/pvbatch --use-offscreen-rendering segpv.py :-) signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Interesting. I cannot remember how I built my mesa. I'll give your options a try and test it. On Fri, Feb 8, 2013 at 5:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote: On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote: Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa How did you generate the segfault? Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds) I just did this build: http://open.cdash.org/buildSummary.php?buildid=2804770 which has hardware accelerated rendering and OSMesa. Mesa was built with the script : update_mesa_dual.sh. It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
I think I remember, try running pvpython with --use-offscreen-rendering and then run the following script. from paraview.simple import * Sphere() Show() Render() Does that still work? Utkarsh On Fri, Feb 8, 2013 at 5:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote: On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote: Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa How did you generate the segfault? Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds) I just did this build: http://open.cdash.org/buildSummary.php?buildid=2804770 which has hardware accelerated rendering and OSMesa. Mesa was built with the script : update_mesa_dual.sh. It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 02/12/2013 12:16 PM, Utkarsh Ayachit wrote: I think I remember, try running pvpython with --use-offscreen-rendering It does not have this option. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Oops sorry, use pvbatch. You'll have to specify the script in a file on the command line however. pvbatch --use-offscreen-rendering test.py Utkarsh On Tue, Feb 12, 2013 at 2:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote: On 02/12/2013 12:16 PM, Utkarsh Ayachit wrote: I think I remember, try running pvpython with --use-offscreen-rendering It does not have this option. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
That's good to hear. Hopefully one day soon :). On Fri, Feb 8, 2013 at 10:34 AM, Kevin H. Hobbs hob...@ohio.edu wrote: On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote: Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa -- consistent with the behavior before glapi library was created. So alas, doesn't look like we can use onscreen and offscreen Mesa together as in the pre Mesa-7.9 days. Drat. I monitor the mesa-dev list (In bursts between projects) and it still sounds like mesa and it's build system are gradually becoming more flexible. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote: Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa -- consistent with the behavior before glapi library was created. So alas, doesn't look like we can use onscreen and offscreen Mesa together as in the pre Mesa-7.9 days. Drat. I monitor the mesa-dev list (In bursts between projects) and it still sounds like mesa and it's build system are gradually becoming more flexible. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote: Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa How did you generate the segfault? Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds) I just did this build: http://open.cdash.org/buildSummary.php?buildid=2804770 which has hardware accelerated rendering and OSMesa. Mesa was built with the script : update_mesa_dual.sh. It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds. update_mesa_dual.sh Description: application/shellscript signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Kevin, I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView 3.14.1 a try and unfortunately it still segfaults when creating a context when using OSMesa -- consistent with the behavior before glapi library was created. So alas, doesn't look like we can use onscreen and offscreen Mesa together as in the pre Mesa-7.9 days. Utkarsh On Mon, Oct 22, 2012 at 10:12 AM, Kevin H. Hobbs hob...@ohio.edu wrote: On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote: and the resulting GL and OSMesa libraries both link glapi which was the source of the trouble with conflicting/hidden symbols : That's unfortunate. Guess we are still stuck with keep the two builds separate then. I'm sorry, I was sloppy in my use of the word link. I believe it may now be possible to build ParaView once with accelerated mesa and offscreen rendering in software. The GL and OSMesa libraries built as I described now link to the shared library glapi which was the source of missing symbols in the OSMesa library when the glapi object was compiled into the GL library and its symbols were hidden, and the source of conflicting symbols when the glapi object was compiled into both the GL and OSMesa libraries. Now that glapi is a stand alone shared library it should be no different than two shared libraries both linking the math library. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote: and the resulting GL and OSMesa libraries both link glapi which was the source of the trouble with conflicting/hidden symbols : That's unfortunate. Guess we are still stuck with keep the two builds separate then. I'm sorry, I was sloppy in my use of the word link. I believe it may now be possible to build ParaView once with accelerated mesa and offscreen rendering in software. The GL and OSMesa libraries built as I described now link to the shared library glapi which was the source of missing symbols in the OSMesa library when the glapi object was compiled into the GL library and its symbols were hidden, and the source of conflicting symbols when the glapi object was compiled into both the GL and OSMesa libraries. Now that glapi is a stand alone shared library it should be no different than two shared libraries both linking the math library. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Ah..cool. What version of Mesa is this 9.0 or 8.0.*? Utkarsh On Mon, Oct 22, 2012 at 10:12 AM, Kevin H. Hobbs hob...@ohio.edu wrote: On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote: and the resulting GL and OSMesa libraries both link glapi which was the source of the trouble with conflicting/hidden symbols : That's unfortunate. Guess we are still stuck with keep the two builds separate then. I'm sorry, I was sloppy in my use of the word link. I believe it may now be possible to build ParaView once with accelerated mesa and offscreen rendering in software. The GL and OSMesa libraries built as I described now link to the shared library glapi which was the source of missing symbols in the OSMesa library when the glapi object was compiled into the GL library and its symbols were hidden, and the source of conflicting symbols when the glapi object was compiled into both the GL and OSMesa libraries. Now that glapi is a stand alone shared library it should be no different than two shared libraries both linking the math library. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/22/2012 10:15 AM, Utkarsh Ayachit wrote: Ah..cool. What version of Mesa is this 9.0 or 8.0.*? I compiled mesa from git. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote: So we have onscreen and offscreen rendering and what type of offscreen rendering is used depends on whether we built with OSMesa. That was the case for the longest time. Now, with Mesa 7.9, Mesa folks decided that applications could no longer link against libOSMesa and libGL at the same time. That means that we can no longer support onscreen and offscreen with OSMesa in the same build of ParaView (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone has ideas on overcoming this issue, I'm all ears. There has been some chatter on the Mesa developers list that sounds like this may be fixed. 1. The mesa build system underwent a _major_ overhaul. 2. building glapi as a shared object sounds like it _might_ overcome the mess that involved hidden/duplicate symbols, needed by both GL and OSMesa. 3. Then there's this resolved bug: https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go ahead -lGL -lOSMesa I'll give it a try again. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Interesting. Although I am not sure if the mesa developers simply mean that you can build libGL and libOSMesa at the same time (which is indeed possible). But worth a try. I will test it out with the latest mesa and get back to the list. I am positive this didn't work with the 7.* series. Utkarsh On Fri, Oct 19, 2012 at 10:20 AM, Kevin H. Hobbs hob...@ohio.edu wrote: On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote: So we have onscreen and offscreen rendering and what type of offscreen rendering is used depends on whether we built with OSMesa. That was the case for the longest time. Now, with Mesa 7.9, Mesa folks decided that applications could no longer link against libOSMesa and libGL at the same time. That means that we can no longer support onscreen and offscreen with OSMesa in the same build of ParaView (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone has ideas on overcoming this issue, I'm all ears. There has been some chatter on the Mesa developers list that sounds like this may be fixed. 1. The mesa build system underwent a _major_ overhaul. 2. building glapi as a shared object sounds like it _might_ overcome the mess that involved hidden/duplicate symbols, needed by both GL and OSMesa. 3. Then there's this resolved bug: https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go ahead -lGL -lOSMesa I'll give it a try again. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Is it useful to have a pvserver binary that supports both GLX and OSMesa? Usually an environment that requires pvserver osmesa doesn't have X11 installed, so you wouldn't want a binary with dependencies on X11. Pat On Fri, Oct 19, 2012 at 10:25 AM, Utkarsh Ayachit utkarsh.ayac...@kitware.com wrote: Interesting. Although I am not sure if the mesa developers simply mean that you can build libGL and libOSMesa at the same time (which is indeed possible). But worth a try. I will test it out with the latest mesa and get back to the list. I am positive this didn't work with the 7.* series. Utkarsh On Fri, Oct 19, 2012 at 10:20 AM, Kevin H. Hobbs hob...@ohio.edu wrote: On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote: So we have onscreen and offscreen rendering and what type of offscreen rendering is used depends on whether we built with OSMesa. That was the case for the longest time. Now, with Mesa 7.9, Mesa folks decided that applications could no longer link against libOSMesa and libGL at the same time. That means that we can no longer support onscreen and offscreen with OSMesa in the same build of ParaView (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone has ideas on overcoming this issue, I'm all ears. There has been some chatter on the Mesa developers list that sounds like this may be fixed. 1. The mesa build system underwent a _major_ overhaul. 2. building glapi as a shared object sounds like it _might_ overcome the mess that involved hidden/duplicate symbols, needed by both GL and OSMesa. 3. Then there's this resolved bug: https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go ahead -lGL -lOSMesa I'll give it a try again. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/19/2012 10:25 AM, Utkarsh Ayachit wrote: Interesting. Although I am not sure if the mesa developers simply mean that you can build libGL and libOSMesa at the same time (which is indeed possible). But worth a try. I will test it out with the latest mesa and get back to the list. I am positive this didn't work with the 7.* series. Utkarsh I have to go do a physiological experiment in a few minutes but I just built mesa with: env PKG_CONFIG_PATH=/home/kevin/drm_nightly/lib/pkgconfig/ ./configure --prefix=/home/kevin/mesa_dual/ --enable-osmesa --with-gallium-drivers=r300,r600,nouveau,swrast --with-dri-drivers=swrast and the resulting GL and OSMesa libraries both link glapi which was the source of the trouble with conflicting/hidden symbols : [kevin@bubbles lib]$ ldd libOSMesa.so | grep glapi libglapi.so.0 = /home/kevin/mesa_dual/lib/libglapi.so.0 (0x7f6aea46) [kevin@bubbles lib]$ ldd libGL.so | grep glapi libglapi.so.0 = /home/kevin/mesa_dual/lib/libglapi.so.0 (0x7f352f8c2000) signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On Fri, Oct 19, 2012 at 10:36 AM, Pat Marion pat.mar...@kitware.com wrote: Is it useful to have a pvserver binary that supports both GLX and OSMesa? Usually an environment that requires pvserver osmesa doesn't have X11 installed, so you wouldn't want a binary with dependencies on X11. It is quite useful, especially since people want to run command line tools without render window popping up (OSMesa), but want to use the Paraview Qt application. Right now, they need to have separate builds for that, which is kinda inconvenient. Utkarsh ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
and the resulting GL and OSMesa libraries both link glapi which was the source of the trouble with conflicting/hidden symbols : That's unfortunate. Guess we are still stuck with keep the two builds separate then. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Sorry for joining this conversation late (let's just say, never experiment with lousy email organizers). Let me explain the background behind the various flags and options (sticking with Linux systems). vtkOpenGLRenderWindow has 3 modes: (a) X-based render window with renderings done in the onscreen frame buffers (b) X-based render window with rendering done in an offscreen buffer (either FBO, or pbuffers, and such), (c) non-xbased render window using OSMesa. In both, (a), and (b), we need X and hence we see an X window. However depending on OpenGL drivers and Windowing system, (a) may end up rendering where overlapping windows corrupt the rendered images, hence (b) can be used to avoid such anomalies with overlapping windows. VTK_USE_OFFSCREEN is pretty much a bogus flag as far as ParaView is concerned. It is used in VTK to set the default value of vtkRenderWindow::OffScreenRendering flag. I don't know why VTK decided that this should be a CMake flag since users can change the setting at run-time anyways, but that has been the case for ages. --use-offscreen-rendering is ParaView's runtime argument that tells ParaView to create offscreen render windows (either (b) or (c)) when render windows are created. Whether (b) or (c) is chosen depends on whether ParaView was built with OSMesa support (this is where the VTK_OPENGL_HAS_OSMESA flag comes into play. VTK_USE_OSMESA, is an internal variable and cannot be set using CMake, so we can just ignore it for now). So one basically switches between onscreen and offscreen rendering (either using fbo/buffers or OSmesa) using the runtime flag. As I mentioned, onscreen rendering has had issues with overlapping windows with certain drivers, windowing systems. Hence we decided to use offscreen rendering for screenshots to avoid corrupting the captured image. That itself would cause problems on some other implementations where FBOs/Pbuffers didn't work correctly, or when using fancy representations with shaders etc, and hence we added the option to not use offscreen rendering for screenshots in the Settings dialog. So we have onscreen and offscreen rendering and what type of offscreen rendering is used depends on whether we built with OSMesa. That was the case for the longest time. Now, with Mesa 7.9, Mesa folks decided that applications could no longer link against libOSMesa and libGL at the same time. That means that we can no longer support onscreen and offscreen with OSMesa in the same build of ParaView (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone has ideas on overcoming this issue, I'm all ears. Utkarsh On Wed, Oct 17, 2012 at 11:51 PM, Orion Poplawski or...@cora.nwra.com wrote: On 10/09/2012 11:55 AM, Cook, Rich wrote: As a user, I would prefer a single compile which links against OSMesa AND OpenGL AND MPI if they are available, but uses whatever the user chooses at runtime. This requires code logic to handle, with #ifdefs to handle the case where some feature is not available at compile time, and additional if/then statements in C to handle the user choice, but seems doable and would vastly simplify compilation, installation and usage. Thanks As a packager, I believe this is important to achieve as well. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA DivisionFAX: 303-415-9702 3380 Mitchell Lane or...@cora.nwra.com Boulder, CO 80301 http://www.cora.nwra.com ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/09/2012 11:55 AM, Cook, Rich wrote: As a user, I would prefer a single compile which links against OSMesa AND OpenGL AND MPI if they are available, but uses whatever the user chooses at runtime. This requires code logic to handle, with #ifdefs to handle the case where some feature is not available at compile time, and additional if/then statements in C to handle the user choice, but seems doable and would vastly simplify compilation, installation and usage. Thanks As a packager, I believe this is important to achieve as well. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA DivisionFAX: 303-415-9702 3380 Mitchell Lane or...@cora.nwra.com Boulder, CO 80301 http://www.cora.nwra.com ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Hi Rich, I think the Mesa driver is installed by default on most linux distos today (maybe not?), but the proprietary hardware drivers take priority when installed and enabled. You can configure X11 (or uninstall your nvidia driver or whatever you may have), so that the mesa driver will kick in. If you run glxinfo | grep vendor then you'll either see the name of your enabled proprietary driver vendor, or you'll see Mesa. This is a system configuration thing, which driver is being used does not affect ParaView, it's invisible to ParaView (except ParaView might query for and use vendor specific extensions that are only available in the proprietary driver). On ubuntu there are two packages: libgl1-mesa-swx11 and libgl1-mesa-glx. I think that the mesa-swx11 is used more infrequently, it is a pure software implementation while the mesa-glx packages actually uses hardware acceleration for it's drawing- http://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure OSMesa is different because it has a specific API that you have to code to and link your program to the OSMesa library. Pat On Tue, Oct 9, 2012 at 1:52 PM, Cook, Rich coo...@llnl.gov wrote: Very interesting. Brian Paul is everywhere! :-) I have a question, however. You say that one can use Mesa X11 rendering (as opposed to OSMesa rendering). How would that be done? The only mesa rendering I'm aware of is OSMesa. What is this Mesa OpenGL driver which renders in software but is not OSMesa? Thanks -- Rich On Oct 9, 2012, at 6:28 AM, Pat Marion wrote: Hi Rich, I totally agreee with you, I find it very confusing that there is a compile time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA. I think that the options could be presented in a way that makes it more clear what is happening. I want to clarify some things here. There are actually several very different concepts that are all kinda mixed up by the way that VTK presents the options: 1) hardware accelerated rendering vs. software rendering 2) regular rendering vs. offscreen rendering vs. OSMesa rendering Just saying offscreen rendering is totally not specific enough to have any idea what is really happening under the hood, a lot of people assume different things when they hear offscreen rendering, and I think that's where the problem is. First, hardware vs. software rendering. If you use the Mesa OpenGL driver (not to be confused with the OSMesa library!), you are using software rendering. But, the mesa driver renders into a buffer that is owned by the operating system and window manager (X11). So you are using a software implementation of OpenGL, but rendering on screen, and you depend on X11 APIs and an X server. If you have a GPU, then you can use a hardware driver, and similarly you depend on X11. You can switch between a hardware driver and a Mesa driver without recompiling any software. Second, regular rendering vs. offscreen rendering. Here is an old, but very informative, article on the many different implementations of offscreen rendering: http://www.mesa3d.org/brianp/sig97/offscrn.htm Note that Mesa offscreen rendering, OSMesa, is just one of many different offscreen rendering APIs described in the article. You can do hardware accelerated offscreen rendering, and that is totally different from OSMesa. For example, using X11, you can render into a GLX pixmap. A GLX pixmap is a render buffer that is not associated with a window, it is offscreen, but the rendering uses your GL driver, which could be a hardware accelerated driver or a Mesa software driver, but not OSMesa. Finally, there is OSMesa. It uses Mesa software rendering, and renders into a special OSMesa buffer. Using OSMesa, you have zero dependency on X11. You don't need X11 at build time or at run time. Here's more information about OSMesa: http://www.mesa3d.org/osmesa.html So, in summary, -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 window. -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 managed offscreen buffer. -you can use OSMesa for software rendering without any dependency on X11. For MPI cluster runs of paraview, the two most common configurations are GPU with X11, or OSMesa without X11. If you didn't have a GPU on your nodes, you might also use Mesa with X11, but render on screen. If you grep VTK source code for OSMESA, you will find multiple confusing flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to decide whether or not we want to use on screen or offscreen rendering with gpu, or OSMesa rendering. If VTK is truly compiled for OSMesa, it means that ldd pvserver lists only OSMesa and no X11 or OpenGL dependencies. When you have compiled with OSMesa, the --use-offscreen-rendering flag can be completely ignored, VTK will always use OSMesa. I think the
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
That makes perfect sense, thanks for that explanation. So in fact, software mesa rendering is not something you do with Paraview either at compile or runtime. Paraview just uses OpenGL and the implementation is hardware or software. I had thought OSMesa was simply an OpenGL implementation. Thanks for clarifying that it is somewhat different, which tells me why there would be a special flag for it. OSMesa does seem to implement OpenGL, though, because I have successfully switched between hardware and software rendering with other applications that need OpenGL simply by pointing at OSMesa with LD_LIBRARY_PATH. This has fixed situations where GLX breaks things. -- Rich On Oct 11, 2012, at 7:28 AM, Pat Marion wrote: Hi Rich, I think the Mesa driver is installed by default on most linux distos today (maybe not?), but the proprietary hardware drivers take priority when installed and enabled. You can configure X11 (or uninstall your nvidia driver or whatever you may have), so that the mesa driver will kick in. If you run glxinfo | grep vendor then you'll either see the name of your enabled proprietary driver vendor, or you'll see Mesa. This is a system configuration thing, which driver is being used does not affect ParaView, it's invisible to ParaView (except ParaView might query for and use vendor specific extensions that are only available in the proprietary driver). On ubuntu there are two packages: libgl1-mesa-swx11 and libgl1-mesa-glx. I think that the mesa-swx11 is used more infrequently, it is a pure software implementation while the mesa-glx packages actually uses hardware acceleration for it's drawing- http://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure OSMesa is different because it has a specific API that you have to code to and link your program to the OSMesa library. Pat On Tue, Oct 9, 2012 at 1:52 PM, Cook, Rich coo...@llnl.govmailto:coo...@llnl.gov wrote: Very interesting. Brian Paul is everywhere! :-) I have a question, however. You say that one can use Mesa X11 rendering (as opposed to OSMesa rendering). How would that be done? The only mesa rendering I'm aware of is OSMesa. What is this Mesa OpenGL driver which renders in software but is not OSMesa? Thanks -- Rich On Oct 9, 2012, at 6:28 AM, Pat Marion wrote: Hi Rich, I totally agreee with you, I find it very confusing that there is a compile time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA. I think that the options could be presented in a way that makes it more clear what is happening. I want to clarify some things here. There are actually several very different concepts that are all kinda mixed up by the way that VTK presents the options: 1) hardware accelerated rendering vs. software rendering 2) regular rendering vs. offscreen rendering vs. OSMesa rendering Just saying offscreen rendering is totally not specific enough to have any idea what is really happening under the hood, a lot of people assume different things when they hear offscreen rendering, and I think that's where the problem is. First, hardware vs. software rendering. If you use the Mesa OpenGL driver (not to be confused with the OSMesa library!), you are using software rendering. But, the mesa driver renders into a buffer that is owned by the operating system and window manager (X11). So you are using a software implementation of OpenGL, but rendering on screen, and you depend on X11 APIs and an X server. If you have a GPU, then you can use a hardware driver, and similarly you depend on X11. You can switch between a hardware driver and a Mesa driver without recompiling any software. Second, regular rendering vs. offscreen rendering. Here is an old, but very informative, article on the many different implementations of offscreen rendering: http://www.mesa3d.org/brianp/sig97/offscrn.htm Note that Mesa offscreen rendering, OSMesa, is just one of many different offscreen rendering APIs described in the article. You can do hardware accelerated offscreen rendering, and that is totally different from OSMesa. For example, using X11, you can render into a GLX pixmap. A GLX pixmap is a render buffer that is not associated with a window, it is offscreen, but the rendering uses your GL driver, which could be a hardware accelerated driver or a Mesa software driver, but not OSMesa. Finally, there is OSMesa. It uses Mesa software rendering, and renders into a special OSMesa buffer. Using OSMesa, you have zero dependency on X11. You don't need X11 at build time or at run time. Here's more information about OSMesa: http://www.mesa3d.org/osmesa.html So, in summary, -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 window. -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 managed offscreen buffer. -you can use OSMesa for software rendering without any
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Hi Rich, I totally agreee with you, I find it very confusing that there is a compile time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA. I think that the options could be presented in a way that makes it more clear what is happening. I want to clarify some things here. There are actually several very different concepts that are all kinda mixed up by the way that VTK presents the options: 1) hardware accelerated rendering vs. software rendering 2) regular rendering vs. offscreen rendering vs. OSMesa rendering Just saying offscreen rendering is totally not specific enough to have any idea what is really happening under the hood, a lot of people assume different things when they hear offscreen rendering, and I think that's where the problem is. First, hardware vs. software rendering. If you use the Mesa OpenGL driver (not to be confused with the OSMesa library!), you are using software rendering. But, the mesa driver renders into a buffer that is owned by the operating system and window manager (X11). So you are using a software implementation of OpenGL, but rendering on screen, and you depend on X11 APIs and an X server. If you have a GPU, then you can use a hardware driver, and similarly you depend on X11. You can switch between a hardware driver and a Mesa driver without recompiling any software. Second, regular rendering vs. offscreen rendering. Here is an old, but very informative, article on the many different implementations of offscreen rendering: http://www.mesa3d.org/brianp/sig97/offscrn.htm Note that Mesa offscreen rendering, OSMesa, is just one of many different offscreen rendering APIs described in the article. You can do hardware accelerated offscreen rendering, and that is totally different from OSMesa. For example, using X11, you can render into a GLX pixmap. A GLX pixmap is a render buffer that is not associated with a window, it is offscreen, but the rendering uses your GL driver, which could be a hardware accelerated driver or a Mesa software driver, but not OSMesa. Finally, there is OSMesa. It uses Mesa software rendering, and renders into a special OSMesa buffer. Using OSMesa, you have zero dependency on X11. You don't need X11 at build time or at run time. Here's more information about OSMesa: http://www.mesa3d.org/osmesa.html So, in summary, -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 window. -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 managed offscreen buffer. -you can use OSMesa for software rendering without any dependency on X11. For MPI cluster runs of paraview, the two most common configurations are GPU with X11, or OSMesa without X11. If you didn't have a GPU on your nodes, you might also use Mesa with X11, but render on screen. If you grep VTK source code for OSMESA, you will find multiple confusing flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to decide whether or not we want to use on screen or offscreen rendering with gpu, or OSMesa rendering. If VTK is truly compiled for OSMesa, it means that ldd pvserver lists only OSMesa and no X11 or OpenGL dependencies. When you have compiled with OSMesa, the --use-offscreen-rendering flag can be completely ignored, VTK will always use OSMesa. I think the --use-offscreen-rendering flag is mostly for switching between on screen and offscreen while still using a regular GL driver, and I'm really not sure if anybody actually uses that feature, I certainly have not. To make things even more confusing, in ParaView there is a preferences setting for Use offscreen rendering for screenshots. Ouch. Hope this helps! Pat p.s. If anybody has corrections, please let me know! On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring blor...@lbl.gov wrote: Hi Rich, if you are installing on cluster, I would say that it's easier to use an MPI build. Of course when you build with MPI support you need to launch pvserver with mpirun (or the system equivalent). When you need a serial run just specify -n 1. You may be aware that, providing a server config will let your users select the number of mpi ranks and the layout of mpi ranks across cluster nodes from ParaView's GUI. ParaView should run on any number of mpi ranks. When you say you're running in serial, are you using the mpirun command? what errors/complaints are you experiencing? My recollection, is that the --use-offscreen-rendering is used to select between osmesa open gl and the system open gl when both are used in the same build. I haven't built ParaView this way in many years, hence my recollection is fuzzy. On the other hand, if you have two builds, one built with osmesa and the other using a system provided hardware accelerated open gl, this command line flag is not necessary. Burlen On 10/08/2012 10:21 AM, Cook, Rich wrote: Are you assuming we are always running in
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Very interesting. Brian Paul is everywhere! :-) I have a question, however. You say that one can use Mesa X11 rendering (as opposed to OSMesa rendering). How would that be done? The only mesa rendering I'm aware of is OSMesa. What is this Mesa OpenGL driver which renders in software but is not OSMesa? Thanks -- Rich On Oct 9, 2012, at 6:28 AM, Pat Marion wrote: Hi Rich, I totally agreee with you, I find it very confusing that there is a compile time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA. I think that the options could be presented in a way that makes it more clear what is happening. I want to clarify some things here. There are actually several very different concepts that are all kinda mixed up by the way that VTK presents the options: 1) hardware accelerated rendering vs. software rendering 2) regular rendering vs. offscreen rendering vs. OSMesa rendering Just saying offscreen rendering is totally not specific enough to have any idea what is really happening under the hood, a lot of people assume different things when they hear offscreen rendering, and I think that's where the problem is. First, hardware vs. software rendering. If you use the Mesa OpenGL driver (not to be confused with the OSMesa library!), you are using software rendering. But, the mesa driver renders into a buffer that is owned by the operating system and window manager (X11). So you are using a software implementation of OpenGL, but rendering on screen, and you depend on X11 APIs and an X server. If you have a GPU, then you can use a hardware driver, and similarly you depend on X11. You can switch between a hardware driver and a Mesa driver without recompiling any software. Second, regular rendering vs. offscreen rendering. Here is an old, but very informative, article on the many different implementations of offscreen rendering: http://www.mesa3d.org/brianp/sig97/offscrn.htm Note that Mesa offscreen rendering, OSMesa, is just one of many different offscreen rendering APIs described in the article. You can do hardware accelerated offscreen rendering, and that is totally different from OSMesa. For example, using X11, you can render into a GLX pixmap. A GLX pixmap is a render buffer that is not associated with a window, it is offscreen, but the rendering uses your GL driver, which could be a hardware accelerated driver or a Mesa software driver, but not OSMesa. Finally, there is OSMesa. It uses Mesa software rendering, and renders into a special OSMesa buffer. Using OSMesa, you have zero dependency on X11. You don't need X11 at build time or at run time. Here's more information about OSMesa: http://www.mesa3d.org/osmesa.html So, in summary, -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 window. -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 managed offscreen buffer. -you can use OSMesa for software rendering without any dependency on X11. For MPI cluster runs of paraview, the two most common configurations are GPU with X11, or OSMesa without X11. If you didn't have a GPU on your nodes, you might also use Mesa with X11, but render on screen. If you grep VTK source code for OSMESA, you will find multiple confusing flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to decide whether or not we want to use on screen or offscreen rendering with gpu, or OSMesa rendering. If VTK is truly compiled for OSMesa, it means that ldd pvserver lists only OSMesa and no X11 or OpenGL dependencies. When you have compiled with OSMesa, the --use-offscreen-rendering flag can be completely ignored, VTK will always use OSMesa. I think the --use-offscreen-rendering flag is mostly for switching between on screen and offscreen while still using a regular GL driver, and I'm really not sure if anybody actually uses that feature, I certainly have not. To make things even more confusing, in ParaView there is a preferences setting for Use offscreen rendering for screenshots. Ouch. Hope this helps! Pat p.s. If anybody has corrections, please let me know! On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring blor...@lbl.govmailto:blor...@lbl.gov wrote: Hi Rich, if you are installing on cluster, I would say that it's easier to use an MPI build. Of course when you build with MPI support you need to launch pvserver with mpirun (or the system equivalent). When you need a serial run just specify -n 1. You may be aware that, providing a server config will let your users select the number of mpi ranks and the layout of mpi ranks across cluster nodes from ParaView's GUI. ParaView should run on any number of mpi ranks. When you say you're running in serial, are you using the mpirun command? what errors/complaints are you experiencing? My recollection, is that the --use-offscreen-rendering is used to select between osmesa
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
As a user, I would prefer a single compile which links against OSMesa AND OpenGL AND MPI if they are available, but uses whatever the user chooses at runtime. This requires code logic to handle, with #ifdefs to handle the case where some feature is not available at compile time, and additional if/then statements in C to handle the user choice, but seems doable and would vastly simplify compilation, installation and usage. Thanks -- Rich On Oct 9, 2012, at 7:43 AM, Biddiscombe, John A. wrote: Pat Great summary. Did writing that give you any ideas on the best way to simplify the options and #ifdefs. JB From: paraview-boun...@paraview.orgmailto:paraview-boun...@paraview.org [mailto:paraview-boun...@paraview.org] On Behalf Of Pat Marion Sent: 09 October 2012 15:28 To: Cook, Rich; paraview@paraview.orgmailto:paraview@paraview.org Subject: Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering? Hi Rich, I totally agreee with you, I find it very confusing that there is a compile time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA. I think that the options could be presented in a way that makes it more clear what is happening. I want to clarify some things here. There are actually several very different concepts that are all kinda mixed up by the way that VTK presents the options: 1) hardware accelerated rendering vs. software rendering 2) regular rendering vs. offscreen rendering vs. OSMesa rendering Just saying offscreen rendering is totally not specific enough to have any idea what is really happening under the hood, a lot of people assume different things when they hear offscreen rendering, and I think that's where the problem is. First, hardware vs. software rendering. If you use the Mesa OpenGL driver (not to be confused with the OSMesa library!), you are using software rendering. But, the mesa driver renders into a buffer that is owned by the operating system and window manager (X11). So you are using a software implementation of OpenGL, but rendering on screen, and you depend on X11 APIs and an X server. If you have a GPU, then you can use a hardware driver, and similarly you depend on X11. You can switch between a hardware driver and a Mesa driver without recompiling any software. Second, regular rendering vs. offscreen rendering. Here is an old, but very informative, article on the many different implementations of offscreen rendering: http://www.mesa3d.org/brianp/sig97/offscrn.htm Note that Mesa offscreen rendering, OSMesa, is just one of many different offscreen rendering APIs described in the article. You can do hardware accelerated offscreen rendering, and that is totally different from OSMesa. For example, using X11, you can render into a GLX pixmap. A GLX pixmap is a render buffer that is not associated with a window, it is offscreen, but the rendering uses your GL driver, which could be a hardware accelerated driver or a Mesa software driver, but not OSMesa. Finally, there is OSMesa. It uses Mesa software rendering, and renders into a special OSMesa buffer. Using OSMesa, you have zero dependency on X11. You don't need X11 at build time or at run time. Here's more information about OSMesa: http://www.mesa3d.org/osmesa.html So, in summary, -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 window. -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 managed offscreen buffer. -you can use OSMesa for software rendering without any dependency on X11. For MPI cluster runs of paraview, the two most common configurations are GPU with X11, or OSMesa without X11. If you didn't have a GPU on your nodes, you might also use Mesa with X11, but render on screen. If you grep VTK source code for OSMESA, you will find multiple confusing flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to decide whether or not we want to use on screen or offscreen rendering with gpu, or OSMesa rendering. If VTK is truly compiled for OSMesa, it means that ldd pvserver lists only OSMesa and no X11 or OpenGL dependencies. When you have compiled with OSMesa, the --use-offscreen-rendering flag can be completely ignored, VTK will always use OSMesa. I think the --use-offscreen-rendering flag is mostly for switching between on screen and offscreen while still using a regular GL driver, and I'm really not sure if anybody actually uses that feature, I certainly have not. To make things even more confusing, in ParaView there is a preferences setting for Use offscreen rendering for screenshots. Ouch. Hope this helps! Pat p.s. If anybody has corrections, please let me know! On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring blor...@lbl.govmailto:blor...@lbl.gov wrote: Hi Rich, if you are installing on cluster, I would say that it's easier to use an MPI build. Of course
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Are you assuming we are always running in parallel on the cluster? I find that Paraview for some reason complains when run in serial if you compile it with MPI. So currently I'm doing four builds, opengl, osmesa, opengl-mpi, osmesa-mpi. It's a PITA but now it's all automated. Still I think it's confusing for our users. I'm also personally unsure about where there is a switch for --use-offscreen-rendering. If I compile with OSMesa, I'm always going to want that, right? And if OpenGL, I'm always going to disable that, right? Why is there a command line switch for that? It does sound like yes, pvservers will render to graphics cards in parallel so that's good to know. Thanks! -- Rich On Oct 6, 2012, at 7:16 PM, Burlen Loring wrote: Hi Rich, You're always going to want to build with MPI when running on a cluster. Leveraging your cluster's graphics cards comes down to building with or without os mesa. you probably want to provide both builds, and select the build to run depending on whether the user has requested nodes that contain graphics cards or not. Hardware accelerated rendering can be faster than software based rendering depending on the amount of contention there is for the graphics card. eg 16 mpi ranks hitting the same card will likely be slower than 16 cpu cores running os mesa. When submitting a job you could always control this by limiting the number of mpi ranks per graphics card. Also, some rendering algorithms, such as surface LIC, are disabled when using os mesa. it's nice to have the hardware accelerated build in order to access the other algorithms when you need them. Burlen On 10/1/2012 5:05 PM, Cook, Rich wrote: We have large clusters and some of them have graphics cards on them. Most don't. So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON -DPARAVIEW_USE_MPI:BOOL=ON with cmake. I got to thinking. First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then why do I have to use --use-offscreen-rendering to launch the pvservers. Secondly, can pvservers render to graphics cards for distributed rendering under MPI? If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=ON ?? -- ✐Richard Cook ✇ Lawrence Livermore National Laboratory Bldg-453 Rm-4024, Mail Stop L-557 7000 East Avenue, Livermore, CA, 94550, USA ☎ (office) (925) 423-9605 ☎ (fax) (925) 423-6961 --- Information Management Graphics Grp., Services Development Div., Integrated Computing Communications Dept. (opinions expressed herein are mine and not those of LLNL) ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
On 10/08/2012 01:21 PM, Cook, Rich wrote: I'm also personally unsure about where there is a switch for --use-offscreen-rendering. If I compile with OSMesa, I'm always going to want that, right? I think that depending on how you built OSMesa it's all you _can_ do. And if OpenGL, I'm always going to disable that, right? Why is there a command line switch for that? You can render off screen with X and graphics hardware but without the render window actually showing up on screen. signature.asc Description: OpenPGP digital signature ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Hi Rich, if you are installing on cluster, I would say that it's easier to use an MPI build. Of course when you build with MPI support you need to launch pvserver with mpirun (or the system equivalent). When you need a serial run just specify -n 1. You may be aware that, providing a server config will let your users select the number of mpi ranks and the layout of mpi ranks across cluster nodes from ParaView's GUI. ParaView should run on any number of mpi ranks. When you say you're running in serial, are you using the mpirun command? what errors/complaints are you experiencing? My recollection, is that the --use-offscreen-rendering is used to select between osmesa open gl and the system open gl when both are used in the same build. I haven't built ParaView this way in many years, hence my recollection is fuzzy. On the other hand, if you have two builds, one built with osmesa and the other using a system provided hardware accelerated open gl, this command line flag is not necessary. Burlen On 10/08/2012 10:21 AM, Cook, Rich wrote: Are you assuming we are always running in parallel on the cluster? I find that Paraview for some reason complains when run in serial if you compile it with MPI. So currently I'm doing four builds, opengl, osmesa, opengl-mpi, osmesa-mpi. It's a PITA but now it's all automated. Still I think it's confusing for our users. I'm also personally unsure about where there is a switch for --use-offscreen-rendering. If I compile with OSMesa, I'm always going to want that, right? And if OpenGL, I'm always going to disable that, right? Why is there a command line switch for that? It does sound like yes, pvservers will render to graphics cards in parallel so that's good to know. Thanks! -- Rich On Oct 6, 2012, at 7:16 PM, Burlen Loring wrote: Hi Rich, You're always going to want to build with MPI when running on a cluster. Leveraging your cluster's graphics cards comes down to building with or without os mesa. you probably want to provide both builds, and select the build to run depending on whether the user has requested nodes that contain graphics cards or not. Hardware accelerated rendering can be faster than software based rendering depending on the amount of contention there is for the graphics card. eg 16 mpi ranks hitting the same card will likely be slower than 16 cpu cores running os mesa. When submitting a job you could always control this by limiting the number of mpi ranks per graphics card. Also, some rendering algorithms, such as surface LIC, are disabled when using os mesa. it's nice to have the hardware accelerated build in order to access the other algorithms when you need them. Burlen On 10/1/2012 5:05 PM, Cook, Rich wrote: We have large clusters and some of them have graphics cards on them. Most don't. So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON -DPARAVIEW_USE_MPI:BOOL=ON with cmake. I got to thinking. First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then why do I have to use --use-offscreen-rendering to launch the pvservers. Secondly, can pvservers render to graphics cards for distributed rendering under MPI? If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=ON ?? ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Hi Rich, You're always going to want to build with MPI when running on a cluster. Leveraging your cluster's graphics cards comes down to building with or without os mesa. you probably want to provide both builds, and select the build to run depending on whether the user has requested nodes that contain graphics cards or not. Hardware accelerated rendering can be faster than software based rendering depending on the amount of contention there is for the graphics card. eg 16 mpi ranks hitting the same card will likely be slower than 16 cpu cores running os mesa. When submitting a job you could always control this by limiting the number of mpi ranks per graphics card. Also, some rendering algorithms, such as surface LIC, are disabled when using os mesa. it's nice to have the hardware accelerated build in order to access the other algorithms when you need them. Burlen On 10/1/2012 5:05 PM, Cook, Rich wrote: We have large clusters and some of them have graphics cards on them. Most don't. So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON -DPARAVIEW_USE_MPI:BOOL=ON with cmake. I got to thinking. First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then why do I have to use --use-offscreen-rendering to launch the pvservers. Secondly, can pvservers render to graphics cards for distributed rendering under MPI? If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=ON ?? ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
[Paraview] Is there any point to compiling with MPI but without offscreen rendering?
We have large clusters and some of them have graphics cards on them. Most don't. So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON -DPARAVIEW_USE_MPI:BOOL=ON with cmake. I got to thinking. First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then why do I have to use --use-offscreen-rendering to launch the pvservers. Secondly, can pvservers render to graphics cards for distributed rendering under MPI? If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=ON ?? -- ✐Richard Cook ✇ Lawrence Livermore National Laboratory Bldg-453 Rm-4024, Mail Stop L-557 7000 East Avenue, Livermore, CA, 94550, USA ☎ (office) (925) 423-9605 ☎ (fax) (925) 423-6961 --- Information Management Graphics Grp., Services Development Div., Integrated Computing Communications Dept. (opinions expressed herein are mine and not those of LLNL) ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview