Benoit Steiner
|
dcc14bee64
|
Fixed the formatting of the code
|
2016-11-08 14:24:46 -08:00 |
|
Mehdi Goli
|
d57430dd73
|
Converting all sycl buffers to uninitialised device only buffers; adding memcpyHostToDevice and memcpyDeviceToHost on syclDevice; modifying all examples to obey the new rules; moving sycl queue creating to the device based on Benoit suggestion; removing the sycl specefic condition for returning m_result in TensorReduction.h according to Benoit suggestion.
|
2016-11-08 17:08:02 +00:00 |
|
Mehdi Goli
|
0ebe3808ca
|
Removed the sycl include from Eigen/Core and moved it to Unsupported/Eigen/CXX11/Tensor; added TensorReduction for sycl (full reduction and partial reduction); added TensorReduction test case for sycl (full reduction and partial reduction); fixed the tile size on TensorSyclRun.h based on the device max work group size;
|
2016-11-04 18:18:19 +00:00 |
|
Mehdi Goli
|
e36cb91c99
|
Fixing the code indentation in the TensorReduction.h file.
|
2016-10-14 18:03:00 +01:00 |
|
Mehdi Goli
|
524fa4c46f
|
Reducing the code by generalising sycl backend functions/structs.
|
2016-10-14 12:09:55 +01:00 |
|
Benoit Steiner
|
028e299577
|
Fixed a bug impacting some outer reductions on GPU
|
2016-09-12 18:36:52 -07:00 |
|
Benoit Steiner
|
64e68cbe87
|
Don't attempt to optimize partial reductions when the optimized implementation doesn't buy anything.
|
2016-08-08 19:29:59 -07:00 |
|
Benoit Steiner
|
c6b0de2c21
|
Improved partial reductions in more cases
|
2016-07-22 17:18:20 -07:00 |
|
Gael Guennebaud
|
544935101a
|
Fix warnings
|
2016-07-08 11:38:52 +02:00 |
|
Gael Guennebaud
|
179ebb88f9
|
Fix warning
|
2016-07-07 09:16:40 +02:00 |
|
Benoit Steiner
|
c21eaedce6
|
Use array_prod to compute the number of elements contained in the input tensor expression
|
2016-06-04 07:47:04 -07:00 |
|
Benoit Steiner
|
c2a102345f
|
Improved the performance of full reductions.
AFTER:
BM_fullReduction/10 4541 4543 154017 21.0M items/s
BM_fullReduction/64 5191 5193 100000 752.5M items/s
BM_fullReduction/512 9588 9588 71361 25.5G items/s
BM_fullReduction/4k 244314 244281 2863 64.0G items/s
BM_fullReduction/5k 359382 359363 1946 64.8G items/s
BEFORE:
BM_fullReduction/10 9085 9087 74395 10.5M items/s
BM_fullReduction/64 9478 9478 72014 412.1M items/s
BM_fullReduction/512 14643 14646 46902 16.7G items/s
BM_fullReduction/4k 260338 260384 2678 60.0G items/s
BM_fullReduction/5k 385076 385178 1818 60.5G items/s
|
2016-06-03 17:27:08 -07:00 |
|
Benoit Steiner
|
36369ab63c
|
Resolved merge conflicts
|
2016-05-26 13:39:39 -07:00 |
|
Benoit Steiner
|
28fcb5ca2a
|
Merged latest reduction improvements
|
2016-05-26 12:19:33 -07:00 |
|
Benoit Steiner
|
c1c7f06c35
|
Improved the performance of inner reductions.
|
2016-05-26 11:53:59 -07:00 |
|
Benoit Steiner
|
a09cbf9905
|
Merged in rmlarsen/eigen (pull request PR-188)
Minor cleanups: 1. Get rid of a few unused variables. 2. Get rid of last uses of EIGEN_USE_COST_MODEL.
|
2016-05-23 12:55:12 -07:00 |
|
Gael Guennebaud
|
ccaace03c9
|
Make EIGEN_HAS_CONSTEXPR user configurable
|
2016-05-20 15:10:08 +02:00 |
|
Gael Guennebaud
|
c3410804cd
|
Make EIGEN_HAS_VARIADIC_TEMPLATES user configurable
|
2016-05-20 15:05:38 +02:00 |
|
Rasmus Munk Larsen
|
7df811cfe5
|
Minor cleanups: 1. Get rid of unused variables. 2. Get rid of last uses of EIGEN_USE_COST_MODEL.
|
2016-05-18 15:09:48 -07:00 |
|
Benoit Steiner
|
8d06c02ffd
|
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:13:27 -07:00 |
|
Benoit Steiner
|
09653e1f82
|
Improved the portability of the tensor code
|
2016-05-11 23:29:09 -07:00 |
|
Benoit Steiner
|
4ede059de1
|
Properly gate the use of half2.
|
2016-05-10 17:04:01 -07:00 |
|
Benoit Steiner
|
4670d7d5ce
|
Improved the performance of full reductions on GPU:
Before:
BM_fullReduction/10 200000 11751 8.51 MFlops/s
BM_fullReduction/80 5000 523385 12.23 MFlops/s
BM_fullReduction/640 50 36179326 11.32 MFlops/s
BM_fullReduction/4K 1 2173517195 11.50 MFlops/s
After:
BM_fullReduction/10 500000 5987 16.70 MFlops/s
BM_fullReduction/80 200000 10636 601.73 MFlops/s
BM_fullReduction/640 50000 58428 7010.31 MFlops/s
BM_fullReduction/4K 1000 2006106 12461.95 MFlops/s
|
2016-05-09 17:09:54 -07:00 |
|
Rasmus Munk Larsen
|
07ac4f7e02
|
Eigen Tensor cost model part 2: Thread scheduling for standard evaluators and reductions. The cost model is turned off by default.
|
2016-04-14 18:28:23 -07:00 |
|
Rasmus Munk Larsen
|
235e83aba6
|
Eigen cost model part 1. This implements a basic recursive framework to estimate the cost of evaluating tensor expressions.
|
2016-04-14 13:57:35 -07:00 |
|
Benoit Steiner
|
1bc81f7889
|
Fixed compilation warnings on arm
|
2016-03-28 09:21:04 -07:00 |
|
Benoit Steiner
|
41434a8a85
|
Avoid unnecessary conversions
|
2016-03-23 16:52:38 -07:00 |
|
Benoit Steiner
|
92693b50eb
|
Fixed compilation warning
|
2016-03-23 16:40:36 -07:00 |
|
Benoit Steiner
|
002cf0d1c9
|
Use a single Barrier instead of a collection of Notifications to reduce the thread synchronization overhead
|
2016-03-22 15:24:23 -07:00 |
|
Benoit Steiner
|
3149b5b148
|
Avoid implicit cast
|
2016-03-09 17:35:17 -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
|
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
|
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
|
b2075cb7a2
|
Made the signature of the inner and outer reducers consistent
|
2016-02-29 10:53:38 -08:00 |
|
Benoit Steiner
|
3284842045
|
Optimized the performance of narrow reductions on CUDA devices
|
2016-02-29 10:48:16 -08:00 |
|
Benoit Steiner
|
c36c09169e
|
Fixed a typo in the reduction code that could prevent large full reductionsx from running properly on old cuda devices.
|
2016-02-24 17:07:25 -08:00 |
|
Benoit Steiner
|
e80ed948e1
|
Fixed a number of compilation warnings generated by the cuda tests
|
2016-01-31 20:09:41 -08:00 |
|
Benoit Steiner
|
c5d25bf1d0
|
Fixed a couple of compilation warnings.
|
2016-01-28 23:15:45 -08:00 |
|
Benoit Steiner
|
291069e885
|
Fixed some compilation problems with nvcc + clang
|
2016-01-27 15:37:03 -08:00 |
|
Benoit Steiner
|
5b7713dd33
|
Record whether the underlying tensor storage can be accessed directly during the evaluation of an expression.
|
2016-01-19 17:05:10 -08:00 |
|
Benoit Steiner
|
9f013a9d86
|
Properly record the rank of reduced tensors in the tensor traits.
|
2016-01-13 14:24:37 -08:00 |
|
Benoit Steiner
|
2c3b13eded
|
Merged in jeremy_barnes/eigen/shader-model-3.0 (pull request PR-152)
Alternative way of forcing instantiation of device kernels without causing warnings or requiring device to device kernel invocations.
|
2016-01-11 11:43:37 -08:00 |
|
Benoit Steiner
|
2ccb1c8634
|
Fixed a bug in the dispatch of optimized reduction kernels.
|
2016-01-11 10:36:37 -08:00 |
|
Benoit Steiner
|
780623261e
|
Re-enabled the optimized reduction CUDA code.
|
2016-01-11 09:07:14 -08:00 |
|
Jeremy Barnes
|
403a7cb6c3
|
Alternative way of forcing instantiation of device kernels without
causing warnings or requiring device to device kernel invocations.
This allows Tensorflow to work on SM 3.0 (ie, Amazon EC2) machines.
|
2016-01-10 22:39:13 -05:00 |
|
Benoit Steiner
|
e76904af1b
|
Simplified the dispatch code.
|
2016-01-08 16:50:57 -08:00 |
|
Benoit Steiner
|
3358dfd5dd
|
Reworked the dispatch of optimized cuda reduction kernels to workaround a nvcc bug that prevented the code from compiling in optimized mode in some cases
|
2016-01-08 16:28:53 -08:00 |
|
Benoit Steiner
|
cfff40b1d4
|
Improved the performance of reductions on CUDA devices
|
2016-01-04 17:25:00 -08:00 |
|
Benoit Steiner
|
b5d2078c4a
|
Optimized outer reduction on GPUs.
|
2015-12-22 15:06:17 -08:00 |
|