Skip to content

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

Open
fredroy wants to merge 18 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 18 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.

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 to review To notify reviewers to review this pull-request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants