Commit Graph

1304 Commits

Author SHA1 Message Date
Benoit Steiner
10a91930cc Fixed a compilation warning triggered by nvcc 2015-11-12 20:10:52 -08:00
Benoit Steiner
ed4b37de02 Fixed a few compilation warnings 2015-11-12 20:08:01 -08:00
Benoit Steiner
b69248fa2a Added a couple of missing EIGEN_DEVICE_FUNC 2015-11-12 20:01:50 -08:00
Benoit Steiner
0aaa5941df Silenced some compilation warnings triggered by nvcc 2015-11-12 19:11:43 -08:00
Benoit Steiner
2c73633b28 Fixed a few more typos 2015-11-12 18:39:19 -08:00
Benoit Steiner
be08e82953 Fixed typos 2015-11-12 18:37:40 -08:00
Benoit Steiner
150c12e138 Completed the IndexList rewrite 2015-11-12 18:11:56 -08:00
Benoit Steiner
8037826367 Simplified more of the IndexList code. 2015-11-12 17:19:45 -08:00
Benoit Steiner
e9ecfad796 Started to make the IndexList code compile by more compilers 2015-11-12 16:41:14 -08:00
Benoit Steiner
7a1316fcc5 Fixed compilation error with xcode. 2015-11-12 11:05:54 -08:00
Benoit Steiner
737d237722 Made it possible to run some of the CXXMeta functions on a CUDA device. 2015-11-12 09:02:59 -08:00
Benoit Steiner
1e072424e8 Moved the array code into it's own file. 2015-11-12 08:57:04 -08:00
Benoit Steiner
aa5f1ca714 gen_numeric_list takes a size_t, not a int 2015-11-12 08:30:10 -08:00
Benoit Steiner
9fa10fe52d Don't use std::array when compiling with nvcc since nvidia doesn't support the use of STL containers on GPU. 2015-11-11 15:38:30 -08:00
Benoit Steiner
c587293e48 Fixed a compilation warning 2015-11-11 15:35:12 -08:00
Benoit Steiner
7f1c29fb0c Make it possible for a vectorized tensor expression to be executed in a CUDA kernel. 2015-11-11 15:22:50 -08:00
Benoit Steiner
99f4778506 Disable SFINAE when compiling with nvcc 2015-11-11 15:04:58 -08:00
Benoit Steiner
5cb18e5b5e Fixed CUDA compilation errors 2015-11-11 14:36:33 -08:00
Benoit Steiner
228edfe616 Use Eigen::NumTraits instead of std::numeric_limits 2015-11-11 09:26:23 -08:00
Benoit Steiner
20e2ab1121 Fixed another compilation warning 2015-12-07 16:17:57 -08:00
Benoit Steiner
d573efe303 Code cleanup 2015-11-06 14:54:28 -08:00
Benoit Steiner
9fa283339f Silenced a compilation warning 2015-11-06 11:44:22 -08:00
Benoit Steiner
53432a17b2 Added static assertions to avoid misuses of padding, broadcasting and concatenation ops. 2015-11-06 10:26:19 -08:00
Benoit Steiner
6857a35a11 Fixed typos 2015-11-06 09:42:05 -08:00
Benoit Steiner
33cbdc2d15 Added more missing EIGEN_DEVICE_FUNC 2015-11-06 09:29:59 -08:00
Benoit Steiner
ed1962b464 Reimplement the tensor comparison operators by using the scalar_cmp_op functors. This makes them more cuda friendly. 2015-11-06 09:18:43 -08:00
Benoit Steiner
29038b982d Added support for modulo operation 2015-11-05 19:39:48 -08:00
Benoit Steiner
fbcf8cc8c1 Pulled latest updates from trunk 2015-11-05 14:30:02 -08:00
Benoit Steiner
c75a19f815 Misc fixes to full reductions 2015-11-05 14:21:20 -08:00
Benoit Steiner
ec5a81b45a Fixed a bug in the extraction of sizes of fixed sized tensors of rank 0 2015-11-05 13:39:48 -08:00
Gael Guennebaud
9ceaa8e445 bug #1063: nest AutoDiffScalar by value to avoid dead references 2015-11-05 13:54:26 +01:00
Benoit Steiner
beedd9630d Updated the reduction code so that full reductions now return a tensor of rank 0. 2015-11-04 13:57:36 -08:00
Benoit Steiner
6a02c2a85d Fixed a compilation warning 2015-10-29 20:21:29 -07:00
Benoit Steiner
ca12d4c3b3 Pulled latest updates from trunk 2015-10-29 17:57:48 -07:00
Benoit Steiner
ce19e38c1f Added support for tensor maps of rank 0. 2015-10-29 17:49:04 -07:00
Benoit Steiner
3785c69294 Added support for fixed sized tensors of rank 0 2015-10-29 17:31:03 -07:00
Benoit Steiner
0d7a23d34e Extended the reduction code so that reducing an empty set returns the neural element for the operation 2015-10-29 17:29:49 -07:00
Benoit Steiner
1b0685d09a Added support for rank-0 tensors 2015-10-29 17:27:38 -07:00
Benoit Steiner
c444a0a8c3 Consistently use the same index type in the fft codebase. 2015-10-29 16:39:47 -07:00
Benoit Steiner
09ea3a7acd Silenced a few more compilation warnings 2015-10-29 16:22:52 -07:00
Benoit Steiner
0974a57910 Silenced compiler warning 2015-10-29 15:00:06 -07:00
Gael Guennebaud
77ff3386b7 Refactoring of the cost model:
- Dynamic is now an invalid value
 - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost
 - add sanity checks for cost values: must be >=0 and not too large
