The reason why we did not support shared libraries when CUDA compiles
were on is that virtual methods require a special linking step to pull
together all virtual methods that might be called. I other words, you
cannot call a virtual CUDA method defined inside a library. This
requirement goes away when virtuals are removed.
Also removed the necessity of using seprable compilation with cuda.
Again, this is only needed when a CUDA function is defined in one
translation unit and used in another. Now we can enforce that all
translation units define their own CUDA functions.
Also, suppress warnings in cuda/internal/ExecutionPolicy.h
This is where we call the thrust algorithms. There must be some loop
where it, on some code path, calls back a host function. This must be in
an execution path that never happens. The thrust version has its own
suppress, but that does not seem to actually suppress the warning (it
just means that the warning does not tell you where the actual call is).
Get around the problem by suppressing the warnings in VTK-m.
Co-authored-by: Kenneth Moreland <morelandkd@ornl.gov>
Co-authored-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
The `ContourTreeUniformAugmented` tests for Cuda consistently
times out while running on the `centos7_gcc48` and `rhel8_test_centos7`
configurations. Temporarily exclude it to improve the CI turn-around time
while this issue is being resolved.
The centos7 on rhel8 was not running the install tests
as the path to cmake/ctest wasn't valid. This causes
the causes the following issues:
1. NOT_RUN tests with REPEAT don't show up in CMake failed
output fixed by:
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4801
2. failed tests cause ctest_test to return an error code,
which propagates to the script, which propagates to
having ctest running the script return an error.