Commit Graph

10 Commits

Author SHA1 Message Date
Benoit Steiner
029052d276 Deleted redundant code 2015-12-03 17:08:47 -08: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
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
ccf290a65c Cleaned up the TensorDevice code a little bit. 2015-03-25 12:37:38 -07:00
Benoit Steiner
a6a628ca6b Added the -= operator to the device classes 2015-03-19 23:22:19 -07:00
Benoit Steiner
99d75235a9 Misc improvements and cleanups 2014-10-13 17:02:09 -07:00
Benoit Steiner
38ab7e6ed0 Reworked the expression evaluation mechanism in order to make it possible to efficiently compute convolutions and contractions in the future:
* The scheduling of computation is moved out the the assignment code and into a new TensorExecutor class
 * The assignment itself is now a regular node on the expression tree
 * The expression evaluators start by recursively evaluating all their subexpressions if needed
2014-06-13 09:56:51 -07:00
Benoit Steiner
925fb6b937 TensorEval are now typed on the device: this will make it possible to use partial template specialization to optimize the strategy of each evaluator for each device type.
Started work on partial evaluations.
2014-06-10 09:14:44 -07:00
Benoit Steiner
6fa6cdd2b9 Added support for tensor contractions
Updated expression evaluation mechanism to also compute the size of the tensor result
Misc fixes and improvements.
2014-06-04 09:21:48 -07:00
Benoit Steiner
7402fea0a8 Vectorized the evaluation of tensor expression (using SSE, AVX, NEON, ...)
Added the ability to parallelize the evaluation of a tensor expression over multiple cpu cores.
Added the ability to offload the evaluation of a tensor expression to a GPU.
2014-05-16 15:08:05 -07:00