|
| 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