Minutes from 39th OpenVDB TSC meeting, January 23rd, 2020, (GMT)

Attendees: *Nick* A., *Dan* B., *Jeff* L.

Additional Attendees: Bruce Chernia (Intel), John Metric (Linux Foundation)

Regrets: *Ken* M., *Peter* C.

Agenda:

1) Confirm quorum
2) Secretary
3) Google summer of code
4) Default GitHub branch
5) Devirtualization
6) Mantra
7) Siggraph
8) Next meeting

1) Quorum was confirmed.

2) Secretary was Jeff Lait

3) Google summer of code

We covered the samples in the shared document.

a) Delayed Loading.  Cleaning up temporary files is already an issue.  Why is there a temporary file?  Is it possible to have a asynchronous copy update in the background?  The recalled purpose of the temporary file is to stop the application from crashing if it changed.  We currently have a transition at 500MB, which means large vdb would still crash.

Why not background this copy?  Which then becomes a future?

Backgrounding would increase the scope of this project.   Maybe we should have a background process to fill in the data?

b) CSG operations without rebuilding.  Does it rebuild after?  Header functions call renormalize.  We can definitely can avoid resampling one of them.  We should investigate if the SOP needs a rebuild operation.

Does this require a rebuild?  The VDB Combine in particular requires it for SDF.

"How to do iterative CSG without changing the rest of your VDB"

Jeff to produce a melting VDB example to hopefully demonstrate what we
want fixed.

c) Erosion Improvements

Find out from Ken why not possible, seems like a good idea if possible.

d) Sequential Tree Methods

A good straightforward pattern for people to follow in the implementation.

e) Faster Statistics

Implementations is well known, some discussion needed for top level.

Support the sum-prototypes - build a new constant tile grid of a higher level version of the grid.  This may answer the requirements of the rendering meeting.

f) Fix Filter Operations for Tiles

Straightforward, but lots of corner cases.

Likely builds on dialateActive?  Match Volume Box Blur.

g) Optimizations by Intrinsics

Internal operations are key.  Masked operations may work well for intrinsics.

Meta) The two tasks, Combine Faster Statistics and Sequential Tree, are both generic breadth-first parallel operations so might be combined.

Meta) Are the first issues good?  TSC to look at it.

4) Default GitHub branch

Adds a layer to stage external contributions so we can restage. We can also reduce CI checks on the incoming to make it faster.

Await Ken's approval.

Should we get Admin rights?  Current thread with TAC to acquire permissions.  Will be at last a month.  Granting admin has casued problems in the past.  For us, the CI changes are the big sticking point.  Git Hub actions are also locked out, which we need for more automation.

5) Devirtualization

Dan will run some stats on this to verify it makes a difference.  Link time optimization off by default.  Much FUD about link time optimization causing hard to find bugs, hopefully if we restrict it to the library we'll catch them in the tests.  So add a link time option to test it out.   Add final keyword to the map derive classes.  Does adding final change ABI?

So first add ABI test, then add final keyword and see if it changes ABI.

Another option is to have a fastIndexToPos().  This is a lot of code.

Another option is explicitly devirtualizing with this->MAPTYPE::indexToPos()

6) Mantra

Mantra does not have interesting code for the bound summation, it is a boring min/max process.

7) Siggraph

Should we start thinking about a course?  Or a BOF?

8) Next meeting

January 30th 2020. 2pm-3pm EST (GMT-5).
