Benoit Steiner
f8e7b9590d
Fixed compilation error triggered by gcc 4.7
2015-10-26 10:47:37 -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
ac22b66f1c
Fix macro issues
2015-10-13 10:18:09 +02:00
Gael Guennebaud
3e32f6b554
update mpreal.h
2015-10-13 09:58:54 +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
13aee4463e
Cleaned up a test
2015-09-18 09:42:08 -07:00
Benoit Steiner
58a6453d48
Fixed compilation warning
2015-09-17 10:18:49 -07:00
Benoit Steiner
31afdcb4c2
Fix return type for TensorEvaluator<TensorSlicingOp>::data
2015-09-17 09:40:21 -07:00
Benoit Steiner
84e0c27b61
Fixed a compilation warning
2015-09-08 17:05:35 -07:00
Benoit Steiner
05f2f94f2b
Fixed a compilation warning
2015-09-08 17:04:03 -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
29c3b7513e
Pulled latest updates from trunk
2015-10-23 09:16:14 -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
Gael Guennebaud
c244081490
disable usage of INTMAX_T
2015-10-23 14:48:54 +02:00
Gael Guennebaud
0905ed5390
remove useless cstdint header
2015-10-23 14:41:25 +02: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
2495e2479f
Added tests for the fft code
2015-10-22 16:52:55 -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
825146c8fd
Fixed incorrect expected value
2015-10-22 11:56:00 -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
Christoph Hertzberg
5ad7981f73
Use full packet size for Dynamic-sized objects (otherwise, the unalignedcount unit test fails with AVX enabled)
2015-09-02 22:51:43 +02: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
dc2c103b3b
merge
2015-08-16 14:22:02 +02:00
Christoph Hertzberg
d6a4805fdf
Protect further isnan/isfinite/isinf calls
2015-08-16 14:00:02 +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
Gael Guennebaud
9a4713e505
Add a unit test for IncompleteCholesky
2015-08-04 16:14:06 +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
Gael Guennebaud
d3e5db9a80
add regression unit test for previous changeset
2015-07-21 22:23:17 +02: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
a5ec25f11c
Use the new EIGEN_HAS_INDEX_LIST define to enable the cxx11_tensor_index_list tests
2015-07-16 13:16:08 -07: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
4b3d697e12
Fixed compilation error in a cuda test
2015-07-15 17:14:24 -07:00
Benoit Steiner
8315e025e1
Updated the cuda tests to use the new GpuDevice constructor
2015-07-15 12:39:26 -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
fffe63045c
Added a test for full reductions on GPU
2015-06-29 14:10:32 -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
6a9a29e96f
Fixed a compilation warning
2015-06-17 10:14:13 -07: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
e2e66930c6
Fix compilation of alignedvector3 unit test
2015-06-16 14:40:55 +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
48f6b274e2
Fixed compilation error triggered by gcc 4.7
2015-05-20 08:54:44 -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