This change provides several benefits:
 - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled.
 - it simplifies cost computation logic, and should avoid future similar shortcomings.
 - it allows to distinguish between different level of dynamic/huge/infinite cost
 - it should enable further simplifications in the computation of costs (save compilation time)
2015-10-28 11:42:14 +01:00
Benoit Steiner
1c8312c811 Started to add support for tensors of rank 0 2015-10-26 14:29:26 -07:00
Benoit Steiner
1f4c98abb1 Fixed compilation warning 2015-10-26 12:42:55 -07:00
Benoit Steiner
9dc236bc83 Fixed compilation warning 2015-10-26 12:41:48 -07:00
Benoit Steiner
9f721384e0 Added support for empty dimensions 2015-10-26 11:21:27 -07:00
Benoit Steiner
a3e144727c Fixed compilation warning 2015-10-26 10:48:11 -07:00
Gael Guennebaud
a5324a131f bug #1092: fix iterative solver ctors for expressions as input 2015-10-26 16:16:24 +01:00
Gael Guennebaud
af2e25d482 Merged in infinitei/eigen (pull request PR-140)
bug #1097 Added ArpackSupport to cmake install target
2015-10-26 15:31:39 +01:00
Abhijit Kundu
0ed41bdefa ArpackSupport was missing here also. 2015-10-16 18:21:02 -07:00
Abhijit Kundu
1127ca8586 Added ArpackSupport to cmake install target 2015-10-16 16:41:33 -07:00
Benoit Steiner
de1e9f29f4 Updated the custom indexing code: we can now use any container that provides the [] operator to index a tensor. Added unit tests to validate the use of std::map and a few more types as valid custom index containers 2015-10-15 14:58:49 -07:00
Benoit Steiner
6585efc553 Tightened the definition of isOfNormalIndex to take into account integer types in addition to arrays of indices
Only compile the custom index code  when EIGEN_HAS_SFINAE is defined. For the time beeing, EIGEN_HAS_SFINAE is a synonym for EIGEN_HAS_VARIADIC_TEMPLATES, but this might evolve in the future.
Moved some code around.
2015-10-14 09:31:37 -07:00
Gabriel Nützi
fc7478c04d name changes 2
user: Gabriel Nützi <gnuetzi@gmx.ch>
branch 'default'
changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h
changed unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
2015-10-09 19:10:08 +02:00
Gabriel Nützi
7b34834f64 name changes
user: Gabriel Nützi <gnuetzi@gmx.ch>
branch 'default'
changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h
2015-10-09 19:08:14 +02:00
Gabriel Nützi
6edae2d30d added CustomIndex capability only to Tensor and not yet to TensorBase.
using Sfinae and is_base_of to select correct template which converts to array<Index,NumIndices>


 user: Gabriel Nützi <gnuetzi@gmx.ch>
 branch 'default'
 added unsupported/Eigen/CXX11/src/Tensor/TensorMetaMacros.h
 added unsupported/test/cxx11_tensor_customIndex.cpp
 changed unsupported/Eigen/CXX11/Tensor
 changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h
 changed unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
 changed unsupported/test/CMakeLists.txt
