Commit Graph

7621 Commits

Author SHA1 Message Date
Benoit Steiner
e10e126cd0 pulled latest updates from trunk 2016-03-17 21:48:38 -07:00
Benoit Steiner
70eb70f5f8 Avoid mutable class members when possible 2016-03-17 21:47:18 -07:00
Benoit Steiner
7b98de1f15 Implemented some of the missing type casting for half floats 2016-03-17 21:45:45 -07:00
Benoit Steiner
afb81b7ded Made sure to use the hard abi when compiling with NEON instructions to avoid the "gnu/stubs-soft.h: No such file or directory" error 2016-03-17 21:24:24 -07:00
Benoit Steiner
95b8961a9b Allocate the mersenne twister used by the random number generators on the heap instead of on the stack since they tend to keep a lot of state (i.e. about 5k) around. 2016-03-17 15:23:51 -07:00
Benoit Steiner
f7329619da Fix bug in tensor contraction. The code assumes that contraction axis indices for the LHS (after possibly swapping to ColMajor!) is increasing. Explicitly sort the contraction axis pairs to make it so. 2016-03-17 15:08:02 -07:00
Christoph Hertzberg
46aa9772fc Merged in ebrevdo/eigen (pull request PR-169)
Bugfixes to cuda tests, igamma & igammac implemented, & tests for digamma, igamma, igammac on CPU & GPU.
2016-03-16 21:59:08 +01:00
Eugene Brevdo
f1f7181f53 Merge default branch. 2016-03-16 12:46:19 -07:00
Eugene Brevdo
1f69a1b65f Change the header guard around certain numext functions to be CUDA specific. 2016-03-16 12:44:35 -07:00
Benoit Steiner
ab9b749b45 Improved a test 2016-03-14 20:03:13 -07:00
Benoit Steiner
5a51366ea5 Fixed a typo. 2016-03-14 09:25:16 -07:00
Benoit Steiner
fcf59e1c37 Properly gate the use of cuda intrinsics in the code 2016-03-14 09:13:44 -07:00
Benoit Steiner
97a1f1c273 Make sure we only use the half float intrinsic when compiling with a version of CUDA that is recent enough to provide them 2016-03-14 08:37:58 -07:00
Eugene Brevdo
9550be925d Merge specfun branch. 2016-03-13 15:46:51 -07:00
Eugene Brevdo
b1a9afe9a9 Add tests in array.cpp that check igamma/igammac properties.
This adds to the set of existing tests, which compare a specific
set of values to third party calculated ground truth.
2016-03-13 15:45:34 -07:00
Benoit Steiner
e29c9676b1 Don't mark the cast operator as explicit, since this is a c++11 feature that's not supported by older compilers. 2016-03-12 00:15:58 -08:00
Benoit Steiner
eecd914864 Also replaced uint32_t with unsigned int to make the code more portable 2016-03-11 19:34:21 -08:00
Benoit Steiner
1ca8c1ec97 Replaced a couple more uint16_t with unsigned short 2016-03-11 19:28:28 -08:00
Benoit Steiner
0423b66187 Use unsigned short instead of uint16_t since they're more portable 2016-03-11 17:53:41 -08:00
Benoit Steiner
048c4d6efd Made half floats usable on hardware that doesn't support them natively. 2016-03-11 17:21:42 -08:00
Benoit Steiner
b72ffcb05e Made the comparison of Eigen::array GPU friendly 2016-03-11 16:37:59 -08:00
Benoit Steiner
25f69cb932 Added a comparison operator for Eigen::array
Alias Eigen::array to std::array when compiling with Visual Studio 2015
2016-03-11 15:20:37 -08:00
Benoit Steiner
c5b98a58b8 Updated the cxx11_meta test to work on the Eigen::array class when std::array isn't available. 2016-03-11 11:53:38 -08:00
Benoit Steiner
456e038a4e Fixed the +=, -=, *= and /= operators to return a reference 2016-03-10 15:17:44 -08:00
Benoit Steiner
86d45a3c83 Worked around visual studio compilation warnings. 2016-03-09 21:29:39 -08:00
Benoit Steiner
8fd4241377 Fixed a typo. 2016-03-10 02:28:46 +00:00
Benoit Steiner
a685a6beed Made the list reductions less ambiguous. 2016-03-09 17:41:52 -08:00
Benoit Steiner
3149b5b148 Avoid implicit cast 2016-03-09 17:35:17 -08:00
Benoit Steiner
b2100b83ad Made sure to include the <random> header file when compiling with visual studio 2016-03-09 16:03:16 -08:00
Benoit Steiner
f05fb449b8 Avoid unnecessary conversion from 32bit int to 64bit unsigned int 2016-03-09 15:27:45 -08:00
Benoit Steiner
1d566417d2 Enable the random number generators when compiling with visual studio 2016-03-09 10:55:11 -08:00
Eugene Brevdo
836e92a051 Update MathFunctions/SpecialFunctions with intelligent header guards. 2016-03-09 09:04:45 -08:00
Benoit Steiner
b084133dbf Fixed the integer division code on windows 2016-03-09 07:06:36 -08:00
Benoit Steiner
6d30683113 Fixed static assertion 2016-03-08 21:02:51 -08:00
Eugene Brevdo
5e7de771e3 Properly fix merge issues. 2016-03-08 17:35:05 -08:00
Eugene Brevdo
73220d2bb0 Resolve bad merge. 2016-03-08 17:28:21 -08:00
Eugene Brevdo
5f17de3393 Merge changes. 2016-03-08 17:22:26 -08:00
Eugene Brevdo
14f0fde51f Add certain functions to numext (log, exp, tan) because CUDA doesn't support std::
Use these in SpecialFunctions.
2016-03-08 17:17:44 -08:00
Benoit Steiner
46177c8d64 Replace std::vector with our own implementation, as using the stl when compiling with nvcc and avx enabled leads to many issues. 2016-03-08 16:37:27 -08:00
Benoit Steiner
6d6413f768 Simplified the full reduction code 2016-03-08 16:02:00 -08:00
Benoit Steiner
5a427a94a9 Fixed the tensor generator code 2016-03-08 13:28:06 -08:00
Benoit Steiner
a81b88bef7 Fixed the tensor concatenation code 2016-03-08 12:30:19 -08:00
Benoit Steiner
551ff11d0d Fixed the tensor layout swapping code 2016-03-08 12:28:10 -08:00
Benoit Steiner
8768c063f5 Fixed the tensor chipping code. 2016-03-08 12:26:49 -08:00
Benoit Steiner
e09eb835db Decoupled the packet type definition from the definition of the tensor ops. All the vectorization is now defined in the tensor evaluators. This will make it possible to relialably support devices with different packet types in the same compilation unit. 2016-03-08 12:07:33 -08:00
Benoit Steiner
3b614a2358 Use NumTraits::highest() and NumTraits::lowest() instead of the std::numeric_limits to make the tensor min and max functors more CUDA friendly. 2016-03-07 17:53:28 -08:00
Eugene Brevdo
dd6dcad6c2 Merge branch specfun. 2016-03-07 15:37:12 -08:00
Eugene Brevdo
0bb5de05a1 Finishing touches on igamma/igammac for GPU. Tests now pass. 2016-03-07 15:35:09 -08:00
Benoit Steiner
769685e74e Added the ability to pad a tensor using a non-zero value 2016-03-07 14:45:37 -08:00
Benoit Steiner
7f87cc3a3b Fix a couple of typos in the code. 2016-03-07 14:31:27 -08:00