Teleconference 2015-07-08

From VTKM
Jump to navigation Jump to search

Attendees: Ken Moreland (SNL), Matt Larson (OU/LLNL), Rob Maynard (Kitware), Sujin Philip (Kitware), Jimmy Chen (Kitware), Jeremy Meredith (ORNL), Tom Fogal (NVIDIA), Brent Lessley (OU), Hendrik Schroots (UC Davis), Hank Childs (OU)

Ken recently added several math functions to VTK-m. These include portable versions of basic math (like those found in math.h plus a few others found with certain compilers). There is also a matrix class for small matrices. The size of the matrices is templated to support any shape, but they are designed to be used on a single thread so should be small. There are also some vector analysis functions for convenience. Math on cells (such as interpolation derivatives, point/world coordinates) are still missing.

We still need Windows builds for merge request buildbot builds. Rob said he will work on that tomorrow.

Brent is making progress on an external faces algorithm in VTK-m. It is currently working but going through some changes for the merge request. Brent is also working on benchmarks for the algorithm.

Rob is working with a student on creating device adapter micro benchmarks. Micro benchmarks are analogous to unit tests in that they exercise a small, specific feature. Rather than test for correctness, they test for the speed. The idea is that if a change is introduced that slows down a benchmark, it could have a negative impact on the efficiency of numerous operations in VTK-m, and we should be made aware of it. The current set of micro benchmarks test most of the features in a device adapter. They need to be expanded to different data types, and they need to consider data arrays with different patterns (for example stream compaction with more or fewer duplicate keys).

Sujin is working on a feature to get the bounds of a field array. The bounds should be cached (so we do not have to re-execute each time) in vtkm::cont::Field. But because this class uses a dynamic array handle, it is not known what the data type would be nor is it known any vector length. The suggested solution is to do something similar to VTK's vtkDataArray, which is to malloc a small double array matching the number of components. This really needs a GetNumberOfComponents method in DynamicArrayHandle, which does not yet exist. Ken volunteered to take a look at implementing it.

Although there are many Doxygen-compatible comments in VTK-m, there is no automated process for running Doxygen in the build system. Jeremy volunteered to take a look at adding that, and once that is set up Rob will arrange to have nightly Doxygen served on a web page.