mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-22 08:52:15 +08:00
Merged eigen/eigen into default
This commit is contained in:
commit
6d781e3e52
@ -47,10 +47,6 @@
|
|||||||
#define EIGEN_DEVICE_FUNC
|
#define EIGEN_DEVICE_FUNC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(EIGEN_USE_SYCL)
|
|
||||||
#define EIGEN_DONT_VECTORIZE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// When compiling CUDA device code with NVCC, pull in math functions from the
|
// When compiling CUDA device code with NVCC, pull in math functions from the
|
||||||
// global namespace. In host mode, and when device doee with clang, use the
|
// global namespace. In host mode, and when device doee with clang, use the
|
||||||
// std versions.
|
// std versions.
|
||||||
|
@ -877,8 +877,11 @@ struct Assignment<DstXprType, SrcXprType, Functor, EigenBase2EigenBase, Weak>
|
|||||||
src.evalTo(dst);
|
src.evalTo(dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NOTE The following two functions are templated to avoid their instanciation if not needed
|
||||||
|
// This is needed because some expressions supports evalTo only and/or have 'void' as scalar type.
|
||||||
|
template<typename SrcScalarType>
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
static EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::add_assign_op<typename DstXprType::Scalar,typename SrcXprType::Scalar> &/*func*/)
|
static EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::add_assign_op<typename DstXprType::Scalar,SrcScalarType> &/*func*/)
|
||||||
{
|
{
|
||||||
Index dstRows = src.rows();
|
Index dstRows = src.rows();
|
||||||
Index dstCols = src.cols();
|
Index dstCols = src.cols();
|
||||||
@ -889,8 +892,9 @@ struct Assignment<DstXprType, SrcXprType, Functor, EigenBase2EigenBase, Weak>
|
|||||||
src.addTo(dst);
|
src.addTo(dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename SrcScalarType>
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
static EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::sub_assign_op<typename DstXprType::Scalar,typename SrcXprType::Scalar> &/*func*/)
|
static EIGEN_STRONG_INLINE void run(DstXprType &dst, const SrcXprType &src, const internal::sub_assign_op<typename DstXprType::Scalar,SrcScalarType> &/*func*/)
|
||||||
{
|
{
|
||||||
Index dstRows = src.rows();
|
Index dstRows = src.rows();
|
||||||
Index dstCols = src.cols();
|
Index dstCols = src.cols();
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#undef isinf
|
#undef isinf
|
||||||
#undef isfinite
|
#undef isfinite
|
||||||
#include <SYCL/sycl.hpp>
|
#include <SYCL/sycl.hpp>
|
||||||
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
@ -94,6 +94,10 @@ struct QueueInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EIGEN_STRONG_INLINE void deallocate_all() const {
|
||||||
|
buffer_map.clear();
|
||||||
|
}
|
||||||
|
|
||||||
EIGEN_STRONG_INLINE std::map<const uint8_t *, cl::sycl::buffer<uint8_t,1>>::iterator find_buffer(const void* ptr) const {
|
EIGEN_STRONG_INLINE std::map<const uint8_t *, cl::sycl::buffer<uint8_t,1>>::iterator find_buffer(const void* ptr) const {
|
||||||
auto it1 = buffer_map.find(static_cast<const uint8_t*>(ptr));
|
auto it1 = buffer_map.find(static_cast<const uint8_t*>(ptr));
|
||||||
if (it1 != buffer_map.end()){
|
if (it1 != buffer_map.end()){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user