Skip to content

Conversation

@avik-pal
Copy link
Member

@avik-pal avik-pal commented Oct 16, 2023

@ChrisRackauckas
Copy link
Member

Conflicts

@avik-pal avik-pal changed the title Setup for using Banded Structures in BVP [WIP] Setup for using Banded Structures in BVP Oct 18, 2023
@avik-pal avik-pal force-pushed the ap/banded branch 3 times, most recently from 7b2e9ba to ee607ad Compare October 19, 2023 14:12
@avik-pal
Copy link
Member Author

@ChrisRackauckas should we go ahead with this? If using CUDA / AMDGPU then we throw a fairly obvious error. Supporting it properly needs some custom cuda kernels (the state of CUSPARSE seems weird with most operations sending the arrays back to CPU)

@avik-pal avik-pal changed the title [WIP] Setup for using Banded Structures in BVP Setup for using Banded Structures in BVP Oct 19, 2023
@ChrisRackauckas ChrisRackauckas merged commit e9c8a4c into SciML:master Oct 19, 2023
@ChrisRackauckas
Copy link
Member

Supporting it properly needs some custom cuda kernels (the state of CUSPARSE seems weird with most operations sending the arrays back to CPU)

Yes. GPU needs a lot more. It needs custom kernel generation for how to construct the Jacobian, and then special CUSPARSE routines where we use the ilu0 (which is missing ldiv!'s). It needs more work, let's do that part separately.

@avik-pal avik-pal deleted the ap/banded branch October 19, 2023 16:52
@avik-pal
Copy link
Member Author

The CUDA part will unfortunately be a massive blocker if we want to Neural BVPs 😞

@ChrisRackauckas
Copy link
Member

At least MultipleShooting is ready for CUDA?

@avik-pal
Copy link
Member Author

Need to test, but most likely no. It also specializes heavily on sparsity patterns

@avik-pal
Copy link
Member Author

For the purposes of Neural BVP if we avoid passing in the jacobian function and just use GMRES we should be good to go (I think)

@ChrisRackauckas
Copy link
Member

Yes that should be the case. Jacobian-free should be fine. Anything with a Jacobian involved will take more work (but be better overall). But that's why I had it as a separate project 😅

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.

2 participants