Skip to content

[lapack][rocSOLVER] Implement LU batch routines - #780

Open
zjin-lcf wants to merge 2 commits into
uxlfoundation:developfrom
zjin-lcf:feature/rocsolver-lu-batch
Open

zjin-lcf wants to merge 2 commits into
uxlfoundation:developfrom
zjin-lcf:feature/rocsolver-lu-batch

Conversation

@zjin-lcf

Copy link
Copy Markdown
Contributor

Summary

  • implement strided and grouped getrf_batch, getrs_batch, and getri_batch for buffer and USM APIs
  • use rocSOLVER 64-bit batched getrf/getrs entry points on rocSOLVER 3.26+, with legacy fallbacks for older releases
  • retain checked 32-bit pivot conversion for getri, which has no 64-bit rocSOLVER entry point
  • make USM temporary-storage lifetimes explicit and add the corresponding scratchpad queries

Extracted from #767 for focused review. Depends on #778 for shared batched info handling and version detection; until that PR merges, this branch intentionally includes its foundation commit.

Test plan

  • clang-format 19.1 check
  • git diff --check
  • rocSOLVER backend and RT/CT test binaries build for gfx90a
  • focused getrf_batch/getrs_batch runtime tests on MI210 with ONEAPI_DEVICE_SELECTOR=hip:*: 40 passed
  • local getri_batch execution is blocked by an assertion in the custom DPC++ runtime's device-kernel registration before the rocSOLVER call; CI should exercise this path with the supported toolchain

The legacy pre-3.26 fallback is retained for compatibility; the local ROCm 7.1 installation exercises the 64-bit getrf/getrs paths.

zjin-lcf and others added 2 commits September 18, 2026 15:41
Add type-generic devInfo readers for legacy and 64-bit rocSOLVER entry points and report all failing matrices through lapack::batch_error.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@zjin-lcf
zjin-lcf requested a review from a team as a code owner September 18, 2026 23:10

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant