Gael Guennebaud
|
5a71eb5985
|
Big 1213: add regression unit test.
|
2016-05-18 14:03:03 +02:00 |
|
Gael Guennebaud
|
747e3290c0
|
bug #1213: rename some enums type for consistency.
|
2016-05-18 13:26:56 +02:00 |
|
Benoit Steiner
|
86ae94462e
|
#if defined(EIGEN_USE_NONBLOCKING_THREAD_POOL) is now #if !defined(EIGEN_USE_SIMPLE_THREAD_POOL): the non blocking thread pool is the default since it's more scalable, and one needs to request the old thread pool explicitly.
|
2016-05-17 14:06:15 -07:00 |
|
Benoit Steiner
|
997c335970
|
Fixed compilation error
|
2016-05-17 12:54:18 -07:00 |
|
Benoit Steiner
|
ebf6ada5ee
|
Fixed compilation error in the tensor thread pool
|
2016-05-17 12:33:46 -07:00 |
|
Rasmus Munk Larsen
|
0bb61b04ca
|
Merge upstream.
|
2016-05-17 10:26:10 -07:00 |
|
Rasmus Munk Larsen
|
0dbd68145f
|
Roll back changes to core. Move include of TensorFunctors.h up to satisfy dependence in TensorCostModel.h.
|
2016-05-17 10:25:19 -07:00 |
|
Rasmus Larsen
|
00228f2506
|
Merged eigen/eigen into default
|
2016-05-17 09:49:31 -07:00 |
|
Benoit Steiner
|
e7e64c3277
|
Enable the use of the packet api to evaluate tensor broadcasts. This speed things up quite a bit:
Before"
M_broadcasting/10 500000 3690 27.10 MFlops/s
BM_broadcasting/80 500000 4014 1594.24 MFlops/s
BM_broadcasting/640 100000 14770 27731.35 MFlops/s
BM_broadcasting/4K 5000 632711 39512.48 MFlops/s
After:
BM_broadcasting/10 500000 4287 23.33 MFlops/s
BM_broadcasting/80 500000 4455 1436.41 MFlops/s
BM_broadcasting/640 200000 10195 40173.01 MFlops/s
BM_broadcasting/4K 5000 423746 58997.57 MFlops/s
|
2016-05-17 09:24:35 -07:00 |
|
Benoit Steiner
|
5fa27574dd
|
Allow vectorized padding on GPU. This helps speed things up a little
Before:
BM_padding/10 5000000 460 217.03 MFlops/s
BM_padding/80 5000000 460 13899.40 MFlops/s
BM_padding/640 5000000 461 888421.17 MFlops/s
BM_padding/4K 5000000 460 54316322.55 MFlops/s
After:
BM_padding/10 5000000 454 220.20 MFlops/s
BM_padding/80 5000000 455 14039.86 MFlops/s
BM_padding/640 5000000 452 904968.83 MFlops/s
BM_padding/4K 5000000 411 60750049.21 MFlops/s
|
2016-05-17 09:17:26 -07:00 |
|
Benoit Steiner
|
86da77cb9b
|
Pulled latest updates from trunk.
|
2016-05-17 07:21:48 -07:00 |
|
Benoit Steiner
|
92fc6add43
|
Don't rely on c++11 extension when we don't have to.
|
2016-05-17 07:21:22 -07:00 |
|
Benoit Steiner
|
2d74ef9682
|
Avoid float to double conversion
|
2016-05-17 07:20:11 -07:00 |
|
Benoit Steiner
|
a80d875916
|
Added missing costPerCoeff method
|
2016-05-16 09:31:10 -07:00 |
|
Benoit Steiner
|
83ef39e055
|
Turn on the cost model by default. This results in some significant speedups for smaller tensors. For example, below are the results for the various tensor reductions.
Before:
BM_colReduction_12T/10 1000000 1949 51.29 MFlops/s
BM_colReduction_12T/80 100000 15636 409.29 MFlops/s
BM_colReduction_12T/640 20000 95100 4307.01 MFlops/s
BM_colReduction_12T/4K 500 4573423 5466.36 MFlops/s
BM_colReduction_4T/10 1000000 1867 53.56 MFlops/s
BM_colReduction_4T/80 500000 5288 1210.11 MFlops/s
BM_colReduction_4T/640 10000 106924 3830.75 MFlops/s
BM_colReduction_4T/4K 500 9946374 2513.48 MFlops/s
BM_colReduction_8T/10 1000000 1912 52.30 MFlops/s
BM_colReduction_8T/80 200000 8354 766.09 MFlops/s
BM_colReduction_8T/640 20000 85063 4815.22 MFlops/s
BM_colReduction_8T/4K 500 5445216 4591.19 MFlops/s
BM_rowReduction_12T/10 1000000 2041 48.99 MFlops/s
BM_rowReduction_12T/80 100000 15426 414.87 MFlops/s
BM_rowReduction_12T/640 50000 39117 10470.98 MFlops/s
BM_rowReduction_12T/4K 500 3034298 8239.14 MFlops/s
BM_rowReduction_4T/10 1000000 1834 54.51 MFlops/s
BM_rowReduction_4T/80 500000 5406 1183.81 MFlops/s
BM_rowReduction_4T/640 50000 35017 11697.16 MFlops/s
BM_rowReduction_4T/4K 500 3428527 7291.76 MFlops/s
BM_rowReduction_8T/10 1000000 1925 51.95 MFlops/s
BM_rowReduction_8T/80 200000 8519 751.23 MFlops/s
BM_rowReduction_8T/640 50000 33441 12248.42 MFlops/s
BM_rowReduction_8T/4K 1000 2852841 8763.19 MFlops/s
After:
BM_colReduction_12T/10 50000000 59 1678.30 MFlops/s
BM_colReduction_12T/80 5000000 725 8822.71 MFlops/s
BM_colReduction_12T/640 20000 90882 4506.93 MFlops/s
BM_colReduction_12T/4K 500 4668855 5354.63 MFlops/s
BM_colReduction_4T/10 50000000 59 1687.37 MFlops/s
BM_colReduction_4T/80 5000000 737 8681.24 MFlops/s
BM_colReduction_4T/640 50000 108637 3770.34 MFlops/s
BM_colReduction_4T/4K 500 7912954 3159.38 MFlops/s
BM_colReduction_8T/10 50000000 60 1657.21 MFlops/s
BM_colReduction_8T/80 5000000 726 8812.48 MFlops/s
BM_colReduction_8T/640 20000 91451 4478.90 MFlops/s
BM_colReduction_8T/4K 500 5441692 4594.16 MFlops/s
BM_rowReduction_12T/10 20000000 93 1065.28 MFlops/s
BM_rowReduction_12T/80 2000000 950 6730.96 MFlops/s
BM_rowReduction_12T/640 50000 38196 10723.48 MFlops/s
BM_rowReduction_12T/4K 500 3019217 8280.29 MFlops/s
BM_rowReduction_4T/10 20000000 93 1064.30 MFlops/s
BM_rowReduction_4T/80 2000000 959 6667.71 MFlops/s
BM_rowReduction_4T/640 50000 37433 10941.96 MFlops/s
BM_rowReduction_4T/4K 500 3036476 8233.23 MFlops/s
BM_rowReduction_8T/10 20000000 93 1072.47 MFlops/s
BM_rowReduction_8T/80 2000000 959 6670.04 MFlops/s
BM_rowReduction_8T/640 50000 38069 10759.37 MFlops/s
BM_rowReduction_8T/4K 1000 2758988 9061.29 MFlops/s
|
2016-05-16 08:55:21 -07:00 |
|
Benoit Steiner
|
b789a26804
|
Fixed syntax error
|
2016-05-16 08:51:08 -07:00 |
|
Benoit Steiner
|
83dfb40f66
|
Turnon the new thread pool by default since it scales much better over multiple cores. It is still possible to revert to the old thread pool by compiling with the EIGEN_USE_SIMPLE_THREAD_POOL define.
|
2016-05-13 17:23:15 -07:00 |
|
Benoit Steiner
|
97605c7b27
|
New multithreaded contraction that doesn't rely on the thread pool to run the closure in the order in which they are enqueued. This is needed in order to switch to the new non blocking thread pool since this new thread pool can execute the closure in any order.
|
2016-05-13 17:11:29 -07:00 |
|
Benoit Steiner
|
069a0b04d7
|
Added benchmarks for contraction on CPU.
|
2016-05-13 14:32:17 -07:00 |
|
Benoit Steiner
|
c4fc8b70ec
|
Removed unnecessary thread synchronization
|
2016-05-13 10:49:38 -07:00 |
|
Benoit Steiner
|
7aa3557d31
|
Fixed compilation errors triggered by old versions of gcc
|
2016-05-12 18:59:04 -07:00 |
|
Rasmus Munk Larsen
|
5005b27fc8
|
Diasbled cost model by accident. Revert.
|
2016-05-12 16:55:21 -07:00 |
|
Rasmus Munk Larsen
|
989e419328
|
Address comments by bsteiner.
|
2016-05-12 16:54:19 -07:00 |
|
Rasmus Munk Larsen
|
e55deb21c5
|
Improvements to parallelFor.
Move some scalar functors from TensorFunctors. to Eigen core.
|
2016-05-12 14:07:22 -07:00 |
|
Benoit Steiner
|
ae9688f313
|
Worked around a compilation error triggered by nvcc when compiling a tensor concatenation kernel.
|
2016-05-12 12:06:51 -07:00 |
|
Benoit Steiner
|
2a54b70d45
|
Fixed potential race condition in the non blocking thread pool
|
2016-05-12 11:45:48 -07:00 |
|
Benoit Steiner
|
a071629fec
|
Replace implicit cast with an explicit one
|
2016-05-12 10:40:07 -07:00 |
|
Benoit Steiner
|
2f9401b061
|
Worked around compilation errors with older versions of gcc
|
2016-05-11 23:39:20 -07:00 |
|
Benoit Steiner
|
09653e1f82
|
Improved the portability of the tensor code
|
2016-05-11 23:29:09 -07:00 |
|
Benoit Steiner
|
fae0493f98
|
Fixed a couple of bugs related to the Pascalfamily of GPUs
H: Enter commit message. Lines beginning with 'HG:' are removed.
|
2016-05-11 23:02:26 -07:00 |
|
Benoit Steiner
|
886445ce4d
|
Avoid unnecessary conversions between floats and doubles
|
2016-05-11 23:00:03 -07:00 |
|
Benoit Steiner
|
595e890391
|
Added more tests for half floats
|
2016-05-11 21:27:15 -07:00 |
|
Benoit Steiner
|
b6a517c47d
|
Added the ability to load fp16 using the texture path.
Improved the performance of some reductions on fp16
|
2016-05-11 21:26:48 -07:00 |
|
Benoit Steiner
|
518149e868
|
Misc fixes for fp16
|
2016-05-11 20:11:14 -07:00 |
|
Benoit Steiner
|
56a1757d74
|
Made predux_min and predux_max on fp16 less noisy
|
2016-05-11 17:37:34 -07:00 |
|
Benoit Steiner
|
9091351dbe
|
__ldg is only available with cuda architectures >= 3.5
|
2016-05-11 15:22:13 -07:00 |
|
Benoit Steiner
|
02f76dae2d
|
Fixed a typo
|
2016-05-11 15:08:38 -07:00 |
|
Christoph Hertzberg
|
131e5a1a4a
|
Do not copy for trivial 1x1 case. This also avoids a "maybe-uninitialized" warning in some situations.
|
2016-05-11 23:50:13 +02:00 |
|
Benoit Steiner
|
70195a5ff7
|
Added missing EIGEN_DEVICE_FUNC
|
2016-05-11 14:10:09 -07:00 |
|
Benoit Steiner
|
09a19c33a8
|
Added missing EIGEN_DEVICE_FUNC qualifiers
|
2016-05-11 14:07:43 -07:00 |
|
Christoph Hertzberg
|
1a1ce6ff61
|
Removed deprecated flag (which apparently was ignored anyway)
|
2016-05-11 23:05:37 +02:00 |
|
Christoph Hertzberg
|
2150f13d65
|
fixed some double-promotion and sign-compare warnings
|
2016-05-11 23:02:26 +02:00 |
|
Christoph Hertzberg
|
7268b10203
|
Split unit test
|
2016-05-11 19:41:53 +02:00 |
|
Christoph Hertzberg
|
8d4ef391b0
|
Don't flood test output with successful VERIFY_IS_NOT_EQUAL tests.
|
2016-05-11 19:40:45 +02:00 |
|
Christoph Hertzberg
|
bda21407dd
|
Fix help output of buildtests and check scripts
|
2016-05-11 19:39:09 +02:00 |
|
Christoph Hertzberg
|
33ca7e3c8d
|
bug #1207: Add and fix logical-op warnings
|
2016-05-11 19:36:34 +02:00 |
|
Benoit Steiner
|
217d984abc
|
Fixed a typo in my previous commit
|
2016-05-11 10:22:15 -07:00 |
|
Benoit Steiner
|
08348b4e48
|
Fix potential race condition in the CUDA reduction code.
|
2016-05-11 10:08:51 -07:00 |
|
Benoit Steiner
|
cbb14ed47e
|
Added a few tests to validate the generation of random tensors on GPU.
|
2016-05-11 10:05:56 -07:00 |
|
Benoit Steiner
|
6a5717dc74
|
Explicitely initialize all the atomic variables.
|
2016-05-11 10:04:41 -07:00 |
|