2015-10-09 18:52:48 +02:00
Gael Guennebaud
186ec1437c Cleanup EIGEN_SPARSE_PUBLIC_INTERFACE, it is now a simple alias to EIGEN_GENERIC_PUBLIC_INTERFACE 2015-10-08 22:06:49 +02:00
Gael Guennebaud
1b148d9e2e Move IncompleteCholesky to official modules 2015-10-08 11:32:46 +02:00
Gael Guennebaud
632e7705b1 Improve doc of IncompleteCholesky 2015-10-08 10:54:36 +02:00
Gael Guennebaud
131db3c552 Fix return by value versus ref typo in IncompleteCholesky 2015-10-07 16:37:46 +02:00
Gael Guennebaud
752a0e5339 bug #1076: fix scaling in IncompleteCholesky, improve doc, add read-only access to the different factors, remove debugging code. 2015-10-06 13:25:45 +02:00
Gael Guennebaud
ddb5650530 bug #1070: propagate last three Matrix template arguments for NumTraits<AutoDiffScalar<>>::Real 2015-09-28 15:07:03 +02:00
Benoit Steiner
31afdcb4c2 Fix return type for TensorEvaluator<TensorSlicingOp>::data 2015-09-17 09:40:21 -07:00
Gael Guennebaud
3942db9d7c Use inline versus static free functions. 2015-09-03 13:42:54 +02:00
Benoit Steiner
56983f6d43 Fixed compilation warning 2015-10-23 12:03:42 -07:00
Benoit Steiner
57857775b4 Added support for arrays of size 0 2015-10-23 10:20:51 -07:00
Benoit Steiner
c40c2ceb27 Reordered the code of fft constructor to prevent compilation warnings 2015-10-23 09:38:19 -07:00
Benoit Steiner
a586fdaa91 Reworked the tensor contraction mapper code to make it compile on Android 2015-10-23 09:33:41 -07:00
Benoit Steiner
9ea39ce13c Refined the #ifdef __CUDACC__ guard to ensure that when trying to compile gpu code with a non cuda compiler results in a linking error instead of bogus code. 2015-10-23 09:15:34 -07:00
Benoit Steiner
ac99b49249 Added missing glue logic 2015-10-22 16:54:21 -07:00
Benoit Steiner
2dd9446613 Added mapping between a specific device and the corresponding packet type 2015-10-22 16:53:36 -07:00
Benoit Steiner
a147c62998 Added support for fourier transforms (code courtesy of thucjw@gmail.com) 2015-10-22 16:51:30 -07:00
Benoit Steiner
4cf7da63de Added a constructor to simplify the construction of tensormap from tensor 2015-10-22 11:48:02 -07:00
Benoit Steiner
b178cc3479 Added some syntactic sugar to make it simpler to compare a tensor to a scalar. 2015-10-21 11:28:28 -07:00
Benoit Steiner
0af63493fd Disable SFINAE for versions of gcc older than 4.8 2015-10-20 11:53:30 -07:00
Benoit Steiner
73b8e719ae Removed bogus assertion 2015-10-20 11:42:34 -07:00
Benoit Steiner
eaf4b98180 Added support for boolean reductions (ie 'and' & 'or' reductions) 2015-10-20 11:41:22 -07:00
Benoit Steiner
f5c1587e4e Fixed a bug in the tensor conversion op 2015-10-20 11:37:44 -07:00
Gael Guennebaud
51455824ea Fix AlignedVector3 wrt previous change 2015-09-02 21:51:58 +02:00
Benoit Steiner
f41831e445 Added support for argmax/argmin 2015-08-31 08:18:53 -07:00
Benoit Steiner
2ab603316a Use numext::mini/numext::maxi instead of std::min/std::max in the tensor code 2015-08-28 08:14:15 -07:00
Christoph Hertzberg
1bdd06a199 Fix some trivial warnings 2015-08-19 21:38:18 +02:00
Christoph Hertzberg
0721690dbb Use standard include syntax in Tensor module (<> for include-path and "" for relative path) 2015-08-18 14:34:00 +02:00
Gael Guennebaud
0d5e673baa Fix Tensor module wrt nullary functor recent change 2015-08-09 21:20:24 +02:00
Gael Guennebaud
7e0d7a76b8 Remove dense nested loops in IncompleteCholesky 2015-08-04 18:01:38 +02:00
Gael Guennebaud
e31fc50280 Numerous fixes for IncompleteCholesky. Still have to make it fully exploit the sparse structure of the L factor, and improve robustness to illconditionned problems. 2015-08-04 16:16:02 +02:00
Benoit Steiner
cbce0e3b12 Fixed compilation warning 2015-08-03 21:52:29 -07:00
Benoit Steiner
a5dc49e7e8 Fixed 2 compilation warnings generated by llvm 2015-07-29 15:06:08 -07:00
Benoit Steiner
e1d28b7ea7 Added a test for shuffling 2015-07-29 15:01:21 -07:00
Benoit Steiner
0570594f2c Fixed a few compilation warnings triggered by clang 2015-07-29 11:48:38 -07:00
Benoit Steiner
099597406f Simplified and generalized the DividerTraits code 2015-07-29 10:02:42 -07:00
Gael Guennebaud
6db3a557f4 Add missing specialization of struct DividerTraits<long> 2015-07-29 11:38:53 +02:00
Gael Guennebaud
aec4814370 Many files were missing in previous changeset. 2015-07-29 11:11:23 +02:00
Benoit Steiner
b9db19aec4 Pulled latest updates from trunk. 2015-07-27 09:39:57 -07:00
Benoit Steiner
f84417d97b Removed an incorrect assertion. 2015-07-27 09:25:22 -07:00
Godeffroy Valet
2195822df6 Allowed tensor contraction operation with an empty array of dimension pairs, which performs a tensor product. 2015-07-25 11:58:36 +02:00
Benoit Steiner
f6282e451a Fixed a typo in an assertion. 2015-07-24 17:35:47 -07:00
Benoit Steiner
4200bdec24 Extended the range of value inputs for TensorIntDiv to support tensors with more than 4 billion elements. 2015-07-22 17:02:30 -07:00
Benoit Steiner
0dda72316f The eigen_check macro doesn't exist anymore: use assert instead 2015-07-21 17:34:15 -07:00
Valentin Roussellet
5e635f9ca1 AlignedVector3 accepts implicit conversions from more operators. 2015-07-21 16:42:52 +00:00
Benoit Steiner
6799c26cd6 Fixed a typo in a test and a compilation warning 2015-07-17 16:50:47 -07:00
Benoit Steiner
7a39439904 Rewrote Eigen::dimensions_match to prevent a static assertion when the rank of the tensors is different. 2015-07-17 16:46:30 -07:00
Benoit Steiner
e94f9eb637 Fixed a const correctness issue in TensorLayoutSwap 2015-07-17 15:44:26 -07:00
Benoit Steiner
943035e5bd Pulled latest updates from trunk 2015-07-17 09:42:45 -07:00
Benoit Steiner
06a22ca5bd Added support for sigmoid function to the tensor module 2015-07-17 09:29:00 -07:00
Nicolas Mellado
3275eddc24 Add const getters for LM parameters 2015-07-17 09:11:49 +02:00
Benoit Steiner
7a243959b4 Define EIGEN_HAS_INDEX_LIST whenever the class is defined. This makes it easier to support compilers that are cxx11 compliant and compilers that aren't. 2015-07-16 13:14:18 -07:00
Benoit Steiner
b756f6af5e Added missing APIs to the Eigen::Sizes class 2015-07-16 12:14:18 -07:00
Benoit Steiner
05787f8367 Added support for tensor inflation. 2015-07-16 09:04:05 -07:00
Benoit Steiner
b900fe47d5 Avoid relying on a default value for the Vectorizable template parameter of the EvalRange functor 2015-07-15 17:17:04 -07:00
Benoit Steiner
e892524efe Added support for multi gpu configuration to the GpuDevice class 2015-07-15 12:38:34 -07:00
Benoit Steiner
b80036abec Enabled the construction of a fixed sized tensor directly from an expression. 2015-07-13 11:16:37 -07:00
Benoit Steiner
3912ca0d53 Fixed a bug in the integer division code that caused some large numerators to be incorrectly handled 2015-07-13 11:14:59 -07:00
Gael Guennebaud
b8df8815f4 Fix operator<<(ostream,AlignedVector3) 2015-07-13 13:55:59 +02:00
Benoit Steiner
e6297741c9 Added support for generation of random complex numbers on CUDA devices 2015-07-07 17:40:49 -07:00
Benoit Steiner
6de6fa9483 Use NumTraits<T>::RequireInitialization instead of internal::is_arithmetic<T>::value to check whether it's possible to bypass the type constructor in the tensor code. 2015-07-07 15:23:56 -07:00
Benoit Steiner
a93af65938 Improved and cleaned up the 2d patch extraction code 2015-07-07 08:52:14 -07:00
Benoit Steiner
3f2101b03b Use numext::swap instead of std::swap 2015-07-06 17:02:29 -07:00
Benoit Steiner
0485a2468d use Eigen smart_copy instead of std::copy 2015-07-06 17:01:51 -07:00
Benoit Steiner
ebdacfc5ea Fixed a compilation warning generated by clang 2015-07-06 15:03:11 -07:00
Benoit Steiner
81f9e968fd Only attempt to use the texture path on GPUs when it's supported by CUDA 2015-07-06 13:32:38 -07:00
Benoit Steiner
864318e508 Misc small fixes to the tensor slicing code. 2015-07-06 11:45:56 -07:00
Benoit Steiner
8f1d547c92 Added a default value for the cuda stream in the GpuDevice constructor 2015-07-01 18:32:18 -07:00
Benoit Steiner
1e911b276c Misc improvements and optimizations 2015-07-01 13:59:11 -07:00
Benoit Steiner
4ed213f97b Improved a previous fix 2015-07-01 13:06:30 -07:00
Benoit Steiner
56e155dd60 Fixed a couple of mistakes in the previous commit. 2015-07-01 12:40:27 -07:00
Benoit Steiner
925d0d375a Enabled the vectorized evaluation of several tensor expressions that was previously disabled by mistake 2015-07-01 11:32:04 -07:00
Benoit Steiner
6021b68d8b Silenced a compilation warning 2015-06-30 15:42:25 -07:00
Benoit Steiner
f1f480b116 Added support for user defined custom tensor op. 2015-06-30 15:36:29 -07:00
Benoit Steiner
dc31fcb9ba Added support for 3D patch extraction 2015-06-30 14:48:26 -07:00
Benoit Steiner
f587075987 Made ThreadPoolDevice inherit from a new pure abstract ThreadPoolInterface class: this enables users to leverage their existing threadpool when using eigen tensors. 2015-06-30 14:21:24 -07:00
Benoit Steiner
28b36632ec Turned Eigen::array::size into a function to make the code compatible with std::array 2015-06-30 13:23:05 -07:00
Benoit Steiner
109005c6c9 Added a test for multithreaded full reductions 2015-06-30 13:08:12 -07:00
Benoit Steiner
a4aa7c6217 Fixed a few compilation warnings 2015-06-30 10:36:17 -07:00
Benoit Steiner
7d41e97fa9 Silenced a number of compilation warnings 2015-06-29 14:47:40 -07:00
Benoit Steiner
db9dbbda32 Improved performance of full reduction by 2 order of magnitude on CPU and 3 orders of magnitude on GPU 2015-06-29 14:06:32 -07:00
Benoit Steiner
f0ce85b757 Improved support for fixed size tensors 2015-06-29 14:04:15 -07:00
Benoit Steiner
670c71d906 Express the full reduction operations (such as sum, max, min) using TensorDimensionList 2015-06-29 11:30:36 -07:00
Benoit Steiner
d8098ee7d5 Added support for tanh function to the tensor code 2015-06-29 11:14:42 -07:00
Benoit Steiner
3625734bc8 Moved some utilities to TensorMeta.h to make it easier to reuse them accross several tensor operations.
Created the TensorDimensionList class to encode the list of all the dimensions of a tensor of rank n. This could be done using TensorIndexList, however TensorIndexList require cxx11 which isn't yet supported as widely as we'd like.
2015-06-29 10:49:55 -07:00
Gael Guennebaud
84aaef93ba Merged in vanhoucke/eigen_vanhoucke (pull request PR-118)
Fix two small undefined behaviors caught by static analysis.
2015-06-20 13:56:48 +02:00
Gael Guennebaud
846b227bb7 Get rid of class internal::nested<> (still have to updated Tensor module) 2015-06-19 17:56:39 +02:00
vanhoucke
4cc0c961f3 Fix undefined behavior. 2015-06-19 15:46:46 +00:00
Benoit Steiner
ab5db86fe9 Fixed merge conflict 2015-06-16 19:52:20 -07:00
Benoit Steiner
ea160a898c Pulled latest updates from trunk 2015-06-16 19:46:23 -07:00
Benoit Steiner
367794e668 Fixed compilation warnings triggered by clang 2015-06-16 19:43:49 -07:00
Gael Guennebaud
9ab8ac5c8b Fix compilation in TensorImagePatch 2015-06-16 14:50:08 +02:00
Gael Guennebaud
38874b1651 Fix shadow warnings in Tensor module 2015-06-16 14:43:46 +02:00
Gael Guennebaud
64753af3b7 code simplification 2015-06-09 15:35:34 +02:00
Gael Guennebaud
cacbc5679d formatting 2015-06-09 15:23:08 +02:00
Gael Guennebaud
04665ef9e1 remove redundant dynamic allocations in GMRES 2015-06-09 15:18:21 +02:00
Gael Guennebaud
d4c574707e fix some legitimate shadow warnings 2015-06-09 15:17:58 +02:00
Gael Guennebaud
8bc26562f4 Do not abort if the folder cannot be openned! 2015-06-05 14:31:29 +02:00
Gael Guennebaud
3e7bc8d686 Improve loading of symmetric sparse matrices in MatrixMarketIterator 2015-06-05 10:16:29 +02:00
Benoit Steiner
ea1190486f Fixed a compilation error triggered by nvcc 7 2015-05-28 11:57:51 -07:00
Benoit Steiner
0e5fed74e7 Worked around some constexpr related bugs in nvcc 7 2015-05-28 10:14:38 -07:00
Benoit Steiner
f13b3d4433 Added missing include files 2015-05-28 07:57:28 -07:00
Benoit Steiner
abec18bae0 Fixed potential compilation error 2015-05-26 10:11:15 -07:00
Benoit Steiner
9df186c140 Added a few more missing EIGEN_DEVICE_FUNC statements 2015-05-26 09:47:48 -07:00
Benoit Steiner
466bcc589e Added a few missing EIGEN_DEVICE_FUNC statements 2015-05-26 09:37:23 -07:00
Benoit Steiner
6b800744ce Moved away from std::async and std::future as the underlying mechnism for the thread pool device. On several platforms, the functions passed to std::async are not scheduled in the order in which they are given to std::async, which leads to massive performance issues in the contraction code.
Instead we now have a custom thread pool that ensures that the functions are picked up by the threads in the pool in the order in which they are enqueued in the pool.
2015-05-20 13:52:07 -07:00
Benoit Steiner
2451679951 Avoid using the cuda memcpy for small tensor slices since the memcpy kernel is very expensive to launch 2015-05-19 15:19:01 -07:00
Benoit Steiner
a81d17b73a Added new version of the TensorIntDiv class optimized for 32 bit signed integers. It saves 1 register on CPU and 2 on GPU. 2015-05-19 13:59:52 -07:00
Christoph Hertzberg
8c6a3b5ace Fix trivial warnings in LevenbergMarquardt module and test 2015-04-24 21:35:30 +02:00
Benoit Steiner
fd1d4bd86c Silenced a few compilation warnings 2015-04-22 16:16:15 -07:00
Benoit Steiner
91359e1d0a Added the ability to generate a tensor from a custom user defined 'generator'. This simplifies the creation of constant tensors initialized using specific regular patterns.
Created a gaussian window generator as a first use case.
2015-04-22 11:14:58 -07:00
Benoit Steiner
8838ed39f4 Added support for non-deterministic random number generation on GPU 2015-04-22 09:14:38 -07:00
Benoit Steiner
dfa991cbae Make sure that the copy constructor of the evaluator is always called before launching the evaluation of a tensor expression on a cuda device. 2015-04-21 16:15:45 -07:00
Benoit Steiner
e709488361 Silenced a few compilation warnings 2015-04-20 17:39:45 -07:00
Benoit Steiner
10a1f81822 Sped up the assignment of a tensor to a tensor slice, as well as the assigment of a constant slice to a tensor 2015-04-20 17:34:11 -07:00
Benoit Steiner
43eb2ca6e1 Improved the tensor random number generators:
* Use a mersenne twister whenebver possible instead of the default entropy source since the default one isn't very good at all.
 * Added the ability to seed the generators with a time based seed to make them non-deterministic.
