This fixes an issue where the compiler was not choosing the GPU specific specialization of ScanLauncher.

The issue was discovered when the GPU scan unit test was run and resulted in a segmentation fault.

The segmantation fault occurred because the unit test allocated GPU memory and passed a pointer to that memory to the computation that it presumed would execute on the GPU.

But because of the issue, the computation was scheduled to execute on the CPU so a situation was constructed where the CPU attempted to access a GPU memory location.

The fix expands the GPU specific ScanLauncher specialization to handle cases where vectorization is enabled.

Previously, the GPU specialization is chosen only if Vectorization is not used.
1 file changed
tree: f56474975bde98d84cb0aaba059872b4c281a9c1
  1. .gitlab/
  2. bench/
  3. blas/
  4. ci/
  5. cmake/
  6. debug/
  7. demos/
  8. doc/
  9. Eigen/
  10. failtest/
  11. lapack/
  12. scripts/
  13. test/
  14. unsupported/
  15. .gitignore
  16. .gitlab-ci.yml
  17. .hgeol
  18. CMakeLists.txt
  19. COPYING.APACHE
  20. COPYING.BSD
  21. COPYING.GPL
  22. COPYING.LGPL
  23. COPYING.MINPACK
  24. COPYING.MPL2
  25. COPYING.README
  26. CTestConfig.cmake
  27. CTestCustom.cmake.in
  28. eigen3.pc.in
  29. INSTALL
  30. README.md
  31. signature_of_eigen3_matrix_library
README.md

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.