Commit Graph

459 Commits

Author SHA1 Message Date
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -04:00
Kenneth Moreland
75a46dc2eb Remove tao tuple from third party libraries
We are no longer using this code. It has been replaced by vtkm::Tuple.
2020-03-16 17:12:17 -06:00
James
8579d54cb9 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-12 10:10:03 -04:00
James
7a73b0f547 Updating testing 2020-03-11 13:55:14 -04:00
James
6162fdc591 Moving new test code to the Testing.h header. 2020-01-08 14:32:15 -05:00
Robert Maynard
53158aa2ea Don't allow ninja job pool sizes to be negative
If the job pool size becomes negative, ninja treats
it as an absurdly large positive integer and
errors out.
2019-12-19 08:44:12 -05:00
James
743094ffc9 Adding parser for arguments. 2019-12-17 11:07:47 -05:00
James
b38fadc310 Updates to get test data path. 2019-12-11 14:38:16 -05:00
James
7e3178ffe4 Starting to add data directory to unit tests. 2019-12-10 13:56:31 -05:00
Allison Vacanti
07b55a9546 Fix MSVC flags for CUDA builds.
Fixes #443.
2019-12-05 14:02:55 -05:00
Robert Maynard
f457cf30f8 correct setting up job pool for tests 2019-12-03 14:08:52 -05:00
Robert Maynard
f578c90685 Make sure vtkm_setup_job_pool() doesn't output any status 2019-12-03 11:32:14 -05:00
Robert Maynard
7fc7c61a9b VTK-m use a jobs pool for compiling large compilation units.
When building with the ninja generator VTK-m now uses a job pool
to help limit the chances of a machine going out of memory
when compiling VTK-m.
2019-11-29 15:49:54 -05:00
Kenneth Moreland
8c5b76f761 Remove invalid device argument for unit tests
Previously, the vtkm_unit_tests CMake function added a "NONE" argument
to the test when no device was specified. However, the correct thing to
do is to add no argument. Fixed this so that strict parsing of the test
arguments works.
2019-10-02 07:12:29 -06:00
Robert Maynard
a265d1f8a9 Document vtkm_filter and vtkm_source have compiled components 2019-09-23 18:49:58 -04:00
Robert Maynard
e6a2089d8e Require CMake 3.12+ for using OpenMP backend 2019-09-18 07:59:32 -04:00
Robert Maynard
5c56ff945f Label tests which exercise a given Device Adapter
This allows developers an easy way to run all OpenMP tests
2019-09-13 15:52:40 -04:00
Robert Maynard
d29f5ba376 Update doxyfile to suppress documenting unnecessary components.
We don't want to have our thirdparty libraries doxygen in
the VTK-m doxygen. We also don't want to document internal classes,
and export macros.
2019-09-12 17:29:05 -04:00
nadavi
cc86740c9a bad whitespace fix 2019-09-11 16:12:18 -06:00
nadavi
8917bbe72b Supply the default log level only through cmake args 2019-09-11 16:12:18 -06:00
nadavi
a0b164b42c remove static var, directly init logging to INFO level for testing inside Run Function 2019-09-11 16:12:18 -06:00
nadavi
effef1b6ec make copyright exceptions found message more clear 2019-09-11 16:12:18 -06:00
nadavi
a7aae5fc3c rely solely on the SetStderrLogLevel function call instead of manually passing in -v flag 2019-09-11 16:12:18 -06:00
nadavi
3a81321b16 formatting 2019-09-11 16:12:18 -06:00
nadavi
9f49bbab86 additional cmake fixes, improve default log level setting 2019-09-11 16:12:18 -06:00
nadavi
1fc542d068 add simple unit tests for Error 2019-09-11 16:12:18 -06:00
nadavi
d2d98dc5e0 Supply default logging level of INFO for tests 2019-09-11 16:12:18 -06:00
Robert Maynard
1bfcce19dd VTK-m builds with separate function sections to allow smaller binaries
Consumers of VTK-m when enabling of dropping of unused functions
will see VTK-m functions dropped. Previously this didn't happen
as VTK-m didn't build object files with the correct flags for this.

By allowing the linker to remove unused symbols we see a significant
saving the file size of VTK-m tests, examples, and benchmarks.
An OpenMP build of the tests and benchmarks goes from 168MB to
141MB which is roughly a 16% filesize reduction.

Initially I had presumed that these changes would increase link times.
But in measurements the total wall time for compilation of VTK-m has
stayed about the same ( seeing a decrease of 1.5% ). Presumably the
increased computation is offset by the reduction in file writing.
2019-09-11 13:34:25 -04:00
Robert Maynard
e37c2061cf vtkm_add_target_information now supports multiple targets
Instead of having to be called for each target you can now
pass multiple targets at once. Do note that if you pass multiple
targets you will need to pass all the sources from those targets
that need to be 'device' compiled.
2019-09-11 09:17:52 -04:00
Robert Maynard
a65afa11ba Export CUDA static library requirements properly
This is a work around while we wait on requiring CMake 3.15 for all
cuda builds. At that point we can replace this with setting
`requires_static_builds` as part of the EXPORT_PROPERTIES of the
vtkm_cuda target.