2015-04-20 09:24:09 -07:00
Benoit Steiner
70bc3b0668 Silenced a warning in the tensor code 2015-04-19 12:38:00 -07:00
Benoit Steiner
3220eb2b93 Fixed some compilation warnings 2015-04-19 12:36:35 -07:00
Benoit Steiner
3b429b71e6 Fixed compilation warning triggered by gcc 4.7 2015-04-18 13:41:06 -07:00
Benoit Steiner
9c6b82bcd5 Use ptrdiff_t instead of size_t to encode fixed sizes. This silences several clang compilation warnings
(transplanted from 4400e4436ac7c5bbd305a03c21aa4bce24ae199b)
2015-04-17 09:12:18 -07:00
Benoit Steiner
0f82399fe9 Pulled latest changes from trunk 2015-04-14 19:13:34 -07:00
Benoit Steiner
1de49ef4c2 Fixed a bug when chipping tensors laid out in row major order. 2015-04-07 10:44:13 -07:00
Benoit Steiner
a1f1e1e51d Fixed the order of 2 #includes 2015-04-06 10:41:39 -07:00
Benoit Steiner
7c18ab921c Pulled latest updates from trunk 2015-04-04 20:07:04 -07:00
Gael Guennebaud
15b5adb327 Fix regression in DynamicSparseMatrix and SuperLUSupport wrt recent change on nonZeros/nonZerosEstimate 2015-04-02 22:21:41 +02:00
Benoit Steiner
74e558cfa8 Pulled latest updates from trunk 2015-04-01 23:24:11 -07:00
Benoit Steiner
03a0df2010 Fixed some compilation warnings triggered by pre-cxx11 comoilers 2015-04-01 22:51:33 -07:00
Benoit Steiner
b8b7807269 Fixed some compilation warning triggered by the cxx11 emulation code 2015-04-01 21:48:18 -07:00
Benoit Steiner
383b6dfafe Fixed 2 typos 2015-04-01 16:44:36 -07:00
Benoit Steiner
68d4afe985 Added support for convolution of tensors laid out in RowMajor mode 2015-03-31 09:07:09 -07:00
Benoit Steiner
f873686602 Added documentation for the convolution operation 2015-03-31 08:27:23 -07:00
Benoit Steiner
35722fa022 Made the index type a template parameter of the tensor class instead of encoding it in the options. 2015-03-30 14:55:54 -07:00
Benoit Steiner
71950f02e5 Deleted unnecessary semicolons 2015-03-30 14:49:10 -07:00
Benoit Steiner
4df8b5a75e Avoid making an unecessary copy of the tensor expression when evaluating it on a GPU device 2015-03-25 14:36:07 -07:00
Benoit Steiner
b3343bfdae Fixed the vectorized implementation of the Tensor select() method 2015-03-25 13:25:53 -07:00
Benoit Steiner
ccf290a65c Cleaned up the TensorDevice code a little bit. 2015-03-25 12:37:38 -07:00
Benoit Steiner
d3f7915aeb Pulled latest update from the eigen main codebase 2015-03-24 13:12:14 -07:00
Gael Guennebaud
8d9bfb3a7b fix loadMarket wrt Index versus int 2015-03-20 16:00:10 +01:00
Benoit Steiner
a6a628ca6b Added the -= operator to the device classes 2015-03-19 23:22:19 -07:00
Benoit Steiner
e134226a03 Fixed a bug in the handling of packets by the MeanReducer 2015-03-19 23:11:42 -07:00
Benoit Steiner
cc0f89eb3b Changed the way lvalue operations are declared in TensorBase: this fixes constness isses that prevented some expressions mixing lvalues and rvalues from compiling. 2015-03-17 09:57:20 -07:00
Benoit Steiner
f218c0181d Fixes the Lvalue computation by actually setting the LvalueBit properly when instantiating tensors of const T. Added a test to check the fix. 2015-03-16 13:05:00 -07:00
Benoit Steiner
b0f2b6f297 Updated the tensor type casting code as follow: in the case where TgtRatio < SrcRatio, disable the vectorization of the source expression unless is has direct-access. 2015-03-02 10:11:40 -08:00
Benoit Steiner
d9cb604a5d Disabled the use of aligned memory loads when converting a tensor from float to doubles since alignment can't always be guaranteed. 2015-03-02 09:41:36 -08:00
Benoit Steiner
ae73859a0a Fixed incorrect assertion 2015-02-28 08:02:02 -08:00
Benoit Steiner
bb483313f6 Fixed another batch of compilation warnings 2015-02-28 02:32:46 -08:00
Benoit Steiner
1a7b84dc75 Silenced a few compilation warnings 2015-02-28 01:45:15 -08:00
Benoit Steiner
cf1eea11de Fixed compilation warnings 2015-02-27 23:52:02 -08:00
Benoit Steiner
4250a0cab0 Fixed compilation warnings 2015-02-27 21:59:10 -08:00
Benoit Steiner
306fceccbe Pulled latest updates from trunk 2015-02-27 13:05:26 -08:00
Benoit Steiner
2386fc8528 Added support for 32bit index on a per tensor/tensor expression. This enables us to use 32bit indices to evaluate expressions on GPU faster while keeping the ability to use 64 bit indices to manipulate large tensors on CPU in the same binary. 2015-02-27 12:57:13 -08:00
Benoit Steiner
90f4e90f1d Fixed off-by-one error that prevented the evaluation of small tensor expressions from being vectorized 2015-02-27 09:22:37 -08:00
Benoit Steiner
573b377110 Added support for vectorized type casting of tensors 2015-02-27 08:46:04 -08:00
Benoit Steiner
f074bb4b5f Fixed another compilation problem with TensorIntDiv.h 2015-02-26 11:14:23 -08:00
Benoit Steiner
57154fdb32 Can now use the tensor 'reverse' operation as a lvalue 2015-02-26 11:13:42 -08:00
Benoit Steiner
f41b1f1666 Added support for fast reciprocal square root computation. 2015-02-26 09:42:41 -08:00
Benoit Steiner
2fffe69b1b Added missing copy constructor 2015-02-26 09:27:53 -08:00
Benoit Steiner
bffb6bdf45 Made TensorIntDiv.h compile with MSVC 2015-02-25 23:54:43 -08:00
Benoit Steiner
27f3fb2bcc Fixed another clang warning 2015-02-25 22:54:20 -08:00
Benoit Steiner
f8fbb3f9a6 Fixed several compilation warnings reported by clang 2015-02-25 22:22:37 -08:00
Benoit Steiner
8e817b65d0 Silenced a few more compilation warnings generated by nvcc 2015-02-25 17:46:20 -08:00
Benoit Steiner
1cfd51908c Added support for RowMajor layout to the tensor patch extraction cofde. 2015-02-25 13:29:12 -08:00
Benoit Steiner
8afce86e64 Added support for RowMajor layout to the image patch extraction code
Speeded up the unsupported_cxx11_tensor_image_patch test and reduced its memory footprint
2015-02-25 09:48:54 -08:00
Benoit Steiner
110fb90250 Improved the documentations 2015-02-19 11:59:04 -08:00
Abhijit Kundu
ef09ce4552 Fix for TensorIO for Fixed sized Tensors.
The following code snippet was failing to compile:

