Skip to content

Commit

Permalink
Optimize Jacobi eigensolver (WIP) (#847)
Browse files Browse the repository at this point in the history
* use Amat, Jmat
* change order of Amat, Jmat
* snapshot before changing args to offd_rotate
* use Jsh shared memory
* development snapshot
* debug snapshot
* option to use Jsh in offd_rotate
* use lmemsizeOR
* change launch config for offd_rotate
* snapshot use Jsh for offd_kernel
* generalized offd_kernel
* update diag_rotate
* minor update to comments
* update gridOR, threadsOR for offd_rotate
* add option to use original offd_rotate()
* use original algorithm for small problems
* update idx2D for int32_t, add commonly used ceil function
* use std::min, std::max, remove lambda idx2D
* remove host idx2D
* update with improvement to syevj
* remove lambda for ceil()
* add __device__ for ceil()
  • Loading branch information
EdDAzevedo authored Nov 21, 2024
1 parent 38c7a3a commit fe1960f
Show file tree
Hide file tree
Showing 3 changed files with 1,055 additions and 69 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ Full documentation for rocSOLVER is available at the [rocSOLVER documentation](h
### Changed
### Removed
### Optimized

* Improved the performance of SYEVJ

### Resolved issues
### Known issues
### Upcoming changes
Expand Down
10 changes: 10 additions & 0 deletions library/src/include/lib_host_helpers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,16 @@ __device__ __host__ inline int64_t
return j * lda + i * inca;
}

__device__ __host__ inline int32_t ceil(const int32_t n, const int32_t nb)
{
return ((n - 1) / nb) + 1;
}

__device__ __host__ inline int64_t ceil(const int64_t n, const int64_t nb)
{
return ((n - 1) / nb) + 1;
}

template <typename T>
T const* cast2constType(T* array)
{
Expand Down
Loading

0 comments on commit fe1960f

Please sign in to comment.