Minutes from OpenVDB TSC meeting, July 25th, 2023

Attendees: *Ken* M., *Jeff* L., *Andre* P, *Dan* B., *Rich* J., *Nick* A.

Regrets:
Attendees: *Greg* H.,  *Rich* J.

Additional Attendees: John Mather (SideFX)

Agenda:

1) Confirm quorum
2) Secretary
3) PR #1645
4) PR #1525
5) Read Only Grid
6) PR #1634
7) PR #1648
8) Next meeting

------------

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Nick Avramoussis

3) PR #1645

We're emitting x86 compiler flags on ARM which obviously doesn't work. This PR
disables this flag but keeps the defines. But the defines are X86 specific so it's
a bit odd. What's really odd is that we're guarding compiler builtins behind the
defines which doesn't make any sense. We should choose to either use the X86 intrinsic
directly with -mpopcnt or always use the compiler builtins (if available) and
otherwise fallback to the software impl. Some compiler builtins have different
impls, for example popcount will fall back to multiple shifts rather than a
lookup table (which is what we have as our software fallback, this may be faster).
Additionally we don't propagate these defines downstream so they're a bit useless.
Anyway, this PR works fine but we should revisit this.

4) PR #1525

Hollow mesh stuff, ready to go. Nick has some minor comments but looks good,
should be merged.

5) Read Only Grid

Ken working on pushing up his Read Only grid implementation at request.

6) PR #1634

Anisotropic surfacing kernels and PCA methods. Nick will be talking about this
at Siggraph along with vectorization stuff. Idea from Jeff to build covariance
matrices per voxel rather than per point and then lerp/box sample onto the
points to help with performance issues. Definitely something to consider
as it might be a better default.

7) PR #1648

Vectorization framework for X86 which incorporates Agner Fogs' SIMD intrinsic
wrappers and vectorizes the majority of the PointTransfer framework. John
provided a link to some other library comparisons:

https://www.mnm-team.org/pub/Fopras/rock23/PDF-Version/rock23.pdf

Mentioned Highway as an alternative to also support ARM. Nick mentioned that
the current use case is very much a manual and instruction specific approach
to vectorizaton where as Highway looked more like a complete framework. Would
like to focus on X86 for now and have accepted there will be some duplicate
work in the future to support ARM, but we can plan for this with some API
design.

8) Next meeting

Next meeting is on Aug 1st, 2023. 2pm-3pm EDT.
