Hi, thank you very much for your help! After last mail, I choosed to use the multicore, the simulation took 2 hours every time now, because I was constantly adding requests and features and the number of bodies comes to 10k. Meanwhile, I bought a 3080 and a new computer. I am considering using the reinforcement learning afterwards, so it is important to improve the simulation speed. I have studied your response several times,I am wondering if I can only use Chrono::GPU for my particle-related content, and all other content remains the same, such as multi-core acceleration, loading my own obj. More specifically, I plan to use both ChSystemMulticoreSMC and ChSystemGpuMesh. When compile the project, there are errors "LNK2019:Unresolvable external symbols" in every functions defined in GPU and used in the Muticore and I feel this is a deeper issue involving linkers. So I would like to ask for guidance or is there another way to use the Chrono::GPU as a DEMsolver only for the particles. And I learned something about projectchrono <https://github.com/projectchrono>/DEM-Engine <https://github.com/projectchrono/DEM-Engine>, but I found how to Install DEM-Engine and the DEM-Engine usage are still waiting to be added, I would love to try it if I could. Thank you again!
在2022年9月24日星期六 UTC+8 14:45:22<Ruochun Zhang> 写道: > Hi, > > The GPU module does benefit a lot from more recent hardware. If your test > case does not feature a huge number of bodies, say some 10k, then multicore > can be a good choice. It probably requires less learning from you too. > > It should be noted that Chrono::GPU is not "Chrono on GPU". Most Chrono > core classes and methods cannot be used in Chrono::GPU. For all > purposes, Chrono::GPU can be seen as a standalone DEM solver for > monodisperse spherical particles, implemented on GPU. It should be used to > simulate granular materials, and it can interact with Chrono (core) so that > it becomes possible to bring a small number of more complex objects (such > as your spoon) into the simulation as well. So if you would like to use > Chrono::GPU, you have to start from its demos, to learn how to use its own > methods to instantiate and manage granular particles. Chrono::GPU's main > advantage is being fast. If your simulation has to involve millions of > granular particles, then multicore will not do and GPU is the choice. > > More specifically, *CreateCylindricalContainerFromBoxes* is not a > Chrono::GPU thing at all. *cohesion_ratio* is about the cohesion between > Chrono::GPU particles, and it has nothing to do with gravity, which is set > by *SetGravitationalAcceleration* in Chrono::GPU. > > On a different note, Chrono's DEM/granular support on GPU is moving > towards a new direction. The support for complex granular particle shapes > will be added and it will become a duo-GPU solver. It will be based on SBEL's > new DEM Engine <https://github.com/uwsbel/DEM-Engine>. Apart from being > more general and having higher efficiency, the usage of it is similar to > Chrono::GPU, as a standalone helper to Chrono core which manages the > granular part of the simulation, or work on its own as a dedicated DEM > solver. If from the previous conversation you believe Chrono::GPU is for > you, then likely this package will be of interest. More documentations and > user guides are being added to it. But again, it does benefit from recent > GPUs though. > > Thank you, > Ruochun > > On Sunday, September 18, 2022 at 2:13:24 AM UTC-5 [email protected] wrote: > >> hello there, >> I am tring to perform a simulation which I want to put an object like a >> spoon and scoop the sand(granular objects) to see the force in the process. >> I find that demo_GPU_mixer.cpp demo can be referenced, but I am not sure >> whether I need to add a container holding those sand and give the granular >> objects gravity. If this is so, should I use >> *CreateCylindricalContainerFromBoxes* to add container and use >> *cohesion_ratio* in the .json to add the gravity? Also, I am sad that I >> have a poor GPU so that it really take a long long time to run the gpu >> module. >> Then I find that there are also some granular objects demos in the >> multicore module, I find some demos about a container with granular >> material. And I can run those demos faster. >> Now I am confused about what thing to do next is much better. >> >> Any help will be appreciated, thank you so much in advance. >> > -- You received this message because you are subscribed to the Google Groups "ProjectChrono" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/93b4c6b6-1e45-4805-b1d8-aeeb36abb852n%40googlegroups.com.
