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

Support the runtime as a dynamic / shared library (only)? #26130

Open
bradcray opened this issue Oct 23, 2024 · 2 comments
Open

Support the runtime as a dynamic / shared library (only)? #26130

bradcray opened this issue Oct 23, 2024 · 2 comments

Comments

@bradcray
Copy link
Member

In a few conversations recently, such as #26024 (comment), we've been discussing how Chapel libraries tend to have their own private copy of the runtime bundled in with them, such that if multiple libraries are used, or a Chapel library is used with a Chapel program, we end up with multiple copies of the runtime, each of which would like to own hardware resources (like pinning threads to cores).

This issue asks a question that's come up from time to time over the years: What would it take to structure our runtime as a dynamic / shared library that was loaded independently of any specific Chapel executable or library, such that if multiple things with a process needed the runtime, they'd all share that single library instance rather than each getting and initializing their own?

@bradcray
Copy link
Member Author

@dlongnecke-cray : I filed this based on our conversation earlier this week

@mppf
Copy link
Member

mppf commented Oct 24, 2024

IMO the main challenge here is that the runtime uses the ftable (and probably a few other things that are code-generated tables / arrays) just by linking to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants