Skip to content

Commit 9408abc

Browse files
authored
Merge pull request #1080 from apradhana/TSC_2021-05-25
Add TSC Meeting Notes from 2021-05-25.
2 parents c8ade31 + e5d16e3 commit 9408abc

File tree

1 file changed

+163
-0
lines changed

1 file changed

+163
-0
lines changed

tsc/meetings/2021-05-25.md

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
Minutes from 92nd OpenVDB TSC meeting, May 25th, 2021, (EDT)
2+
3+
Attendees: *Nick* A., *Ken* M., *Jeff* L., *Dan* B., *Andre* P.
4+
5+
Additional Attendees: Richard Jones (DNeg), JT Nelson (Blender),
6+
Bruce Cherniak (Intel), Sergio Rojas, Johannes Meng (Intel).
7+
Jeff Budsberg (DreamWorks)
8+
9+
10+
Regrets: None
11+
12+
Agenda:
13+
14+
1) Confirm Quorum
15+
2) Secretary
16+
3) TSC Updates
17+
4) OpenVDB 8.1
18+
5) Siggraph Course
19+
6) Vectorization
20+
7) Intel's OpenCL and TBB 2021
21+
8) Support for LLVM 6 in AX
22+
9) Github Pages
23+
10) PR-1050 (Blind Data)
24+
11) PR-1024 (DynamicNodeManager Grain Size)
25+
12) PR-1070
26+
13) Next meeting
27+
28+
1) Confirm Quorum
29+
30+
Quorum is present.
31+
32+
2) Secretary
33+
34+
Secretary is Andre Pradhana.
35+
36+
3) TSC Updates
37+
38+
Nick is changing employers. This is going to happen at the end of June 2021.
39+
He intends to still be part of the TSC. Nick nominates Richard Jones to be a member
40+
of the TSC. Ken mentions that members of the TSC need to be active developers and
41+
that it is of interest to have somebody from DNEG as part of ASWF. Dan vouches that
42+
Richard is a good and competent developer and it will be good to have him
43+
as a member of the TSC.
44+
45+
46+
4) OpenVDB 8.1
47+
48+
We have one more week before the release of OpenVDB 8.1. Dan mentions that there is not
49+
going to be too much testing from ILM because the major release is done on a quarterly
50+
basis. Jeff was waiting for a branch for the 8.1 version. Dan will create a branch for 8.1
51+
today. Andre has a test map for OpenVDB 8.1 in DWA, he is working with Ibrahim on
52+
the in-house build system.
53+
54+
5) Siggraph Course
55+
56+
Ken will not change Nick's affiliation for the course.
57+
58+
The deadline of getting the recording to JT is this Friday, May 28, 2021. Everybody
59+
will email a video to JT. However if you need more time, JT will accommodate until
60+
Wednesday June 2nd, 2021.
61+
62+
Jeff mentions that he did a zoom-recording test-run with screen-sharing for Houdini
63+
session versus presentation. He discovers that screen sharing puts his icon besides
64+
the window. JT believes that you can change this setting and he is going to look into it.
65+
Ken may need more time because he may need to serve in a jury duty, but he will finish
66+
the course by the weekend at the latest.
67+
68+
Everyone is fine with the order of the course.
69+
70+
Nick brings up comparison between AX and OpenVDB C++ API. Dan does not have any plans
71+
on vectorization. He wants to talk about how to write parallel-algorithm with VDB.
72+
For the course, Nick and Richard want to bring up the point that AX will be able
73+
to exploit the underlying host's architecture for optimization. To highlight this
74+
they want to compare AX with existing parallel method in OpenVDB such as the
75+
LeafManager's foreach and tools::foreach. Richard has examples for setting the values
76+
and decrement the values by 1. Dan and Ken mentions that tools::foreach is using the
77+
nested iterator and is expected to be slower than the LeafManager's foreach. Later,
78+
Nick mentions that tools::foreach is the easiest way to execute across all levels
79+
of a VDB tree.
80+
81+
Ken mentions that somebody in the course should talk about the road map for OpenVDB.
82+
He will get an email rolling.
83+
84+
6) Vectorization
85+
86+
Ken wants to push for vectorization (e.g. AVX) in OpenVDB. There are many places where
87+
we can benefit by using vectorization in the tools. Ken and Nick mentions the need to use
88+
a wrapper library to implement vectorization correctly. There is pitfall if you blindly
89+
puts AVX everywhere because there are cases where you slow it down because populating
90+
the SSE registers can be expensive. Jeff mentions the issue with downclocking with
91+
AVX-512 and processor compatibility.
92+
93+
Nick uses Agner's Fog VCL vectorization library. Dan mentions that since we already have
94+
a way to introduce half into the library, we also needs to consider embedding the library
95+
into OpenVDB especially because it is header only. Nick says that there are two versions
96+
of the library for C++14 and C++17. The former version is completely locked.
97+
98+
Jeff mentions processor compatibility issues that may rise up. There is also a problem
99+
with getting two different results of fused multiply-add from a code compiled with and
100+
without AVX2. Dan also had an experience of getting different results from a GPU code
101+
and a code running on the CPU, where he needed to turn off fused multiply-add on the CPU
102+
to get the same results.
103+
104+
Nick mentions that Windows does not have flags for anything before AVX that makes it
105+
impossible to detect the host architecture at compile time through MS build.
106+
107+
108+
7) Intel's OpenCL and TBB 2021
109+
110+
Dan asks if anyone from Intel (Bruce or Johannes) has a direct contact with the OpenCL
111+
team because the new OpenCL driver with the latest tbb does not work in CentOS 7. Johannes
112+
suggests Dan to send an email to him and Bruce.
113+
114+
Johannes and Nick talk about the tbb 2021 fix. Some fixes will get into 8.1, but not
115+
it is still incomplete and Nick asks for people to contribute. It is not a priority for
116+
8.1.
117+
118+
8) Support for LLVM 6 in AX
119+
120+
Nick wants to drop support for LLVM 6 in AX. Nick asks Dan if he can change
121+
OPENVDB_FUTURE_DEPRECATION to be ON. Dan has no objection.
122+
123+
9) Github Pages
124+
125+
Nick asks for what lives in the OpenVDB repository, including the website and
126+
documentation. Dan says that the documentation is part of the code. Dan thinks
127+
that ideally the documentation should live on the OpenVDB website repo. Nick
128+
wants to take a look at an ideal solution for this. Nick has been playing
129+
around with getting Read the Docs to work with OpenVDB.
130+
131+
10) PR-1071 (Code Coverage)
132+
133+
Nick has a code coverage pull request based on gcov. The Fast Sweeping test in
134+
debug build takes very long to complete. Ken will take a look into this. Nick
135+
says that the Levelset Filter is not tested. Nick also is experimenting with
136+
clang instead of gcov.
137+
138+
Dan sees that this test coverage only covers one ABI. It will be nice to have
139+
a coverage test more frequently, even with every PR. It is very cool to have this
140+
coverage test.
141+
142+
10) PR-1050 (Blind Data)
143+
144+
Dan thinks that this PR is ready to go. This is ABI 9 feature. Ken will look
145+
at this PR.
146+
147+
11) PR-1024 (DynamicNodeManager Grain Size)
148+
149+
There is grain size for leaf nodes and another for non-leaf nodes. Jeff wants a good
150+
way to know the size of the tree and decide on whether an algorithm should be threaded
151+
based on that. This is related to having 8 root nodes problem.
152+
153+
In the end, Jeff and Ken have no objections. Ken mentions that we should revisit the
154+
positioning of the origin, but we should start with some benchmarks.
155+
156+
12) PR-1070
157+
158+
The CI is currently broken, since brew has updated to tbb 2020. This PR fixes it.
159+
160+
13) Next meeting
161+
162+
Next meeting is June 1st, 2021. 12pm-1pm EST (GMT-5).
163+

0 commit comments

Comments
 (0)