Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REMOVE reconstruction and 2d skeleton. #40

Merged
merged 5 commits into from
Mar 19, 2025

Conversation

petrasvestartas
Copy link
Contributor

@petrasvestartas petrasvestartas commented Mar 19, 2025

Temporary changes:

  • removal of reconstruction
  • removal 2d skeleton
  • added cmake flag to increase memory.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@tomvanmele tomvanmele merged commit 1dc285b into compas-dev:main Mar 19, 2025
11 checks passed
@jf---
Copy link

jf--- commented Mar 19, 2025

Whoa @petrasvestartas @tomvanmele; both straight skeleton and reconstruction are very useful tools. IIRC @romanarust worked quite a bit on straight skeleton and I think it's important too.

The changelog doesn't mention a motivation why to remove these methods -- could you enlighten us?

@tomvanmele
Copy link
Member

tomvanmele commented Mar 19, 2025

we're changing the build system. everything is working well but there are some memory problems with the conda builds for windows. these are just temporary test releases to work through the problem. everything will be resolved by end of day tomorrow.

all of this is necessary to be able to switch to latest cgal, resolve slow resolution times with conda installs, and general problems with some of the dependencies on some systems...

@tomvanmele
Copy link
Member

and as an added bonus, after that compas_cgal will be available directly from PyPI.

@jf---
Copy link

jf--- commented Mar 20, 2025

Thanks for the heads-up @tomvanmele

just temporary test releases to work through the problem

I see; but somewhat confusing for such operations to land in the main branch over a refactor branch?

we're changing the build system

CGAL is a bit of a monster so that figures

switch to latest cgal

Wow!

Thanks for providing context!

@petrasvestartas
Copy link
Contributor Author

petrasvestartas commented Mar 20, 2025

@jf---

I see; but somewhat confusing for such operations to land in the main branch over a refactor branch?

In the current setup, there is no other way to test conda releases other than from the main branch when releases are made. At least this is how current setup is made. Unless we will make a specific branch for conda releases.

Also, we can do a dummy repo, but we do not want to populate conda with temporary packages, as the name cannot be removed same as PYPI.

@tomvanmele
Copy link
Member

@petrasvestartas after we get the current build stuff sorted out, perhaps we can start working on a system of separate branches for releases etc.

@jf---
Copy link

jf--- commented Mar 20, 2025

Hi @petrasvestartas

(great to see the compas_cgal its a part of compas I'm extra fond of ;) )

test conda releases

Ah, I suppose its the emphasis on the releases (vs local builds)
Are you aware of https://github.com/nektos/act which allow for GH action to be ran locally ?

dummy repo / temp packages

Oh gosh no, but that does clarify things.

Did the yanked modules stall the refactor?

@tomvanmele
Copy link
Member

Did the yanked modules stall the refactor?

those modules created memory problems during the build process for windows, but only on conda. locally there were no issues. @petrasvestartas is working on a solution with the codebase split up into smaller chunks, and we will try to control the number of parallel processes during the windows builds if we can...

@petrasvestartas
Copy link
Contributor Author

@jf--- Everything works, that worked before, including the reconstruction and 2d skeleton.

Hooray!

@jf---
Copy link

jf--- commented Mar 20, 2025

Amazing... is pybind11 -> nanobind a worthy upgrade?

@petrasvestartas
Copy link
Contributor Author

ReadMe file explains the history and reasoning:

https://github.com/wjakob/nanobind

@lrineau
Copy link

lrineau commented Mar 31, 2025

@petrasvestartas What was the issue with CGAL 2D skeleton and reconstruction?

This PR was supposed to be temporary, but according to the changelog, releases including le last one (v0.8.0) have been shipped with those two features removed.

Maybe the CGAL project was help you reintroduce them. Please let us know (starting here).

@petrasvestartas
Copy link
Contributor Author

petrasvestartas commented Mar 31, 2025

@lrineau very nice to hear from cgal developer:)

This was a temporary removal. It is currently working and brought back to the main repository.
C++ project was hitting the limit of maximum RAM used in heap memory during CMake build. This was a temporary removal to check if conda would build the package and it did with almost the maximum cloud memory limit available.

Then decision was made to split the project into multiple targets since boost, eigen, cgal and nanobind are heavily templated thus needs more memory. Also conda is now build without multithreading to reduce the memory needed.

Local builds had no problem, only conda was hitting the memory limit.

It is for sure a bit strange, because we are using just a very few cgal methods.

@tomvanmele
Copy link
Member

@petrasvestartas the changelog is now a bit confusing indeed. we wrote that the methods were removed, albeit temporarily, but never wrote that they were reintroduced. perhaps we should update it retroactively...

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.

4 participants