Skip to content

[SofaCUDA] SofaCUDA is now a meta-plugin of two plugins: SofaCUDA.Core and SofaCUDA.Component#5973

Open
fredroy wants to merge 11 commits intosofa-framework:masterfrom
fredroy:sofacuda_split_core_components
Open

[SofaCUDA] SofaCUDA is now a meta-plugin of two plugins: SofaCUDA.Core and SofaCUDA.Component#5973
fredroy wants to merge 11 commits intosofa-framework:masterfrom
fredroy:sofacuda_split_core_components

Conversation

@fredroy
Copy link
Contributor

@fredroy fredroy commented Feb 26, 2026

the big boi of these PRs

The main point of this PR was to split the tools/core stuff of SofaCUDA and the different component (either specializations or just new instanciations) (+ the GUI done in a previous PR)

A nice side-effect is that plugins depending on SofaCUDA and implementing new components of whatever can now just depends on SofaCUDA.Core.

Screenshot 2026-02-26 at 11 07 47

There are still some confusions such as

  • the namespaces and directories: I kept the old sofa::gpu::cuda for the core ones for not breaking too much. But I can do it 🤫
  • uppercase/lowercase for the (ported) includes directories. This is a plugin so the (non-official) guidelines should be "SofaCUDA/Core/blabla.h" and "SofaCUDA/Component/blabla.h", but this is emulating Sofa so it could be "sofacuda/core/blabla.h" and "sofacuda/component/blabla.h" . In the current situation, I kept the mix of the two "SofaCUDA/core" and "SofaCUDA/component" because "SofaCUDA/component" was already used... 🤪

It is breaking obviously, but the runtime behavior should be preserved (i.e compat with the scenes)


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@fredroy fredroy added pr: breaking Change possibly inducing a compilation error pr: status to review To notify reviewers to review this pull-request pr: clean Cleaning the code pr: highlighted in next release Highlight this contribution in the notes of the upcoming release topic for next dev-meeting PR to be discussed in sofa-dev meeting pr: based on previous PR PR based on a previous PR, therefore to be merged ONLY subsequently labels Feb 26, 2026
@fredroy fredroy force-pushed the sofacuda_split_core_components branch 2 times, most recently from 741ad22 to bda8535 Compare February 26, 2026 04:06
@hugtalbot
Copy link
Contributor

I think this matters for @sofa-framework/reviewers and possibly @courtecuisse

@hugtalbot hugtalbot removed the topic for next dev-meeting PR to be discussed in sofa-dev meeting label Feb 27, 2026
@fredroy fredroy force-pushed the sofacuda_split_core_components branch from bda8535 to d21c82a Compare March 3, 2026 01:26
@bakpaul
Copy link
Contributor

bakpaul commented Mar 5, 2026

So I tried multiple scenes. the python ones you provided work. In the examples some worked and some didn't, so I checkout only this PR to verify if we have regression or not. And it seems to be no regression.

@hugtalbot hugtalbot added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels Mar 12, 2026
@fredroy fredroy force-pushed the sofacuda_split_core_components branch from d21c82a to 24ecb52 Compare March 13, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: based on previous PR PR based on a previous PR, therefore to be merged ONLY subsequently pr: breaking Change possibly inducing a compilation error pr: clean Cleaning the code pr: highlighted in next release Highlight this contribution in the notes of the upcoming release pr: status ready Approved a pull-request, ready to be squashed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants