Unverified Commit fa8612ff authored by David's avatar David Committed by GitHub

Fixes memory leak in SDF calculation - warp doesn't free memory (#2680)

# Description

Thanks to Matteo Grimaldi, Saleh Nabi and Wonju Lee for identifying the
source of this memory leak.

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html
-->

Add garbage collector calls since warp doesn't handle well the free
memory.

Fixes #2679 

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix

## Screenshots

Before this change - the experiment hasn't been completed on 64GB RAM
machines.
After  this change it requires less than 12GB RAM.
<!--
Example:

| Before | After |
| ------ | ----- |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->
![Screenshot 2025-06-12 at 18 31
38](https://github.com/user-attachments/assets/695de828-2f9d-4714-aae3-5d9831ae6e77)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------
Signed-off-by: 's avatarDavid <ddleon@outlook.co.il>
Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
parent 3d82782b
...@@ -122,6 +122,7 @@ Guidelines for modifications: ...@@ -122,6 +122,7 @@ Guidelines for modifications:
* Zhengyu Zhang * Zhengyu Zhang
* Ziqi Fan * Ziqi Fan
* Zoe McCarthy * Zoe McCarthy
* David Leon
## Acknowledgements ## Acknowledgements
......
...@@ -38,6 +38,8 @@ Contains functions that implement Simulation-Aware Policy Update (SAPU), SDF-Bas ...@@ -38,6 +38,8 @@ Contains functions that implement Simulation-Aware Policy Update (SAPU), SDF-Bas
Not intended to be executed as a standalone script. Not intended to be executed as a standalone script.
""" """
# Force garbage collection for large arrays
import gc
import numpy as np import numpy as np
import os import os
...@@ -150,8 +152,14 @@ def get_sdf_reward( ...@@ -150,8 +152,14 @@ def get_sdf_reward(
sdf_reward[i] = torch.mean(sdf_dist) sdf_reward[i] = torch.mean(sdf_dist)
del mesh_copy
del mesh_points
del mesh_indices
del sampled_points
sdf_reward = -torch.log(sdf_reward) sdf_reward = -torch.log(sdf_reward)
gc.collect() # Force garbage collection to free memory
return sdf_reward return sdf_reward
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment