Skip to content

Add VectorHandler class to GridKit#480

Merged
pelesh merged 10 commits into
developfrom
slaven/vector-handler
Jul 9, 2026
Merged

Add VectorHandler class to GridKit#480
pelesh merged 10 commits into
developfrom
slaven/vector-handler

Conversation

@pelesh

@pelesh pelesh commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Description

The VectorHandler class adds portable BLAS operations for `GridKit::LinearAlgebra::Vector.

CC @shakedregev @abdourahmanbarry

Proposed changes

Port BLAS operations implemented in Re::Solve library to GridKit and re-use portability features from there.

BLAS operations are needed to support GridKit's native numerical integrator based on Rosenbrock method (see #479).

Checklist

  • All tests pass.
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows GridKit™ style guidelines.
  • There are unit tests for the new code.
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • I have updated CHANGELOG.md to reflect the changes in this PR. If this is a minor PR that is part of a larger fix already included in the file, state so.

Further comments

We should consider whether to separate sparse BLAS operations from Re::Solve into a separate library that could be reused between multiple applications.

@pelesh pelesh self-assigned this Jul 8, 2026
@pelesh pelesh requested review from abdourahmanbarry, alexander-novo, lukelowry and nkoukpaizan and removed request for abdourahmanbarry July 8, 2026 17:14
@pelesh pelesh added enhancement New feature or request new solver labels Jul 8, 2026
Comment thread GridKit/LinearAlgebra/Vector/VectorHandlerCpu.cpp Outdated
Comment thread GridKit/LinearAlgebra/Vector/VectorHandlerCpu.cpp
@pelesh pelesh mentioned this pull request Jul 8, 2026
7 tasks
pelesh and others added 2 commits July 8, 2026 13:36
Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>
Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>
Comment thread tests/UnitTests/LinearAlgebra/Vector/VectorHandlerTests.hpp
Comment thread tests/UnitTests/LinearAlgebra/Vector/VectorHandlerTests.hpp Outdated
Comment thread tests/UnitTests/LinearAlgebra/Vector/VectorHandlerTests.hpp Outdated
Comment thread tests/UnitTests/LinearAlgebra/Vector/VectorHandlerTests.hpp Outdated

@shakedregev shakedregev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still need to test this, but overall looks good. Very minor comment changes.

pelesh and others added 5 commits July 8, 2026 14:24
…sts.hpp

Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>
…sts.hpp

Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>

@shakedregev shakedregev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and looks good. Add a changelog update and make sure to run CI.

@alexander-novo alexander-novo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once int template instantiations are added for all of the new Vector types, everything works properly with the new Rosenbrock integrator.

Comment thread GridKit/LinearAlgebra/Vector/VectorHandler.cpp

@lukelowry lukelowry left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One issue I think I spotted. It is good to see our local library chugging along! Thank you

Comment thread GridKit/LinearAlgebra/Vector/VectorHandlerCpu.cpp
@pelesh pelesh merged commit c099ac0 into develop Jul 9, 2026
17 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request new solver

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants