eigen/Eigen
Antonio Sanchez 070d303d56 Add CUDA complex sqrt.
This is to support scalar `sqrt` of complex numbers `std::complex<T>` on
device, requested by Tensorflow folks.

Technically `std::complex` is not supported by NVCC on device
(though it is by clang), so the default `sqrt(std::complex<T>)` function only
works on the host. Here we create an overload to add back the
functionality.

Also modified the CMake file to add `--relaxed-constexpr` (or
equivalent) flag for NVCC to allow calling constexpr functions from
device functions, and added support for specifying compute architecture for
NVCC (was already available for clang).
2020-12-22 23:25:23 -08:00
..
src Add CUDA complex sqrt. 2020-12-22 23:25:23 -08:00
Cholesky bug #1455: Cholesky module depends on Jacobi for rank-updates. 2017-08-22 11:37:32 +02:00
CholmodSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00
Core Drop EIGEN_USING_STD_MATH in favour of EIGEN_USING_STD 2020-10-09 02:05:05 +02:00
Dense
Eigen Sparse is stable now, so Eigen/Eigen should include Sparse 2013-10-02 23:31:59 +02:00
Eigenvalues Old gcc versions have problems with recursive #pragma GCC diagnostic push/pop 2018-08-28 11:44:15 +02:00
Geometry Enable SSE vectorization of Quaternion and cross3() with AVX 2019-02-23 10:45:40 +01:00
Householder Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
IterativeLinearSolvers Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
Jacobi Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
KLUSupport Move KLU support to official 2017-11-10 14:11:22 +01:00
LU Unify Inverse_SSE.h and Inverse_NEON.h into a single generic implementation using PacketMath. 2020-11-17 12:27:01 +00:00
MetisSupport Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
OrderingMethods Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
PardisoSupport Extend CUDA support to matrix inversion and selfadjointeigensolver 2018-06-11 18:33:24 +02:00
PaStiXSupport clarify Pastix requirements 2017-11-27 22:11:57 +01:00
QR Old gcc versions have problems with recursive #pragma GCC diagnostic push/pop 2018-08-28 11:44:15 +02:00
QtAlignedMalloc bug #1468 (1/2) : add missing std:: to memcpy 2017-09-22 09:23:24 +02:00
Sparse Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
SparseCholesky Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
SparseCore bug #1101: typo 2015-10-30 12:02:52 +01:00
SparseLU Fix numerous shadow-warnings for GCC<=4.8 2018-08-28 18:32:39 +02:00
SparseQR Old gcc versions have problems with recursive #pragma GCC diagnostic push/pop 2018-08-28 11:44:15 +02:00
SPQRSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00
StdDeque bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
StdList bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
StdVector bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
SuperLUSupport bug #1119: Adjust call to ?gssvx for SuperLU 5 2016-07-10 02:29:57 +02:00
SVD use MKL's lapacke.h header when using MKL 2017-08-17 21:58:39 +02:00
UmfPackSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00