Commit Graph

564 Commits

Author SHA1 Message Date
Vicente Adolfo Bolea Sanchez
049d0cca8c cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
Kenneth Moreland
1f34e0eaa6 Add performance configuration options
Added a name option that allows the same benchmark executable to be used
in multiple benchmark tests. This allows the benchmarks to be separated.
Also added an option to pass customized arguments to the benchmark
executable to overwrite the default values.
2022-12-05 13:20:18 -07: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
89aaecff32 Merge topic 'rebuild-modules'
add7c68d5 Add make dependencies to rebuild CMake when vtkm.module files change

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2902
2022-10-31 11:56:45 -04:00
Kenneth Moreland
076e0a75b0 Merge topic 'fix-filter-tests'
96b447e69 Fix some deprecated hacks in modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2904
2022-10-31 09:58:13 -04:00
Kenneth Moreland
972a96b6c6 Merge topic 'external-lib-lists'
73cb38d86 Output complete list of libraries for external Makefiles
d87316fbf Create a list of all modules being built

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nicole Marsaglia <marsaglia1@llnl.gov>
Merge-request: !2901
2022-10-28 14:20:58 -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
Vicente Bolea
d694675027 Merge topic 'update-cmake'
55e8d258a CMAKE: update latest CI CMake to 3.23.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2892
2022-10-27 13:01:18 -04:00
Kenneth Moreland
add7c68d51 Add make dependencies to rebuild CMake when vtkm.module files change
Also improved a diagnostic when bad identifiers are used in vtkm.module
files.
2022-10-27 10:47:39 -06:00
Kenneth Moreland
96b447e69a Fix some deprecated hacks in modules
When the configure modules were first created, there were some hacks
around filters that had not yet moved to the new filter mechanism. These
can (and should) be removed.
2022-10-27 10:24:28 -06:00
Kenneth Moreland
d87316fbf1 Create a list of all modules being built 2022-10-26 15:56:28 -06:00
Vicente Adolfo Bolea Sanchez
55e8d258ad CMAKE: update latest CI CMake to 3.23.4 2022-10-26 17:18:15 -04: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
2df065869c CI: Enable Ascent builds in MR 2022-10-25 15:40:17 -04:00
Vicente Adolfo Bolea Sanchez
8d01c750f8 Partial revert of a4f81d2c3e34fead9e55a802967445db195d9856 2022-10-11 13:50:32 -04:00
Vicente Adolfo Bolea Sanchez
c2d1a46bd0 KOKKOS: empty bogus kokkoscore property 2022-10-11 12:29:32 -04:00
Vicente Adolfo Bolea Sanchez
7ceec1ddac libs: proper version and soversion in vtk-m libs
This commit reflects the changes of VTK-m API/ABI release plans in
which we attempt ABI compatibility in patch releases.

- It also sets the version/soname for diy thirdparty module lib
2022-10-10 13:49:56 -04:00
Vicente Adolfo Bolea Sanchez
7e99e256bb perftest: add perf regression test 2022-10-07 17:42:12 -04:00
Vicente Adolfo Bolea Sanchez
db770e7598 CI: Limit usage of hipcc and use -O0 2022-09-30 17:04:25 -04:00
Vicente Adolfo Bolea Sanchez
55e742319e CI: increase kokkos-backend test timeout 2022-09-30 17:04:25 -04:00
Vicente Adolfo Bolea Sanchez
c92abc4093 lodepng: remove interface dependency
It also avoid installing lodepng.a in the vtk-m shared build.
2022-08-22 21:54:49 -04:00
Vicente Adolfo Bolea Sanchez
bba1630614 Revert "ci: change timeout for kokkos"
This reverts commit 185634fe47986cb6689054790f96d59e1e231b8c.
2022-08-09 12:25:31 -04:00
Vicente Bolea
7c25d8f0f4 Merge topic 'skip-find-tbb-if-loaded'
c30c35571 Revert "Disable loading the TBBConfig.cmake file"
dd3fc9781 cmake: skip find_package(TBB) if already loaded

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2835
2022-08-04 17:33:47 -04:00
Vicente Adolfo Bolea Sanchez
c30c35571f Revert "Disable loading the TBBConfig.cmake file"
This reverts commit a8825db59a7235c9d267ac4f909bd2eebb25cb40.
2022-08-04 13:58:01 -04:00
Vicente Adolfo Bolea Sanchez
dd3fc97811 cmake: skip find_package(TBB) if already loaded 2022-08-04 13:24:27 -04:00
Vicente Adolfo Bolea Sanchez
185634fe47 ci: change timeout for kokkos 2022-07-27 21:05:39 -04:00
Kenneth Moreland
163d591795 Add DEVICE_SOURCES to vtkm_unit_tests
The `vtkm_unit_tests` function in the CMake build now allows you to specify
which files need to be compiled with a device compiler using the
`DEVICE_SOURCES` argument. Previously, the only way to specify that unit
tests needed to be compiled with a device compiler was to use the
`ALL_BACKENDS` argument, which would automatically compile everything with
the device compiler as well as test the code on all backends.
`ALL_BACKENDS` is still supported, but it no longer changes the sources to
be compiled with the device compiler.
2022-07-08 06:28:51 -06:00
Vicente Bolea
b40d7105cf Merge topic 'add-cuda-arch'
af129132c CMAKE: add CMAKE_CUDA_ARCHITECTURE support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2724
2022-03-30 11:49:44 -04:00
Vicente Adolfo Bolea Sanchez
af129132cc CMAKE: add CMAKE_CUDA_ARCHITECTURE support 2022-03-29 19:56:43 -04:00
Kenneth Moreland
18461d676f Add a unique symbol to InstantiationTemplate.cxx.in
A compiler or linker may give an error if a .cxx file is empty (that is,
declares no symbols). This can happen if an instantiation declaration
gets removed during the compile either through preprocessor macros or
SFINAE.

