Commit Graph

236 Commits

Author SHA1 Message Date
Kenneth Moreland
4335e43e50 Merge topic 'allow-backward-compatibility'
b2997bcbe Support backward compatibility in CMake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !3234
2024-06-24 09:05:49 -04:00
Kenneth Moreland
b2997bcbe8 Support backward compatibility in CMake package
VTK-m development is in a mode where backward compatibility should be
maintained between minor versions of the software. (You may get deprecation
warnings, but things should still work.) To match this behavior, the
generated CMake package now supports finding versions with the same major
release and the same or newer minor release. For example, if an external
program does this

``` cmake
find_package(VTKm 2.1 REQUIRED)
```

then CMake will link to 2.1 (of course) as well as newer minor releases
(e.g., 2.2, 2.3, etc.). It will not, however, match older versions (e.g.,
2.0, 1.9), nor will it match any version after the next major release
(e.g., 3.0).
2024-06-21 15:28:42 -04:00
Gunther H. Weber
124c58eb48 Minor fixes for distributed contour tree example 2024-05-10 15:09:03 -07:00
Vicente Adolfo Bolea Sanchez
6664fd1e5a cmake: VTKm_ENABLE_KOKKOS_THRUST disabled by default 2023-12-15 13:07:20 -05:00
Vicente Bolea
4e0eb57527 Merge topic 'fix-rocthrust-dep'
c9ec6ae6a kokkos: let link vtkm_cont to roc::rocthrust

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3160
2023-11-30 22:08:36 -05:00
Vicente Adolfo Bolea Sanchez
c9ec6ae6a6 kokkos: let link vtkm_cont to roc::rocthrust
Also reorder the declarion of the option VTKm_ENABLE_KOKKOS_THRUST
to be set before calling VTKmDeviceAdapters.
2023-11-30 18:18:03 -05:00
Kenneth Moreland
3d3b66865f Add option to turn off Doxygen html
The Doxygen html generation takes a lot more time than the xml
generation. If all you want from Doxygen is the xml for the user's
guide, that can be frustrating. Add an option to turn off the xml.
2023-11-21 07:50:04 -07:00
Kenneth Moreland
b80b7e2e71 Add VTK-m User's Guide to source
This is a start of moving the VTK-m User's Guide into the VTK-m source.
This is only the start of the process. There are several goals of this
work.

1. Integrate the documentation into the source code better to better
   keep the code up to date.
2. Move the documentation over to Sphinx so that it can be posted online
   and be more easily linked.
3. Incoporate Doxygen into the guide to keep the documentation
   consistent.
4. Build the user guide examples as part of the VTK-m CI to catch
   compatibility changes quickly.
2023-10-17 11:31:27 -04:00
Jefferson Amstutz
db4c5c3b98 initial implementation of ANARI rendering support 2023-08-30 15:52:48 -05:00
Mingzhe Li
d3db3d1dd9 Implement computing branch decomposition info and added unit test 2023-08-25 19:22:59 -04:00
Kenneth Moreland
898115a410 Add copyright notice to scipts and configuration files
There are numerous scripts and configuration files defined in the CI setup
and elsewhere that were missing the copyright statement. Add more types
of files to check in the CopyrightStatement test, and update the files
with the appropriate statement.
2023-07-25 11:05:40 -06:00
Vicente Adolfo Bolea Sanchez
1e27495809 diy,mpi: Enable GPU AWARE MPI buffers
This commit adds the flag VTKm_ENABLE_GPU_MPI which when enable it
will use GPU AWARE MPI.

- This will only work with GPUs and MPI implementation that supports GPU
  AWARE MPI calls.
- Enabling VTKm_ENABLE_GPU_MPI without MPI/GPU support might results in
  errors when running VTK-m with DIY/MPI.
- Only the following tests can run with this feature if enabled:
  - UnitTestSerializationDataSet
  - UnitTestSerializationArrayHandle
2023-05-30 12:13:03 -04:00
Thomas Gibson
50d4ab5cc1 CMake: VTKm_ENABLE_KOKKOS_THRUST to depend on Kokkos with CUDA or HIP enabled 2023-02-20 12:55:58 -06:00
Thomas Gibson
fda475d5bf Rework Thrust CMake options 2023-02-20 08:26:28 -06:00
Sean Miller
e6f63a807d Adding CMake tweaks to turn off thrust algorithms if thrust is not detected. 2023-02-20 08:26:24 -06:00
Mark Bolstad
95c641559d Add cmake flag to override default ctest timeouts
The current ctest timeout in VTK-m are fine for the CI, but are too long for develoment when a test is hanging on a queued node. This commit allows a developer to turn off the majority of the hard coded timeout values which allows them to set them at the ctest command-line.
2023-01-09 08:42:23 -07:00
Vicente Adolfo Bolea Sanchez
049d0cca8c cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
Kenneth Moreland
f4b972afaa Merge topic 'no-deprecated-virtual'
ea560e948 Remove deprecated virtual methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2903
2022-10-31 14:38:32 -04:00
Kenneth Moreland
ea560e9486 Remove deprecated virtual methods
Several revisions ago, the ability to use virtual methods in the
execution environment was deprecated. Completely remove this
functionality for the VTK-m 2.0 release.
2022-10-28 10:56:52 -06:00
Kenneth Moreland
73cb38d860 Output complete list of libraries for external Makefiles
There is a Makefile include, `vtkm_config.mk`, and a package include,
`vtkm.pc`, that are configured so that external programs that do not use
CMake have a way of importing VTK-m's configuration. However, the set of
libraries was hardcoded. In particular, many of the new filter libraries
were missing.

