Commit Graph

25 Commits

Author SHA1 Message Date
Robert Maynard
559d2aab94 CUDA based worklets should now not timeout.
The first CUDA worklet test requires way more time because of the overhead to
allow the driver to convert the kernel code from virtual arch to actual arch.
2016-03-09 08:09:21 -05:00
Robert Maynard
ee368d0d68 Do not add c++ compiler optimizations to all compilers, but on a target basis.
As reported in Issue #54 the add_compile_options pollutes the global compile
flags. Instead we provided cmake flags for people to use.
2016-01-25 14:38:06 -05:00
Robert Maynard
4fd4095b36 Extend the timeout for vtkm worklet tests to reduce timeout failures.
Dejagore and Renar are both having tests timeout, so lets extend the window.
2015-12-10 15:28:36 -05:00
Kenneth Moreland
fac5d79a52 Remove direct use of TBB_LIBRARIES and TBB_INCLUDE_DIRS
Instead, use VTKm_LIBRARIES and VTKm_INCLUDE_DIRS where the configuration
stores all necessary libraries and include directories.
2015-11-12 14:34:31 -07:00
Kenneth Moreland
c0f49d6112 Update vtkm_configure_device macro
* Support a REQUIRED flag that only gives an error if that flag is given.

* Move common configuration required for all devices (such as boost) to a
special device named Base.

* Make CUDA always capitalized to be consistent with the other CMake
variables.

* Rather than call include_directories, set a variable named
VTKm_INCLUDE_DIRS. This is consistent with how most CMake packages work.

* Make a CMake variable named VTKm_LIBRARIES containing all the
libraries the configured devices need.

* Automatically configure supported devices when loading the VTK-m
package in CMake.
2015-11-12 14:26:00 -07:00
Robert Maynard
fd68521066 Always install all device headers even when device isn't enabled.
vtkm_declare_headers now is able to not test headers, by using the
TESTABLE keyword.
2015-09-17 09:28:21 -04:00
Robert Maynard
4cf9ab018a On Linux when using GLEW also link to the Threading library.
This is needed because some implementations GLEW do lazy linking to
PThreads.
2015-09-04 14:38:37 -04:00
Robert Maynard
026ba0daa0 Reduce the length of generated TestBuild files.
VisualStudio 2010 has issues with files with extremely long names, and CMake
will generate warnings when it detects problematic files.
2015-07-20 15:43:19 -04:00
Robert Maynard
cc94027c4b Correct logic bug in setting the NVCC flags inside a function. 2015-07-16 10:19:34 -04:00
Robert Maynard
a4be794a33 More refactoring to simplify the msvc exceptions in VTKmMacros. 2015-07-15 15:52:54 -04:00
Robert Maynard
7bab948682 Refactor common nvcc flag code to only exist in a single place. 2015-07-15 15:45:05 -04:00
Robert Maynard
e6dd564d92 Make sure nvcc compiles with bigobj on windows.
This required as the testing infrastructure creates thousands of symbol
entries, and the default for VisualStudio is crazy small.
2015-07-15 12:42:47 -04:00
Will Usher
238d4fa759 Adding micro benchmark suite 2015-07-09 13:56:06 -06:00
Sujin Philip
08f88b1cb9 Add TBB backend. 2015-06-01 13:57:37 -04:00
Robert Maynard
6b8e7822be The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
Robert Maynard
2af64c4097 Enable big object file creation when using visual studio.
By default visual studio limits the number of sections in an object file
to 2^16 which isn't enough when creating some of our tests. So we enable
/bigobj which increases that number to 2^32.
2015-05-06 09:25:45 -04:00
Robert Maynard
1306d389e5 Allow vtkmMacros to be called by users of vtkm. 2015-01-27 09:11:17 -05:00
Robert Maynard
19abc0b2e9 Suppress warnings on windows. 2015-01-26 10:19:11 -05:00
Robert Maynard
797aac5537 Worklet tests build for cuda device adapter now use the cuda device adapter.
We have to work around some bugs in the CMake cuda target logic.
2014-12-19 13:47:28 -05:00
Robert Maynard
3e8ac22fe6 Allow worklet tests to be built for the cuda device adapter. 2014-12-19 13:47:28 -05:00
Robert Maynard
d9270e408d Adding a cuda device adapter to vtkm.
Porting the dax device adapter over to vtkm. Unlike the dax version, doesn't
use the thrust::device_vector, but instead uses thrust::system calls so that
we can support multiple thrust based backends.

Also this has Texture Memory support for input array handles. Some more work
will need to be done to ArrayHandle so that everything works when using an
ArrayHandle inplace with texture memory bindings.
2014-12-19 13:47:28 -05:00
Kenneth Moreland
d91f66acab Keep pyexpander generated files out of build directory
The previous behavior of the pyexpander check (in
VTKmCheckPyexpander.cmake) was to generate the file in the binary
directory and then remove it from there iff the check failed. This
caused two problems. The first is that if the check failed then the file
was deleted and there was no file to copy to the source as the
instructions suggested. The second is that if the check succeeded the
build would then use the files in the build directory rather than the
source directory, and if the programmer accidently modified the binary
files (because, for example, if a build error occured there), the
configure system would not catch that.

This change in behavior was that if the check failed, the file is
renamed to have a .save extension so that the file remains and can be
easily copied back to the source directory if that is appropriate. If
the check succeeds, the generated file is removed and a file with the
extension .check is touched. That .check file is used as a make target
to signal that the test has been performed.
2014-10-08 10:03:10 -06:00
Kenneth Moreland
fe4d26210c Turn off unsafe function warning for CMake-generated test code.
The CMake template for the source file that contains the main function for
tests uses functions that MSVC considers unsafe. We want to check for these
conditions but have no control over the CMake-generated test code (which
looks right anyway). This disables the warning specifically for those
source files but nothing else.
2014-08-12 14:00:24 -06:00
Kenneth Moreland
adad702652 If pyexpander is available, run it and check the source file.
Although we cannot expect every developer to have pyexpander, for those
that do the build will automatically run it and check the expanded file
in the source code. If they match, a descriptive error is given.

We don't automatically update the file because subtle problems might
occur. It is better to alert a developer to fix the problem properly.
2014-06-26 18:26:45 -06:00
Robert Maynard
262f07c9b0 Properly name the VTKm CMakeFiles. 2014-02-11 14:56:03 -05:00