Gael Guennebaud
1625476091
Add internall::is_identity compile-time helper
2018-07-11 14:00:24 +02:00
Gael Guennebaud
fe723d6129
Fix conversion warning
2018-07-10 09:10:32 +02:00
Gael Guennebaud
9357838f94
bug #1543 : improve linear indexing for general block expressions
2018-07-10 09:10:15 +02:00
Gael Guennebaud
de9e31a06d
Introduce the macro ei_declare_local_nested_eval to help allocating on the stack local temporaries via alloca, and let outer-products makes a good use of it.
...
If successful, we should use it everywhere nested_eval is used to declare local dense temporaries.
2018-07-09 15:41:14 +02:00
Gael Guennebaud
6190aa5632
bug #1567 : add optimized path for tensor broadcasting and 'Channel First' shape
2018-07-09 11:23:16 +02:00
Gael Guennebaud
ec323b7e66
Skip null numerators in triangular-vector-solve (as in BLAS TRSV).
2018-07-09 11:13:19 +02:00
Gael Guennebaud
359dd77ec3
Fix legitimate "declaration shadows a typedef" warning
2018-07-09 11:03:39 +02:00
Deven Desai
e2b2c61533
merging from master
2018-06-20 16:47:45 -04:00
Deven Desai
1bb6fa99a3
merging the CUDA and HIP implementation for the Tensor directory and the unit tests
2018-06-20 16:44:58 -04:00
Deven Desai
cfdabbcc8f
removing the *Hip files from the unsupported/Eigen/CXX11/src/Tensor and unsupported/test directories
2018-06-20 12:57:02 -04:00
Deven Desai
7e41c8f1a9
renaming *Cuda files to *Gpu in the unsupported/Eigen/CXX11/src/Tensor and unsupported/test directories
2018-06-20 12:52:30 -04:00
Deven Desai
ee73ae0a80
Merged eigen/eigen into default
2018-06-20 12:37:11 -04:00
Mark D Ryan
90a53ca6fd
Fix the Packet16h version of ptranspose
...
The AVX512 version of ptranpose for PacketBlock<Packet16h,16> was
reordering the PacketBlock argument incorrectly. This lead to errors in
the multiplication of matrices composed of 16 bit floats on AVX512
machines, if at least of the matrices was using RowMajor order. This
error is responsible for one tensorflow unit test failure on AVX512
machines:
//tensorflow/python/kernel_tests:batch_matmul_op_test
2018-06-16 15:13:06 -07:00
Gael Guennebaud
1f54164eca
Fix a few issues with Packet16h
2018-07-07 00:15:07 +02:00
Gael Guennebaud
f2dc048df9
complete implementation of Packet16h (AVX512)
2018-07-06 17:43:11 +02:00
Gael Guennebaud
a937c50208
palign is not used anymore, so let's relax the unit test
2018-07-06 17:41:52 +02:00
Gael Guennebaud
56a33ae57d
test product kernel with half-floats.
2018-07-06 17:14:04 +02:00
Gael Guennebaud
f4d623ffa7
Complete Packet8h implementation and test it in packetmath unit test
2018-07-06 17:13:36 +02:00
Gael Guennebaud
a8ab6060df
Add unitests for inverse and selfadjoint-eigenvalues on CUDA
2018-07-06 09:58:45 +02:00
Gael Guennebaud
b8271bb368
fix md5sum of lapack_addons
2018-06-15 14:21:29 +02:00
Deven Desai
b6cc0961b1
updates based on PR feedback
...
There are two major changes (and a few minor ones which are not listed here...see PR discussion for details)
1. Eigen::half implementations for HIP and CUDA have been merged.
This means that
- `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h`
- `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h`
- `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h`
After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install.
2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate.
- `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)`
- `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)`
- `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
2018-06-14 10:21:54 -04:00
Deven Desai
ba972fb6b4
moving Half headers from CUDA dir to GPU dir, removing the HIP versions
2018-06-13 12:26:18 -04:00
Deven Desai
d1d22ef0f4
syncing this fork with upstream
2018-06-13 12:09:52 -04:00
Benoit Steiner
d3a380af4d
Merged in mfigurnov/eigen/gamma-der-a (pull request PR-403)
...
Derivative of the incomplete Gamma function and the sample of a Gamma random variable
Approved-by: Benoit Steiner <benoit.steiner.goog@gmail.com>
2018-06-11 17:57:47 +00:00
Andrea Bocci
f7124b3e46
Extend CUDA support to matrix inversion and selfadjointeigensolver
2018-06-11 18:33:24 +02:00
Gael Guennebaud
0537123953
bug #1565 : help MSVC to generatenot too bad ASM in reductions.
2018-07-05 09:21:26 +02:00
Gael Guennebaud
6a241bd8ee
Implement custom inplace triangular product to avoid a temporary
2018-07-03 14:02:46 +02:00
Gael Guennebaud
3ae2083e23
Make is_same_dense compatible with different scalar types.
2018-07-03 13:21:43 +02:00
Gael Guennebaud
67ec37f7b0
Activate dgmres unit test
2018-07-02 12:54:14 +02:00
Gael Guennebaud
047677a08d
Fix regression in changeset f05dea6b23
...
: computeFromHessenberg can take any expression for matrixQ, not only an HouseholderSequence.
2018-07-02 12:18:25 +02:00
Gael Guennebaud
d625564936
Simplify redux_evaluator using inheritance, and properly rename parameters in reducers.
2018-07-02 11:50:41 +02:00
Gael Guennebaud
d428a199ab
bug #1562 : optimize evaluation of small products of the form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to save a costly temporary. Measured speedup from 2x to 5x...
2018-07-02 11:41:09 +02:00
Gael Guennebaud
a7b313a16c
Fix unit test
2018-07-01 22:45:47 +02:00
Gael Guennebaud
0cdacf3fa4
update comment
2018-06-29 11:28:36 +02:00
Gael Guennebaud
54f6eeda90
Merged in net147/eigen (pull request PR-411)
...
Use std::complex constructor instead of assignment from scalar
2018-06-28 21:01:04 +00:00
Gael Guennebaud
9a81de1d35
Fix order of EIGEN_DEVICE_FUNC and returned type
2018-06-28 00:20:59 +02:00
Jonathan Liu
b7689bded9
Use std::complex constructor instead of assignment from scalar
...
Fixes GCC conversion to non-scalar type requested compile error when
using boost::multiprecision::cpp_dec_float_50 as scalar type.
2018-06-28 00:32:37 +10:00
Gael Guennebaud
f9d337780d
First step towards a generic vectorised quaternion product
2018-06-25 14:26:51 +02:00
Gael Guennebaud
ee5864f72e
bug #1560 fix product with a 1x1 diagonal matrix
2018-06-25 10:30:12 +02:00
Rasmus Munk Larsen
2f62cc68cd
merge
2018-06-22 15:09:44 -07:00
Rasmus Munk Larsen
bda71ad394
Fix typo in pbend for AltiVec.
2018-06-22 15:04:35 -07:00
Benoit Steiner
b6ffcd22e3
Merged in rmlarsen/eigen2 (pull request PR-409)
...
Fix oversharding bug in parallelFor.
2018-06-21 18:34:57 +00:00
Gael Guennebaud
4cc32d80fd
bug #1555 : compilation fix with XLC
2018-06-21 10:28:38 +02:00
Rasmus Munk Larsen
5418154a45
Fix oversharding bug in parallelFor.
2018-06-20 17:51:48 -07:00
Gael Guennebaud
cb4c9a6a94
bug #1531 : make dedicatd unit testing for NumDimensions
2018-06-08 17:11:45 +02:00
Gael Guennebaud
d6813fb1c5
bug #1531 : expose NumDimensions for solve and sparse expressions.
2018-06-08 16:55:10 +02:00
Gael Guennebaud
89d65bb9d6
bug #1531 : expose NumDimensions for compatibility with Tensor
2018-06-08 16:50:17 +02:00
Gael Guennebaud
f05dea6b23
bug #1550 : prevent avoidable memory allocation in RealSchur
2018-06-08 10:14:57 +02:00
Gael Guennebaud
7933267c67
fix prototype
2018-06-08 09:56:01 +02:00
Gael Guennebaud
f4d1461874
Fix the way matrix folder is passed to the tests.
2018-06-08 09:55:46 +02:00