[Paraview] PV & multiple video cards

burlen burlen.loring at gmail.com
Tue Jun 22 14:03:39 EDT 2010


Hi,

currently we suggest users rely on details particular to specific MPI 
implementations 
(http://paraview.org/Wiki/Setting_up_a_ParaView_Server#Multiple_GPUs_Per_Node) 
to set up PV server on clusters with multiple graphics cards per node. 
It seems to me that this reliance on non standard implementation details 
isn't necessary for the most common case and it can introduce some 
complication to get PV running on various installations.

There is something simple that we could do to make users life easier. 
ParaView could handle a common configuration of multiple graphics cards 
seamlessly with very little effort via an additional command line option.

Two common ways to address multiple video devices in X11 via the DISPLAY 
variable are, 1) by server id (":[server].0") or 2) by screen id 
(":0.[screen]").  It depends on how X11 is setup, but I think the latter 
is the most common.

If the user were to tell PV how many video devices are available on each 
node via the following command line variable, PV could assign rendering 
contexts cyclically across the available devices by setting the DISPLAY 
variable for the user.

--number-of-gpu-per-host=N

as each server starts he will make the computation to set the DISPLAY 
variable so that render contexts are cycled across the available devices.

For example, something like the folowing could be added to 
Filters/vtkPVMain.cxx

if (numGpuPerHost)
  {
  int screenId=LocalProcId%numGpuPerHost
  setenv("DISPALY=:0.%i",screenId)
  }

This would conflict with the "-display" option, if both are present PV 
would exit and print some error message.

Do you guys think this would be a reasonable approach to handle a common 
use case?
Burlen



More information about the ParaView mailing list