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

Develop resizable container for Edge3d and Bezier3d #322

Open
yungyuc opened this issue Apr 28, 2024 · 2 comments
Open

Develop resizable container for Edge3d and Bezier3d #322

yungyuc opened this issue Apr 28, 2024 · 2 comments
Labels
pilot GUI and visualization

Comments

@yungyuc
Copy link
Member

yungyuc commented Apr 28, 2024

In World class template Edge3d and Bezier3d are kept in std::deque. The use of STL container does not offer flexible resource management. We should develop dedicated containers for Edge3d and Bezier3d. SimpleCollector may be considered as a building block.

@yungyuc yungyuc added the drawer label Apr 28, 2024
@yungyuc yungyuc added pilot GUI and visualization and removed drawer labels Jun 2, 2024
@Tucchhaa
Copy link
Contributor

We need to create dedicated containers, so that we can line up memory correctly. We need this so we can use GPU (CUDA) for computations. Correct me if I'm wrong)

So, here's the question: How can I figure out how data should be lined up? Or is it doesn't matter at this point, and we should just develop the functionality for lining up those data?

@yungyuc
Copy link
Member Author

yungyuc commented Jun 23, 2024

Aligning memory is just one item in the scope of resource management. While STL provides the allocator for customizing memory management, it is not a comprehensive interface for managing all resources. A dedicated container type removes the concerns. The development of a resource-savvy container will not follow a sequentially itemized course. Instead, it will be an evolutionary process consisting of improvement requests from applications.

Answer to your question in short: It does not matter how data should be aligned at the moment. It has been shown that we do not need to worry about alignment now: #307 (comment) . It will be an issue, like when we want to use GPU. But I think the time of using metal for GPU will come sooner than that of using CUDA.

Edge3d and Bezier3d are part of a (not-yet-materialized) prototype of mesh generator (mesher) for the multi-dimensional CESE solver. Making the mesher is not of a high priority because most users already have the meshes done.

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

No branches or pull requests

2 participants