Go to file
Antonio Sanchez 45e67a6fda Use reinterpret_cast on GPU for bit_cast.
This seems to be the recommended approach for doing type punning in
CUDA. See for example
- https://stackoverflow.com/questions/47037104/cuda-type-punning-memcpy-vs-ub-union
- https://developer.nvidia.com/blog/faster-parallel-reductions-kepler/
(the latter puns a double to an `int2`).
The issue is that for CUDA, the `memcpy` is not elided, and ends up
being an expensive operation.  We already have similar `reintepret_cast`s across
the Eigen codebase for GPU (as does TensorFlow).
2021-10-20 21:34:40 +00:00
.gitlab Add GitLab templates for issues and merge requests 2021-03-31 16:01:12 +00:00
bench Replace memset with fill to work for non-trivial scalars. 2021-07-08 18:34:41 +00:00
blas Do not build shared libs if not supported 2021-08-06 20:48:32 +00:00
ci Fix some typos found 2021-09-23 15:22:00 +00:00
cmake Fix Windows CMake compiler/OS detection. 2021-10-02 16:30:38 +00:00
debug Add LLDB Pretty Printer 2021-09-07 17:28:24 +00:00
demos Avoid leading underscore followed by cap in template identifiers 2021-08-04 22:41:52 +00:00
doc fix various typos 2021-09-22 16:15:06 +00:00
Eigen Use reinterpret_cast on GPU for bit_cast. 2021-10-20 21:34:40 +00:00
failtest Bump CMake files to at least c++11. 2021-08-25 20:07:48 +00:00
lapack Add missing dependency on LAPACK test suite binaries to target buildtests, so make check will work correctly when EIGEN_ENABLE_LAPACK_TESTS is ON. 2021-08-30 21:49:08 +00:00
scripts Replace calls to "hg" by calls to "git" 2019-12-04 11:24:06 +01:00
test Fix tuple compilation for VS2017. 2021-10-20 19:18:34 +00:00
unsupported Disable Tree reduction for GPU. 2021-10-20 20:42:37 +00:00
.gitignore New CI infrastructure, including AArch64 runners 2020-09-11 18:11:49 +00:00
.gitlab-ci.yml Add CI infrastructure for pre-merge smoke tests. 2021-04-01 00:08:37 +00:00
.hgeol
CMakeLists.txt Rename EIGEN_CUDA_FLAGS to EIGEN_CUDA_CXX_FLAGS 2021-09-24 20:15:55 -07:00
COPYING.APACHE Add Apache 2.0 license text in COPYING.APACHE. 2020-06-18 12:45:27 -07:00
COPYING.BSD Make file formatting comply with POSIX and Unix standards 2020-03-23 18:09:02 +00:00
COPYING.GPL
COPYING.LGPL
COPYING.MINPACK Make file formatting comply with POSIX and Unix standards 2020-03-23 18:09:02 +00:00
COPYING.MPL2
COPYING.README
CTestConfig.cmake
CTestCustom.cmake.in
eigen3.pc.in
INSTALL
README.md Update old links to bitbucket to point to gitlab.com 2019-12-04 10:57:07 +01:00
signature_of_eigen3_matrix_library

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

For more information go to http://eigen.tuxfamily.org/.

For pull request, bug reports, and feature requests, go to https://gitlab.com/libeigen/eigen.