Difference between revisions of "Teleconference 2018-07-11"

From VTKM
Jump to navigation Jump to search
Line 1: Line 1:
Attendees:
+
Attendees: Ken Moreland (SNL), Abhishek Yenpure (UO/SNL), Dave Pugmire (ORNL), Matt Letter (SNL), Robert Maynard (Kitware), Allie Vacanti (Kitware), Berk Geveci (Kitware), Haochang Liu (Kitware), Hank Childs (UO), Ollie Lo (LANL)
  
 
Policy for granting developer access
 
Policy for granting developer access
Line 8: Line 8:
 
** Should be some vetting process, right?
 
** Should be some vetting process, right?
 
** Maybe say you can be a developer after some prescribed number of assisted merges (2? 3?)
 
** Maybe say you can be a developer after some prescribed number of assisted merges (2? 3?)
 +
** Hank: we should be as inclusive as possible.
 +
* We should reach back to anyone who sends such a request
 +
** Rob: Is there a way to get their email?
 +
** Could open issue and use notifications on tracker
  
 
Apologies for somewhat unstable merges at the end of June.
 
Apologies for somewhat unstable merges at the end of June.
 
* ECP milestone deadlines pushed us to accept some merges that we would normally have waited on.
 
* ECP milestone deadlines pushed us to accept some merges that we would normally have waited on.
* We should be recovered from any instabilities.
+
* We are still working through some issues of recursive function calls on CUDA
 
* With that, let's be more vigilant about ECP deadlines.
 
* With that, let's be more vigilant about ECP deadlines.
  
 
Upcoming ECP Milestones
 
Upcoming ECP Milestones
 
* Better Dynamic Types
 
* Better Dynamic Types
 +
** Doesn't look like it will completely done by end of September
 
* Rendering Topological Entities
 
* Rendering Topological Entities
 
* OpenMP
 
* OpenMP
 +
 +
Dave: Mark Kim is making good progress on finishing up the rendering entities. Pushing to one of Matt Larsen's branches. Need to work merging that back to master.
  
 
Ken: working on not requiring a device adapter tag for using a Dispatcher. Will use TryExecute under the covers to find a valid one. Mostly this cleans up the code quite a bit. It increases the use of vtkm::cont::Algorithm quite a bit. Added a way to pass vtkm::cont::ExecutionObjectBase classes to arguments that automatically get converted to the device the algorithm is actually run on.
 
Ken: working on not requiring a device adapter tag for using a Dispatcher. Will use TryExecute under the covers to find a valid one. Mostly this cleans up the code quite a bit. It increases the use of vtkm::cont::Algorithm quite a bit. Added a way to pass vtkm::cont::ExecutionObjectBase classes to arguments that automatically get converted to the device the algorithm is actually run on.
  
 
There are a few instances where a worklet is tied to a specific device because it is holding some device specific structures (usually array portals). Usually this is easily fixed by passing arrays to Invoke with WholeArray* arguments. Sometimes you have to build ExecObject arguments, which is a little more complicated because you have to create dual control/execution objects. The biggest change so far is with particle advection integrators and evaluators, which I am working on right now.
 
There are a few instances where a worklet is tied to a specific device because it is holding some device specific structures (usually array portals). Usually this is easily fixed by passing arrays to Invoke with WholeArray* arguments. Sometimes you have to build ExecObject arguments, which is a little more complicated because you have to create dual control/execution objects. The biggest change so far is with particle advection integrators and evaluators, which I am working on right now.
 +
 +
Rob suggested adding an ExecutionSignature tag that passes the device adapter tag to the worklet operator. That way you could make compiler specializations for a particular device.
 +
 +
Matt Letter: working on getting the user's guide to compile.
 +
 +
Matt Letter: in review of atomic array merge request.
 +
 +
Abhishek: working on point merge feature. Find all points that are coincident or within a certain threshold and merge them together.
 +
 +
Rob: can pass pointers to Invoke. They get automatically converted to references to be passed to transport. Also fixed an issue where all transports assumed a const object, which precluded doing something like a PrepareForOutput.
 +
 +
Rob: fix a bug with the color table where you could not specify to which device it would go to.
 +
 +
Allie: fixed some issues with dashboards. CUDA 32-bit ids are working again. New worklet that is generating wavelets.
 +
 +
Haochang: adding warp by vector and warp by scalar. Also working with bug diy with CUDA and VTK.

Revision as of 13:43, 11 July 2018

Attendees: Ken Moreland (SNL), Abhishek Yenpure (UO/SNL), Dave Pugmire (ORNL), Matt Letter (SNL), Robert Maynard (Kitware), Allie Vacanti (Kitware), Berk Geveci (Kitware), Haochang Liu (Kitware), Hank Childs (UO), Ollie Lo (LANL)

Policy for granting developer access

  • What is a non member able to do?
    • Can they submit an MR request (but not merge it)?
    • That sounds fine for introductory behavior
  • Is the difference that Developers can merge their own MR?
    • Should be some vetting process, right?
    • Maybe say you can be a developer after some prescribed number of assisted merges (2? 3?)
    • Hank: we should be as inclusive as possible.
  • We should reach back to anyone who sends such a request
    • Rob: Is there a way to get their email?
    • Could open issue and use notifications on tracker

Apologies for somewhat unstable merges at the end of June.

  • ECP milestone deadlines pushed us to accept some merges that we would normally have waited on.
  • We are still working through some issues of recursive function calls on CUDA
  • With that, let's be more vigilant about ECP deadlines.

Upcoming ECP Milestones

  • Better Dynamic Types
    • Doesn't look like it will completely done by end of September
  • Rendering Topological Entities
  • OpenMP

Dave: Mark Kim is making good progress on finishing up the rendering entities. Pushing to one of Matt Larsen's branches. Need to work merging that back to master.

Ken: working on not requiring a device adapter tag for using a Dispatcher. Will use TryExecute under the covers to find a valid one. Mostly this cleans up the code quite a bit. It increases the use of vtkm::cont::Algorithm quite a bit. Added a way to pass vtkm::cont::ExecutionObjectBase classes to arguments that automatically get converted to the device the algorithm is actually run on.

There are a few instances where a worklet is tied to a specific device because it is holding some device specific structures (usually array portals). Usually this is easily fixed by passing arrays to Invoke with WholeArray* arguments. Sometimes you have to build ExecObject arguments, which is a little more complicated because you have to create dual control/execution objects. The biggest change so far is with particle advection integrators and evaluators, which I am working on right now.

Rob suggested adding an ExecutionSignature tag that passes the device adapter tag to the worklet operator. That way you could make compiler specializations for a particular device.

Matt Letter: working on getting the user's guide to compile.

Matt Letter: in review of atomic array merge request.

Abhishek: working on point merge feature. Find all points that are coincident or within a certain threshold and merge them together.

Rob: can pass pointers to Invoke. They get automatically converted to references to be passed to transport. Also fixed an issue where all transports assumed a const object, which precluded doing something like a PrepareForOutput.

Rob: fix a bug with the color table where you could not specify to which device it would go to.

Allie: fixed some issues with dashboards. CUDA 32-bit ids are working again. New worklet that is generating wavelets.

Haochang: adding warp by vector and warp by scalar. Also working with bug diy with CUDA and VTK.