TensorFixedSize<double, Sizes<4, 3> > t_4x3;
cout << 4x3;
2015-02-28 21:30:31 -05:00
Abhijit Kundu
3a4b6827b4 Merged eigen/eigen into default 2015-02-28 20:15:28 -05:00
Christoph Hertzberg
682196e9fc Fixed MPRealSupport 2015-02-28 16:41:00 +01:00
Abhijit Kundu
4084dce038 Added CMake support for Tensor module. CMake now installs CXX11 Tensor module like the rest of the unsupported modules 2015-02-26 16:50:09 -05:00
Benoit Steiner
36c9d08274 Pulled latest updates from trunk 2015-02-17 10:04:25 -08:00
Benoit Steiner
f77054f43c Silenced compilation warning 2015-02-17 10:02:04 -08:00
Benoit Steiner
1d3b64d32b Added support for tensor concatenation as lvalue 2015-02-17 09:57:41 -08:00
Benoit Steiner
00f048d44f Added support for tensor concatenation as lvalue 2015-02-17 09:54:40 -08:00
Christoph Hertzberg
97a36ecba4 Suppress some remaining Index conversion warnings 2015-02-17 18:52:39 +01:00
Gael Guennebaud
aa6c516ec1 Fix many long to int conversion warnings:
- fix usage of Index (API) versus StorageIndex (when multiple indexes are stored)
 - use StorageIndex(val) when the input has already been check
 - use internal::convert_index<StorageIndex>(val) when val is potentially unsafe (directly comes from user input)