Rather than try to maintain this list manually, use the module mechanism
in the CMake configuration to get a list of libraries built and
automatically build these lists.
2022-10-27 06:14:49 -06:00
Kenneth Moreland
ad1e7b5bdb Add module mechanism
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.

The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.

This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
2022-10-26 12:51:05 -06:00
Vicente Adolfo Bolea Sanchez
5fe665ad00 CMAKE: enable TESTING_LIBRARY when BENCHMARKS 2022-03-04 22:23:29 +00:00
Vicente Adolfo Bolea Sanchez
75fed87240 examples: add option to install examples 2022-02-16 19:43:52 -05:00
Tushar Athawale
91a267eacc tutorial updates to fix warnings and CMakeLists for optional tutorial build 2022-02-12 11:25:50 -05:00
Tushar Athawale
ed9e231281 CmakeLists modified to address vtk-m no rendering mode 2022-02-07 12:26:12 -05:00
Tushar Athawale
f160062457 CmakeLists for building tutorial examples 2022-02-07 12:26:11 -05:00
Tushar Athawale
755a0ab9cc Cmakelist update for tutorial examples 2022-02-07 12:26:11 -05:00
Vicente Adolfo Bolea Sanchez
555013cdda CMAKE: add unity builds support 2021-11-10 15:03:11 -05:00
Li-Ta Lo
35a6b8500a Enable NO_DEPRECATED_VIRTUAL by default 2021-10-13 13:20:28 -04:00
Vicente Adolfo Bolea Sanchez
b83b4f8880 CMake: adds VTKm_ENABLE_TESTING_LIB 2021-09-28 16:58:18 -04:00
Ben Boeckel
73353fea70 Merge topic 'allow-skip-version-links'
09d5b9471 cmake: allow VTK to skip soname links for libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2563
2021-08-26 13:58:44 -04:00
Ben Boeckel
09d5b9471e cmake: allow VTK to skip soname links for libraries
VTK's wheels do not want these symlinks because they are useless in
Python wheels.
2021-08-26 12:06:09 -04:00
Vicente Adolfo Bolea Sanchez
d348b11183 Enable shared CUDA builds when not compiling virtuals
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>
2021-08-24 13:14:58 -04:00
Li-Ta Lo
c6e06d45bc more trial 2021-07-26 20:44:24 -06:00
Li-Ta Lo
167afd89d8 move configure_file after configure_package_config_file 2021-07-26 19:20:43 -06:00
Li-Ta Lo
e5338b60e8 how about the other 2021-07-25 12:27:17 -06:00
Li-Ta Lo
6cd30dac97 restore install of vtkm_config.mk 2021-07-24 22:30:02 -06:00
Li-Ta Lo
4f699218aa temporary disable config files 2021-07-24 21:56:27 -06:00
Li-Ta Lo
29e62a49b6 added pkg-config .pc 2021-07-23 15:33:07 -06:00
Li-Ta Lo
cfc17158d1 export configuration to Makefile 2021-07-19 12:47:36 -06:00
Kenneth Moreland
cb3bb43ff9 Completely deprecate virtual methods
Deprecate `VirtualObjectHandle` and all other classes that are used to
implement objects with virtual methods in the execution environment.

Additionally, the code is updated so that if the
`VTKm_NO_DEPRECATED_VIRTUAL` flag is set none of the code is compiled at
all. This opens us up to opportunities that do not work with virtual
methods such as backends that do not support virtual methods and dynamic
libraries for CUDA.
2021-04-28 07:28:32 -06:00
Caitlin Ross
53833334c4 change the way tbb is imported 2021-04-08 16:24:42 -04:00
Chuck Atkins
78e7645fcb cmake: Fix FindMPI getting consumed by newer CMake versions 2021-02-16 10:34:48 -05:00
Vicente Adolfo Bolea Sanchez
bbe36d8c33 cmake: set c++14 as minimum c++ rev
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-02-08 17:13:05 +01:00
Li-Ta Lo
ff0b8fd0bb changed to CMake files based on Robert's feedback 2021-01-14 14:23:05 -07:00
Li-Ta Lo
ca0ce4de7b Merge branch 'master' into hdf5_image_io 2021-01-14 14:08:00 -07:00
Li-Ta Lo
1ebcde1d30 add HDF5 include path 2021-01-05 11:10:48 -07:00
Robert Maynard
7897d23c39 Cleanup some minor CMake style issues 2020-12-28 10:36:00 -05:00
Li-Ta Lo
da7d6aaf19 Add HDF5 Image file support 2020-12-25 16:02:08 -07:00
Robert Maynard
2caad9c4af Mark VTKm_NO_ASSERT_HIP as an advanced CMake flag 2020-11-17 12:44:48 -05:00