Commit Graph

477 Commits

Author SHA1 Message Date
Robert Maynard
78a6631026 Correct cuda compiler flag ordering for clang as CUDA host compiler 2020-08-20 08:34:23 -04:00
Vicente Adolfo Bolea Sanchez
afd394377e cmake: split vtkm_filter into common|extra|contour|gradient
There is a limitation in Windows builds using VS2019 where libraries cannot be
bigger than 4GiB. This is normally not an issue but in `VTKm` due to its strong
template usage libraries can reach that size.

The `VTKm` filter library is can easily reach that size and it will halt the
build

This MR tries to avoid reaching those sizes for now by splitting the filter
library into four smaller libraries.

The proposal scheme is:

It splits vtkm-filter into:

  - vtkm-common, Classes that are dependencies of other filter libs.
  - vtkm-contour, Contour class and its instantiations.
  - vtkm-contour, Gradient class and its instantiations.
  - vtkm-extra, Classes other than Contour or Gradient that are
    not dependencies.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-08-19 19:20:43 -04:00
Nick
4e72eb0437 Don't apply pyexpander fix on Windows. 2020-08-17 16:39:47 -04:00
Nick
959db40aae Find expander.py on the syspath, do not call it from a Python interpreter. 2020-08-15 11:24:30 -04:00
Robert Maynard
7692485831 Make sure we use c++14 when using CUDA 11+ 2020-08-13 16:02:24 -04:00
Robert Maynard
64efa64015 Kokkos: make sure we don't pass multiple rdc flags 2020-08-13 16:02:24 -04:00
Sujin Philip
b2f4c8e5ef Switch -O3 to -O2 on Linux with Cuda 10 2020-08-12 13:55:24 -04:00
Sujin Philip
452f61e290 Add Kokkos backend 2020-08-12 13:55:24 -04:00
Robert Maynard
477d225415 Always have VTK-m tests enable vtkmdiy mpi environment 2020-08-11 17:02:19 -04:00
Robert Maynard
7092bb9210 Make sure we don't leak our findmpi module
Consumers of VTK-m shouldn't use VTK-m find mpi module unless
they explicitly want to. This makes sure that by default only
VTK-m uses it.
2020-06-19 11:43:36 -04:00
Sujin Philip
b7d0c94f1b Merge topic 'diy-mpi-nompi'
934f085e0 Build diy as a library
f0a37ac6a Merge branch 'upstream-diy' into diy-mpi-nompi
7687aabf8 diy 2020-06-05 (b62915aa)
6ca2b9f87 Point to new version of Diy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2123
2020-06-08 21:25:54 -04:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Robert Maynard
a652f7fe1e Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Robert Maynard
565d5a3a2e Remove CMake workarounds for version < 3.12 2020-05-29 17:15:06 -04:00
NAThompson
331b80a783 More understandable VTKm options for symbol visibility. 2020-05-12 16:02:16 -04:00
Robert Maynard
b3924ef302 Add an asan to our gitlab ci suite 2020-04-20 11:26:26 -04:00
Ben Boeckel
e890a98023 FindTBB: synchronize with VTK 2020-04-17 08:30:02 -04:00
Sujin Philip
c102ea556c Update cmake minimum required version to 3.12 2020-04-13 12:42:28 -05:00
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