VTK-m merge requestshttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests2021-06-09T08:45:40-04:00https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2480WIP: Particle Advection filter surgery and new filter2021-06-09T08:45:40-04:00Dave PugmireWIP: Particle Advection filter surgery and new filterRefactor the particle advection filters to remove a bunch of duplicated code.
Add an unsteady state particle advection filter.Refactor the particle advection filters to remove a bunch of duplicated code.
Add an unsteady state particle advection filter.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2476std::to_string works on both host and device.2021-04-14T15:05:18-04:00Nick Thompsonstd::to_string works on both host and device.One of (hopefully) the last trivial things I noticed working on `Testing.h`. `std::stringstream` does not work on devices, but `std::to_string` does. So converting an index to a string can be marked `VTKM_EXEC_CONT`.
Checking that this ...One of (hopefully) the last trivial things I noticed working on `Testing.h`. `std::stringstream` does not work on devices, but `std::to_string` does. So converting an index to a string can be marked `VTKM_EXEC_CONT`.
Checking that this is true on all our supported systems via the CI . . .https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2475The __FILE__ macro is a const char* with the same lifetime as the program.2021-04-14T09:06:28-04:00Nick ThompsonThe __FILE__ macro is a const char* with the same lifetime as the program.I fully expect to close the MR in a state of complete mind bogglement after the CI runs.I fully expect to close the MR in a state of complete mind bogglement after the CI runs.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2473Reorder arguments to prevent confusion.2021-04-13T21:29:27-04:00Nick ThompsonReorder arguments to prevent confusion.Reorder the arguments to `Assert` so that macro substitution doesn't become confused. Also change the type of `__FILE__` to its correct type as a `const char*`, as previously we had observed the unit tests dominated by the cost of string...Reorder the arguments to `Assert` so that macro substitution doesn't become confused. Also change the type of `__FILE__` to its correct type as a `const char*`, as previously we had observed the unit tests dominated by the cost of string construction and deconstruction.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2468Don't initialize logging.2021-04-12T12:03:43-04:00Nick ThompsonDon't initialize logging.Calling the logging initialization code causes roughly the following output to be printed:
```
687: Test command: /builds/gitlab-kitware-sciviz-ci/build/bin/UnitTests_vtkm_io_testing "UnitTestImageWriter" "--device=openmp" "-v" "INFO" "...Calling the logging initialization code causes roughly the following output to be printed:
```
687: Test command: /builds/gitlab-kitware-sciviz-ci/build/bin/UnitTests_vtkm_io_testing "UnitTestImageWriter" "--device=openmp" "-v" "INFO" "--data-dir=/builds/gitlab-kitware-sciviz-ci/data/data" "--baseline-dir=/builds/gitlab-kitware-sciviz-ci/data/baseline" "--write-dir=/builds/gitlab-kitware-sciviz-ci/build"
687: Test timeout computed to be: 180
687: date time ( uptime ) [ thread name/id ] file:line v|
687: 2021-04-10 21:09:29.142 ( 0.001s) [main thread ] loguru.cpp:591 Info| arguments: UnitTestImageWriter --device=openmp -v INFO --data-dir=/builds/gitlab-kitware-sciviz-ci/data/data --baseline-dir=/builds/gitlab-kitware-sciviz-ci/data/baseline --write-dir=/builds/gitlab-kitware-sciviz-ci/build
687: 2021-04-10 21:09:29.142 ( 0.001s) [main thread ] loguru.cpp:594 Info| Current dir: /builds/gitlab-kitware-sciviz-ci/build/vtkm/io/testing
687: 2021-04-10 21:09:29.142 ( 0.001s) [main thread ] loguru.cpp:596 Info| stderr verbosity: 0
687: 2021-04-10 21:09:29.142 ( 0.001s) [main thread ] loguru.cpp:597 Info| -----------------------------------
687: 2021-04-10 21:09:29.165 ( 0.024s) [main thread ] loguru.cpp:471 Info| atexit
```
The only relevant information (the test command) is exactly the same as what is printed by `ctest`.
Removing this superfluous information causes the size of the log to decrease by roughly 5,000 lines, depending on the build configuration.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2467WIP: VTKM_CHECK_ULP_CLOSE macro with much more metadata.2021-04-12T12:03:18-04:00Nick ThompsonWIP: VTKM_CHECK_ULP_CLOSE macro with much more metadata.Currently, the output of this macro on failure is:
![Screen_Shot_2021-04-11_at_9.46.59_AM](/uploads/b46eb099cf2970f176f3fd9f2c99f1af/Screen_Shot_2021-04-11_at_9.46.59_AM.png)Currently, the output of this macro on failure is:
![Screen_Shot_2021-04-11_at_9.46.59_AM](/uploads/b46eb099cf2970f176f3fd9f2c99f1af/Screen_Shot_2021-04-11_at_9.46.59_AM.png)https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2454Make connectivity structures trivially copyable2021-03-31T14:56:52-04:00Kenneth MorelandMake connectivity structures trivially copyableIt always worked to trivially copy these classes, but the compiler did
not think so because copy constructors were defined. Change these
constructors to be default so that the compler can properly check
triviality.It always worked to trivially copy these classes, but the compiler did
not think so because copy constructors were defined. Change these
constructors to be default so that the compler can properly check
triviality.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2449Draft: Multi block threaded2021-06-09T08:45:40-04:00Dave PugmireDraft: Multi block threadedhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2437WIP: Threaded multi block2021-03-26T15:02:39-04:00Dave PugmireWIP: Threaded multi blockThreading support for processing PartitionedDataSetThreading support for processing PartitionedDataSethttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2432WIP: Make reinterpreting from Variant safer2021-04-02T09:34:53-04:00Kenneth MorelandWIP: Make reinterpreting from Variant saferI ran into some bizarre behavior with code generated with GCC in
optimized mode. I think the problem was that the optimizer was
being aggressive in removing computation after reinterpreting
pointers.
The C++ standard states that if two ...I ran into some bizarre behavior with code generated with GCC in
optimized mode. I think the problem was that the optimizer was
being aggressive in removing computation after reinterpreting
pointers.
The C++ standard states that if two pointers or references point
to different types of data, they can be considered to point to
different memory locations. This often allows the compiler to
make much faster code. But it also means that if you pun the
data (make the data look like two different things at once) you
get undefined behavior.
The commonly accepted solution to the problem is to use
std::memcpy to move the data to a pointer of a new type. However,
this only works for trivial types, and we need to support
non-trivial types.
The solution used here is to allow the data to be punned, but
to use std::memmove to alert the compiler that there is a
dependence between the two types. The pointers to the memmove
are the same, so the compiler should remove any actual work
but still record the data dependence. It should also be safe
for non-trivial types since you are not actually moving any data.
Technically, this solution still is classified as undefined
behavior. However, the only issue you should run into is that
changes to the punned data won't reflect each other. This should
be addressed in `CastAndCall`, which does a second memmove after
the functor is called in case the object is changed. For the
same reason, writing to the value using `Get` has been disabled
to prevent those writes from being out of order.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2429Add ArrayHandleSOA to default types.2021-03-02T12:08:28-05:00Dave PugmireAdd ArrayHandleSOA to default types.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2426Find tbb vs2019 support2021-03-24T11:24:15-04:00Ben BoeckelFind tbb vs2019 supporthttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2425WIP: Try to reproduce CUDA link failure due to too many optimizer constants o...2021-03-02T12:15:23-05:00Nick ThompsonWIP: Try to reproduce CUDA link failure due to too many optimizer constants on PascalSee [605](https://gitlab.kitware.com/vtk/vtk-m/-/jobs/5342745)See [605](https://gitlab.kitware.com/vtk/vtk-m/-/jobs/5342745)https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2415fix ray tracing/gl depth conversions2021-02-23T18:52:56-05:00Matt Larsenfix ray tracing/gl depth conversionshttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2408Update TypeTraits for basic types2021-02-17T10:28:34-05:00Kenneth MorelandUpdate TypeTraits for basic typesMatch the list of types defined to `vtkm::TypeListBaseC`. (Previously,
`bool` was missing.)Match the list of types defined to `vtkm::TypeListBaseC`. (Previously,
`bool` was missing.)https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2389WIP: Debugging contour tree augmented MC issue2021-01-28T14:36:29-05:00Gunther WeberWIP: Debugging contour tree augmented MC issuehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2383Distributed memory pathlines2021-02-05T09:43:35-05:00Dave PugmireDistributed memory pathlinesGeneralize the parallel particle advection code to support pathlines.Generalize the parallel particle advection code to support pathlines.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2376Fix error message when using deprecated storage2021-01-07T13:37:01-05:00Kenneth MorelandFix error message when using deprecated storageWhen using the old style of storage, you need to declare it as the old
style so that a bridge to the new style can be built in. You get a
compile error message if this is not done. The previous message gave the
wrong instructions.When using the old style of storage, you need to declare it as the old
style so that a bridge to the new style can be built in. You get a
compile error message if this is not done. The previous message gave the
wrong instructions.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2373Draft: Adding MIR filter and files2021-07-06T16:45:28-04:00Abhishek Yenpureabhi.yenpure@kitware.comDraft: Adding MIR filter and filesCreating MR on behalf of Hank.Creating MR on behalf of Hank.Abhishek Yenpureabhi.yenpure@kitware.comAbhishek Yenpureabhi.yenpure@kitware.comhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2370Draft: Require cxx 142021-07-28T08:15:20-04:00Robert MaynardDraft: Require cxx 14