aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h
Commit message (Collapse)AuthorAge
* Support manually disabling exceptionsHEADmasterGravatar Benjamin Barenblat2021-07-07
| | | | | Rename EIGEN_EXCEPTIONS to EIGEN_USE_EXCEPTIONS, and allow disabling exceptions with -DEIGEN_USE_EXCEPTIONS=0.
* [SYCL] Rebasing the SYCL support branch on top of the Einge upstream master ↵Gravatar Mehdi Goli2019-11-28
| | | | | | | | | | | | | | | | | | | | | | branch. * Unifying all loadLocalTile from lhs and rhs to an extract_block function. * Adding get_tensor operation which was missing in TensorContractionMapper. * Adding the -D method missing from cmake for Disable_Skinny Contraction operation. * Wrapping all the indices in TensorScanSycl into Scan parameter struct. * Fixing typo in Device SYCL * Unifying load to private register for tall/skinny no shared * Unifying load to vector tile for tensor-vector/vector-tensor operation * Removing all the LHS/RHS class for extracting data from global * Removing Outputfunction from TensorContractionSkinnyNoshared. * Combining the local memory version of tall/skinny and normal tensor contraction into one kernel. * Combining the no-local memory version of tall/skinny and normal tensor contraction into one kernel. * Combining General Tensor-Vector and VectorTensor contraction into one kernel. * Making double buffering optional for Tensor contraction when local memory is version is used. * Modifying benchmark to accept custom Reduction Sizes * Disabling AVX optimization for SYCL backend on the host to allow SSE optimization to the host * Adding Test for SYCL * Modifying SYCL CMake
* [SYCL] :Gravatar Mehdi Goli2019-07-01
| | | | | | | * Modifying TensorDeviceSYCL to use `EIGEN_THROW_X`. * Modifying TensorMacro to use `EIGEN_TRY/CATCH(X)` macro. * Modifying TensorReverse.h to use `EIGEN_DEVICE_REF` instead of `&`. * Fixing the SYCL device macro in SpecialFunctionsImpl.h.
* [SYCL] This PR adds the minimum modifications to the Eigen unsupported ↵Gravatar Mehdi Goli2019-06-28
| | | | | | | | | | module required to run it on devices supporting SYCL. * Abstracting the pointer type so that both SYCL memory and pointer can be captured. * Converting SYCL virtual pointer to SYCL device memory in Eigen evaluator class. * Binding SYCL placeholder accessor to command group handler by using bind method in Eigen evaluator node. * Adding SYCL macro for controlling loop unrolling. * Modifying the TensorDeviceSycl.h and SYCL executor method to adopt the above changes.
* Fix typos found using codespellGravatar Gael Guennebaud2018-06-07
|
* Changes required for new ComputeCpp CE version.Gravatar Mehdi Goli2017-09-18
|
* Merged in mehdi_goli/opencl/SYCLAlignAllocator (pull request PR-7)Gravatar Benoit Steiner2017-05-26
|\ | | | | | | Fixing SYCL alignment issue required by TensorFlow.
| * Applying Ronnan's comments.Gravatar Mehdi Goli2017-05-26
| |
| * Applying Benoit's comment;removing dead code.Gravatar Mehdi Goli2017-05-25
| |
| * Fixing SYCL alignment issue required by TensorFlow.Gravatar Mehdi Goli2017-05-22
| |
* | Fixing suported device list.Gravatar Mehdi Goli2017-05-22
|/
* Introduces align allocator for SYCL bufferGravatar Luke Iwanski2017-03-20
|
* Fixes bug in get_sycl_supported_devices() that was reporting unsupported ↵Gravatar Luke Iwanski2017-03-15
| | | | Intel CPU on AMD platform - causing timeouts in that configuration
* Use name to distinguish name instead of the vendorGravatar Luke Iwanski2017-03-08
|
* Adding sycl Benchmarks.Gravatar Mehdi Goli2017-03-08
|
* Fixing potential race condition on sycl device.Gravatar Mehdi Goli2017-03-07
|
* Adding TensorIndexTuple and TensorTupleReduceOP backend (ArgMax/Min) for ↵Gravatar Mehdi Goli2017-03-07
| | | | sycl; fixing the address space issue for const TensorMap; converting all discard_write to write due to data missmatch.
* Adding sycl backend for TensorCustomOp; fixing the partial lhs modification ↵Gravatar Mehdi Goli2017-02-28
| | | | issue on sycl when the rhs is TensorContraction, reduction or convolution; Fixing the partial modification for memset when sycl backend is used.
* Reducing warnings in Sycl backend.Gravatar Mehdi Goli2017-02-01
|
* Fixing the buffer type in memcpy.Gravatar Mehdi Goli2017-01-30
|
* Allows AMD APUGravatar Luke Iwanski2017-01-23
|
* Reverting back to the previous TensorDeviceSycl.h as the total number of ↵Gravatar Mehdi Goli2017-01-20
| | | | buffer is not enough for tensorflow.
* Removing unused variablesGravatar Mehdi Goli2017-01-19
|
* Adding non-deferrenciable pointer track for ComputeCpp backend; Adding ↵Gravatar Mehdi Goli2017-01-19
| | | | TensorConvolutionOp for ComputeCpp; fixing typos. modifying TensorDeviceSycl to use the LegacyPointer class.
* Reverting asynchronous exec to Synchronous exec regarding random race condition.Gravatar Mehdi Goli2016-12-22
|
* Merged eigen/eigen into defaultGravatar Benoit Steiner2016-12-16
|\
| * Fixed memcpy, memcpyHostToDevice and memcpyDeviceToHost for Sycl.Gravatar Benoit Steiner2016-12-16
| |
* | Converting all parallel for lambda to functor in order to prevent kernel ↵Gravatar Mehdi Goli2016-12-16
|/ | | | duplication name error; adding tensorConcatinationOp backend for sycl.
* Adding asynchandler to sycl queue as lack of it can cause undefined behaviour.Gravatar Mehdi Goli2016-12-15
|
* Adding asynchronous execution as it improves the performance.Gravatar Mehdi Goli2016-12-14
|
* Adding tensor contraction operation backend for Sycl; adding test for ↵Gravatar Mehdi Goli2016-12-14
| | | | contractionOp sycl backend; adding temporary solution to prevent memory leak in buffer; cleaning up cxx11_tensor_buildins_sycl.h
* Adding sycl backend for TensorPadding.h; disbaling __unit128 for sycl in ↵Gravatar Mehdi Goli2016-12-01
| | | | TensorIntDiv.h; disabling cashsize for sycl in tensorDeviceDefault.h; adding sycl backend for StrideSliceOP ; removing sycl compiler warning for creating an array of size 0 in CXX11Meta.h; cleaning up the sycl backend code.
* Moved the MemCopyFunctor back to TensorSyclDevice since it's the only caller ↵Gravatar Benoit Steiner2016-11-30
| | | | and it makes TensorFlow compile again
* Added the deallocate_all() method backGravatar Benoit Steiner2016-11-30
|
* Added EIGEN_STRONG_INLINE to get_sycl_supported_device().Gravatar Luke Iwanski2016-11-30
|
* Adding TensorShuffling backend for sycl; adding TensorReshaping backend for ↵Gravatar Mehdi Goli2016-11-29
| | | | sycl; cleaning up the sycl backend.
* Fixing LLVM error on TensorMorphingSycl.h on GPU; fixing int64_t crash for ↵Gravatar Mehdi Goli2016-11-25
| | | | tensor_broadcast_sycl on GPU; adding get_sycl_supported_devices() on syclDevice.h.
* Removing unsupported device from test case; cleaning the tensor device sycl.Gravatar Mehdi Goli2016-11-23
|
* Made the QueueInterface thread safeGravatar Benoit Steiner2016-11-20
|
* Merged eigen/eigen into defaultGravatar Benoit Steiner2016-11-20
|\
| * Fixed a typoGravatar Benoit Steiner2016-11-20
| |
| * Fixed merge conflictsGravatar Benoit Steiner2016-11-19
| |
* | Made it possible to check the state of a sycl device without synchronizationGravatar Benoit Steiner2016-11-19
|/
* Added the ability to run test exclusively OpenCL devices that are listed by ↵Gravatar Benoit Steiner2016-11-18
| | | | sycl::device::get_devices().
* Cleaned up the sycl device codeGravatar Benoit Steiner2016-11-18
|
* adding Benoit changes on the TensorDeviceSycl.hGravatar Mehdi Goli2016-11-18
|
* Modifying TensorDeviceSycl.h to always create buffer of type uint8_t and ↵Gravatar Mehdi Goli2016-11-18
| | | | convert them to the actual type at the execution on the device; adding the queue interface class to separate the lifespan of sycl queue and buffers,created for that queue, from Eigen::SyclDevice; modifying sycl tests to support the evaluation of the results for both row major and column major data layout on all different devices that are supported by Sycl{CPU; GPU; and Host}.
* Added a way to detect errors generated by the opencl device from the hostGravatar Benoit Steiner2016-11-17
|
* CleanupGravatar Benoit Steiner2016-11-17
|
* Created a test to check that the sycl runtime can successfully report errors ↵Gravatar Benoit Steiner2016-11-17
| | | | | | (like ivision by 0). Small cleanup