To protect against this, declare a simple integer with a unique symbol
in each instantiation file. The overhead is very small and will prevent
compile/link errors.
2022-03-28 09:18:23 -06:00
Kenneth Moreland
61a44887fd Update vtkm_add_instantiations documentation 2022-03-23 06:34:05 -06:00
Kenneth Moreland
6eb9c9876c Add generalized instantiation
Recently, an instantiation method was added to the VTK-m configuration
files to set up a set of source files that compile instances of a template.
This allows the template instances to be compiled exactly once in separate
build files.

However, the implementation made the assumption that the instantiations
were happening for VTK-m filters. Now that the VTK-m filters are being
redesigned, this assumption is broken.

Thus, the instantiation code has been redesigned to be more general. It can
now be applied to code within the new filter structure. It can also be
applied anywhere else in the VTK-m source code.
2022-03-23 06:33:36 -06:00
Vicente Adolfo Bolea Sanchez
b2c3da8f6a CTEST: add smoke test 2022-02-12 00:16:30 +00:00
Vicente Bolea
ce17a3bf77 Merge topic 'cuda-multiple-archs' into release
0bbba6c0c CMAKE: CUDA ampere generate sm_80/86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2688
2022-01-28 12:55:33 -05:00
Vicente Bolea
2bdce6c32d Merge topic 'cuda-multiple-archs'
0bbba6c0c CMAKE: CUDA ampere generate sm_80/86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2688
2022-01-28 12:55:33 -05:00
Vicente Adolfo Bolea Sanchez
770c76f842 HIP: remove bogus kokkoscore props 2022-01-27 20:41:56 -05:00
Vicente Adolfo Bolea Sanchez
0bbba6c0c2 CMAKE: CUDA ampere generate sm_80/86 2022-01-27 20:03:54 -05:00
Vicente Bolea
a4a38835e8 Merge topic 'kokkos-fix'
cc6502498 HIP: remove bogus kokkoscore props

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2679
2022-01-24 16:19:26 -05:00
Vicente Adolfo Bolea Sanchez
cc6502498e HIP: remove bogus kokkoscore props 2022-01-21 16:36:40 -05:00
Vicente Adolfo Bolea Sanchez
555013cdda CMAKE: add unity builds support 2021-11-10 15:03:11 -05:00
Kenneth Moreland
8ea7fbc350 Add clarification for DEVICE_SOURCES
The `vtkm_add_target_information` CMake function has a `DEVICE_SOURCES`
option that allows you to list which sources need to be compiled with a
device compiler. Added some hints to the documentation about which
source code needs to be listed in `DEVICE_SOURCES`.
2021-10-12 13:50:42 -06:00
Jieyang Chen
a157c0e846 Add changes for supporting Kokkos/HIP
Some of the unit tests for serial and kokkos are disable for hipcc to
properly compile.
VTKM_MATH_ASSERT and VTKM_TEST_ASSERT fail to compile with HIP in
execution environment so they are disabled with building with HIP.
Kokkos::finalize is causing error so it is temporarily disabled.
2021-10-01 15:27:00 -04:00
Vicente Adolfo Bolea Sanchez
521ef15fee Expose VTKm_ENABLE_TESTING_LIBRARY in find_package 2021-09-30 16:13:51 -04:00
Vicente Adolfo Bolea Sanchez
46b0268825 CI: add ubuntu2004 with tbb 2020 build 2021-09-28 19:46:11 +00:00
Vicente Adolfo Bolea Sanchez
c0eb7138cb Instatiations: fix paths templates inside project
When VTKm is used inside another CMAKE project the instatitations will
include its filers with the relative path from the top lever of the
parent project instead of the top level of the VTKm project. This commit
resolves that.
2021-09-20 16:10:29 -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
Vicente Bolea
675cdfe959 Merge topic 'ci-provide-cmake'
5353934e6 CI: Add Junit support
4b6175980 CI: download/install cmake in each build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !2537
2021-08-17 16:58:26 -04:00
Vicente Adolfo Bolea Sanchez
b6fc783631 Filters: Add cmake instantiations generator
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-14 13:39:53 -04:00