This has been tested with the ascent proxy
2019-08-27 13:34:49 -04:00
Robert Maynard
6b0614e577 EXTEND_VTKM used to determine consumers by vtkm_add_target_information
The EXTEND_VTKM is now checked to determine when a shared library
consumer of VTK-m is allowed.
2019-08-27 13:32:29 -04:00
Robert Maynard
064f59692b Merge topic 'yet_again_export_cuda_flags'
3c1339504 Another turn on the wheel to get VTK-m to export CUDA flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1812
2019-08-26 17:25:40 -04:00
Robert Maynard
3c1339504f Another turn on the wheel to get VTK-m to export CUDA flags
This is a work around while we wait on requiring CMake 3.15 for all
cuda builds. At that point we can replace this with setting
`cuda_architecture_flags` as part of the EXPORT_PROPERTIES of the
vtkm_cuda target.

This has been tested with the ascent proxy
2019-08-26 16:54:43 -04:00
Robert Maynard
683f2a2c10 Correct a bug which stopped VTK-m from testing against all devices
The testing code wouldn't generate tests except for the first
device, when multiple devices had been enabled.
2019-08-26 12:28:49 -04:00
Robert Maynard
2dcfacc42a Merge topic 'find_mpi_work_with_older_cmake_version_when_cuda_disabled'
978650b06 FindMPI works with CMake 3.8's separate_arguments
1f99fbc35 FindMPI will now work when CUDA is disabled and CMake <= 3.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1787
2019-08-21 14:35:32 -04:00
Robert Maynard
978650b063 FindMPI works with CMake 3.8's separate_arguments
CMake 3.8 separate_arguments command doesn't support NATIVE_COMMAND
so we have to do that logic for it.
2019-08-21 09:55:15 -04:00
Robert Maynard
1f99fbc357 FindMPI will now work when CUDA is disabled and CMake <= 3.11
This was causing issues for downstream users of VTK-m as it exposed
a bug in CM ( cmake#17952 ) where it was evaluating against the set of
enabled languages instead of possible languages.
2019-08-21 09:25:32 -04:00
Robert Maynard
267f963d32 Opt into all CMake 3.15 policies 2019-08-20 15:38:27 -04:00
Kenneth Moreland
7321f71752 Increase timeout for example install build tests
When both examples and tests are on, there are a few tests created that
will install VTK-m and build the example against the install to make
sure that all expected components are installed. Since it requires the
full compile of a VTK-m application (and some VTK-m applications can
take a while to compile), increase the timeout for these tests.

The timeout is currently set to 10 minutes (600 seconds).
2019-08-07 09:42:30 -06:00
Robert Maynard
8f36811718 When importing VTK-m don't recheck the CUDA host architecture 2019-07-31 18:16:22 -04:00
Allison Vacanti
5af957ec81 Error out when native CUDA flag detection fails.
Ref #388.
2019-07-25 12:17:46 -04:00
Robert Maynard
c18f762697 Merge topic 'add_odr_warning_flag'
736664612 Cleanup VTK-m warning flags and add in Wodr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1732
2019-07-18 16:16:51 -04:00
Robert Maynard
736664612d Cleanup VTK-m warning flags and add in Wodr
This was done to help us catch ODR violations quicker
2019-07-18 13:33:18 -04:00
Robert Maynard
b4662c5718 Merge topic 'find_mpi_is_required'
772e36ba0 When VTKm_ENABLE_MPI is enabled finding MPI is always required

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1727
2019-07-17 14:02:56 -04:00
Robert Maynard
6de7d07d28 VTK-m requires CMake 3.13 to compile CUDA
This is to resolve issues related to FindThreads and CUDA
compilation.
2019-07-16 16:39:50 -04:00
Robert Maynard
772e36ba0c When VTKm_ENABLE_MPI is enabled finding MPI is always required
Previously we had logic where find_package(MPI) wasn't required
2019-07-16 14:33:26 -04:00
Robert Maynard
c80c1d09c0 Merge topic 'refactor_vtkm_buildsystem_to_provide_better_consumer_experience'
28484fc6a Update examples and benchmarks to use new VTK-m CMake helper function
ea50e82aa Move VTK-m CMake testing wrappers to the testing folder
0b7dd7c38 Add CMake vtkm_add_target_information() to make using vtk-m easier
e934e2273 vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
a2e6660fd Remove unused vtkm_compile_as_cuda CMake function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1718
2019-07-16 08:46:22 -04:00
Robert Maynard
7fa94e53e2 Merge topic 'proper_vectorization_flags'
4a5ef8c6a VTKmCPUVectorization GCC native supports ppc64le
68a9167ab VTKmCPUVectorization now uses -march=<cpu_arch>
d0d678049 Correctly enable vectorization of avx512 when using gcc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1719
2019-07-11 08:08:12 -04:00
Robert Maynard
ea50e82aac Move VTK-m CMake testing wrappers to the testing folder
The VTK-m testing infrastructure isn't public facing so it doesn't
need to be installed or clutter the main VTKmWrappers file.

At the same time I have refactored the code to make it clearer
to understand, and remove unused options.
2019-07-09 13:32:23 -04:00
Robert Maynard
0b7dd7c38e Add CMake vtkm_add_target_information() to make using vtk-m easier
The function allows consumers to modify an existing target to allow
for correct compilation with VTK-m.
2019-07-09 13:32:23 -04:00