2015-02-16 13:19:05 +01:00
Gael Guennebaud
fc202bab39 Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type. 2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980 Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs 2015-02-13 10:03:53 +01:00
Gael Guennebaud
0918c51e60 merge Tensor module within Eigen/unsupported and update gemv BLAS wrapper 2015-02-12 21:48:41 +01:00
Benoit Steiner
6620aaa4b3 Silenced a few compilation warnings generated by nvcc 2015-02-10 14:34:42 -08:00
Benoit Steiner
f669f5656a Marked a few functions as EIGEN_DEVICE_FUNC to enable the use of tensors in cuda kernels. 2015-02-10 14:29:47 -08:00
Benoit Steiner
fefec723aa Fixed compilation error triggered when trying to vectorize a non vectorizable cuda kernel. 2015-02-10 13:16:22 -08:00
Benoit Steiner
780b2422e2 Silenced the last batch of compilation warnings triggered by gcc 4.8 2015-02-10 12:43:55 -08:00
Benoit Steiner
c21e45fbc5 Fixed a few more compilation warnings 2015-02-10 12:36:26 -08:00
Benoit Steiner
057cfd2f02 Silenced more compilation warnings 2015-02-10 12:25:02 -08:00
Benoit Steiner
114e863f08 Silcenced a few compilation warnings 2015-02-10 12:20:24 -08:00
Benoit Steiner
410895a7e4 Silenced several compilation warnings 2015-02-10 12:13:19 -08:00
Benoit Steiner
91fe3a3004 Removed a debug printf statement. 2015-02-10 10:29:28 -08:00
Jan Blechta
c3f3580b8f Fix bug #733: step by step solving is not a good example for solveWithGuess 2015-02-10 14:24:39 +01:00
Gael Guennebaud
deecff97ed typo 2015-02-10 19:22:05 +01:00
Gael Guennebaud
c6e8caf090 Allows Lower|Upper as a template argument of CG and MINRES: in this case the full matrix will be considered. 2015-02-10 18:57:41 +01:00
Gael Guennebaud
d10d6a40dd bug #897: Update unsupported iterative solvers based on IterativeSolverBased. 2015-02-10 13:02:59 +01:00
Benoit Steiner
3ba6647398 Fixed the cxx11_meta test 2015-02-06 06:00:59 -08:00
Benoit Steiner
c739102ef9 Pulled the latest changes from the trunk 2015-02-06 05:25:03 -08:00
Benoit Steiner
dcb2a8b184 Added the EIGEN_HAS_CONSTEXPR define
Gate the tensor index list code based on the value of EIGEN_HAS_CONSTEXPR
2015-02-06 02:51:59 -08:00
Filippo Basso
a8f2c6eec7 Using numext::pow instead of std::pow in poly_eval function. 2015-02-04 18:37:51 +00:00
Benoit Steiner
f64045a060 Silenced a few more compilation warnings 2015-01-30 19:52:01 -08:00