-
Notifications
You must be signed in to change notification settings - Fork 476
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
[Feature] Proposal for design of new memory manager in C++ #416
Comments
The proposal looks good to me. A question would be how will you plan to integrate the c++ code into the python codebase? Could you give some examples of how to integrate? |
Hi @dongyuanjushi, Thanks for reviewing the proposal. We are planning to use a C++ library called
Usage in Python
|
We can also create a wrapper over the C++ class in Python if we need to expose a Python module. Something like this
In any case, our core C++ implementation will not change. So we can move forward by first writing a C++ implementation. |
This looks sound. You can go ahead for the first iteration of this implementation. During development, it would be necessary to update the installation and launch script as it introduces c++ compilation. |
Btw it could be necessary to give a the time/space efficiency comparison between the c++ version after integration and the pure python version. |
Can you elaborate on time/space efficiency comparison? Are we looking for benchmark results between Python and C++ implementation? |
One quick question on the single memory manager class. I can see a function named address_request, but it only uses a single operation_type. How are we using other functions? It seems we are not, so how do we currently manage memory in the runtime? |
How is the memory module currently being utilized? The paper indicates that it is intended for tasks like context switching, but at the moment, it doesn't appear to be functioning in that capacity. It would be helpful to have a brief sync to discuss the project's current status. |
For now, the memory manager is not fully integrated yet. After integration, the agent will call the memory api from cerebrum (https://github.com/agiresearch/Cerebrum) to invoke memory system calls in the memory manager. |
The memory system calls are expected to have five different calls: alloc, read, write, delete, retrieve. |
Checked other resources
The feature, motivation and pitch
Please find the proposal doc here: https://docs.google.com/document/d/1ZX3daMbhELwOUsCx46_EWUeGbdsj5RLcaRi3P8dZtKc/edit?usp=sharing
cc: @dongyuanjushi
Alternatives
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: