This bugzilla service is closed. All entries have been migrated to
Bug 1470 - SelfAdjointEigenSolver crashes when running with cuda
Summary: SelfAdjointEigenSolver crashes when running with cuda
Status: NEW
Alias: None
Product: Eigen
Classification: Unclassified
Component: Eigenvalues (show other bugs)
Version: 3.3 (current stable)
Hardware: GPU (CUDA) Linux
: Normal Crash
Assignee: Nobody
Depends on:
Reported: 2017-09-19 17:11 UTC by Arash Ushani
Modified: 2019-12-04 17:12 UTC (History)
4 users (show)


Description Arash Ushani 2017-09-19 17:11:54 UTC
If I try to run the SelfAdjointEigenSolver solver in a __device__ function, I get an "illegal memory access" error reported by cuda. The same code runs without issue as a __host__ function. Taking a quick look through the source code, I noticed there are still calls to std functions (such as std::abs) in SelfAdjointEigenSolver, even through there seem to be macros intended to be used for exactly such a scenario to get these to operate properly on the device. Could this be the issue?
Comment 1 Gael Guennebaud 2017-09-26 08:11:38 UTC
Only SelfAdjointEigenSolver::directCompute with 2x2 and 3x3 real matrices is supported on CUDA.

To make SelfAdjointEigenSolver fully CUDA compatible we need to write lightweight kernels for triangular products, householder reflectors, etc. so it's not as trivial as adding __device__ to more functions.
Comment 2 Nobody 2019-12-04 17:12:29 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance:

Note You need to log in before you can comment on or make changes to this bug.