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