Commit Graph

63 Commits

Author SHA1 Message Date
Robert Maynard
8818cfc600 Disable vectorization when building with ICC 14.0
We have found that ICC 14.0 produces bad simd code that causes
vtkm worklets to throw SIGBUS signals. This issue was resolved in
ICC 15.0
2016-03-16 13:27:04 -04:00
Robert Maynard
19dc5672bf Correct CUDA fallback to "fermi" when trying to do auto detection.
The logic would properly fall to fermi, but not set the proper NVCC flags
to actually compile targeting the fermi compute architecture.
2016-03-10 16:28:54 -05:00
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
Chuck Atkins
b47982f7e4 Check return error codes when detecting CUDA capabilities. 2016-02-23 10:07:32 -05:00
Robert Maynard
bb7ed34ed5 Teach FindBoostHeaders.cmake about boost 1.60 2016-02-22 16:00:00 -05:00
Sujin Philip
e79b8ff238 Add vectorization flags for KNL 2016-02-19 11:43:24 -05:00
Sujin Philip
0900e0c06c Fix how the vectorization flags are specified
For intel compilers, specifying multiple flags will result in warnings and
the last flag overrides previous flags.
2016-02-19 11:43:17 -05:00
Robert Maynard
8589df3df8 Correct avx options when using the intel compiler. 2016-02-18 14:58:39 -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
Robert Maynard
f6ae5f3dec CUDA GPU architecture detection now works with MSVC generators. 2015-12-10 09:34:30 -05:00
Robert Maynard
204804af50 Teach VTK-m how to specify the CUDA GPU architecture to build for.
Like the ability to specify the vectorization level, users of CMake can
now specify what GPU architectures they want to build for. Most users
should just use the default 'native'.
2015-12-09 13:17:00 -05:00
Robert Maynard
2df501c7a0 Suppress failure to vectorize warnings from the Intel Compiler. 2015-12-04 09:18:54 -05:00
Robert Maynard
646b3ad7f9 Suppress notification about failure to vectorize on release builds. 2015-12-03 13:54:51 -05:00
Robert Maynard
bfb6c26a98 Simplify the design of vectorization support.
Remove the configured file variables, as that causes problems
when using an installed version of VTK-m.
2015-12-01 11:37:41 -05:00
Robert Maynard
4ea567aee9 Remove VTKm_ENABLE_VECTORIZATION, as VTKm_Vectorization handles all use cases. 2015-11-30 11:08:21 -05:00
Robert Maynard
4ceb111a68 Enable vectorization inside the Serial and TBB backends. 2015-11-25 15:59:13 -05:00
Robert Maynard
514ea09afc Teach VTK-m how to enable vectorization for gcc, clang, and icc. 2015-11-23 12:44:05 -05:00
Kenneth Moreland
8d207097b1 If VTK-m is required in find_package, require sub packages
If a project loads VTK-m with find_package(VTKm REQUIRED), then also make
it required to find any packages the default devices require.
2015-11-12 14:41:22 -07: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
Kenneth Moreland
4f8f76f3f7 Fix line endings.
There were a couple of files checked into the git repository with DOS
line endings. Most git implementations really expect there to be Unix
line endings and should do the appropriate conversions as necessary.
This commit should change the line endings to the appropriate Unix endings.
2015-10-20 12:32:29 -06:00
Robert Maynard
9b877ef49b Merge topic 'multiple_backend_example'
fd685210 Always install all device headers even when device isn't enabled.
b1663b24 Add an example of using multiple backends from a single translation unit.
fc0ff69d Methods with try/catch need to be host only.
4d635d64 DeviceAdapter Tags now always exist, and contain if the device is valid.
cf32b430 Teach Configure.h to store if TBB and CUDA are enabled.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !198
2015-09-17 09:49:49 -04: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
121471c5d0 Enable more warnings when building with AppleClang. 2015-09-15 16:20:24 -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
78cef0c33d Suppress deprecation warnings about glut as we investigate our options.
Starting in OSX 10.9, apple has deprecated the glut.h provided header
so we need to figure out how we want to do window management on OSX. I expect
the way forward is to require the developer to install openGLUT.
2015-08-27 09:37:13 -04:00
hschroot
d943348060 CMake configuration definitions to enable OpenGL Interop
Copy all OpenGL interop related configurations from the DAX CMake files
2015-08-21 11:17:10 -07:00
Robert Maynard
32bf8a54f0 Update FindBoostHeaders to properly detect a minimum Boost version. 2015-08-17 10:06:57 -04:00
Robert Maynard
a2e718acb1 Workaround the PGI compiler stating it is gcc when looking for float128. 2015-08-10 12:33:46 -04:00
Kenneth Moreland
3410c877cb Add git SHA to information reported in SystemInformation test 2015-07-31 12:10:52 -06:00
Robert Maynard
4ee084487b Update FindBoostHeaders to include boost 1.57 and 1.58 2015-07-22 14:59:26 -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
Sujin Philip
1a9e8d1e3d Initial support for generating documentation using Doxygen 2015-07-17 15:35:59 -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
Robert Maynard
ca3a91ef6e Merge branch 'add-tbb-backend' 2015-06-01 14:31:01 -04:00
Sujin Philip
08f88b1cb9 Add TBB backend. 2015-06-01 13:57:37 -04:00
Robert Maynard
100b894c13 Enable signed / unsigned and 64bit/32bit conversion warnings. 2015-05-28 09:05:16 -04:00
Brent Lessley
0a72789304 Resolved all implicit conversions between unsigned int and vtkm::Id. 2015-05-26 09:34:43 -04:00
Brent Lessley
2a89f66144 Resolved all compiler warnings for floating-point comparisons in TestingDeviceAdapter.h 2015-05-26 09:18:19 -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
Kenneth Moreland
baf941beb1 Fix the date manipulation on the check copyright script
When a new file is added to VTK-m, the copyright statement should go at
the top of the file. The copyright contains a date. What should that date
be? I usually set the date to the current year so older files will have
an older copyright whereas newer files will have a newer one. The check
copyright script needs to be flexible on the date.

There was an error in the script that was copied over from Dax. It was
checking for the year 2011, the start of the Dax project, and replacing
that in the text. VTK-m started in 2014, so the script really needs to
check for that year instead.
2015-02-11 09:45:36 -07: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
7f73c4f404 Merge branch 'cuda_DeviceAdapterAlgorithm' 2015-01-20 15:29:08 -05:00