Hi Yves,

For sure you can have a couple of timing tests on your own, they should 
help you get familiar with using this package. If you just wish to have a 
general idea on the scaling though, we have a paper on this package for 
your reference https://www.mdpi.com/2227-9717/9/10/1813.

Thank you,
Ruochun

On Friday, June 10, 2022 at 5:28:52 AM UTC-5 [email protected] wrote:

> Hello,
>
> I think now I understand, thank you for the thorough explanation.
> I will run the code for few steps slowly increasing the number of 
> particles and reporting the runtime per step to see when the scaling 
> becomes linear. 
>
> I guess I had not timed the code execution up to now, so removing the 
> runtime visualization might have helped a bit.
> I indeed was talking about a frame, that is a mistake I make a lot, my 
> apologies for not being clear on this point.
>
> Thank you once again for your helpful answers!
>
> Yves
>
> On Thursday, June 9, 2022 at 11:29:29 PM UTC+3 Ruochun Zhang wrote:
>
>> Hi Yves,
>>
>> For the question regarding the performance, I am not completely 
>> surprised, because for smaller problems (less than something like 10k 
>> particles), various overheads dominate the runtime (such as the overhead 
>> for launching kernel functions), so the total runtime is probably not 
>> sensitive to the problem size. Only for larger problems it shows a linear 
>> scaling. However on the other hand I do expect *some* time savings if you 
>> shrink the problem size by a factor of 100~1000. If you meant the runtime 
>> did not change at all after you enlarge the particle size by 10 times, then 
>> probably you are somehow completely I/O bound, and it may be related to 
>> that you are using runtime visualization, since host--device communication 
>> is a big overhead. And by the way, 5 minutes for a frame may be possible, 
>> but 5 minutes for a *time step* is not normal, but I assume you meant frame.
>>
>> Paraview is a common choice for visualization. If you apply Glyph(sphere) 
>> filter to the particles with correct radius, you will see the particles at 
>> around Z=-10 are hexagonal close-packed and fixed. We use them to represent 
>> a ground that has some geometrical roughness.
>>
>> Thank you,
>> Ruochun
>>
>> On Thursday, June 9, 2022 at 10:41:12 AM UTC-5 [email protected] 
>> wrote:
>>
>>> It is actually running, just very slowly! 
>>>
>>> However, I still have some questions. Since as you said my GPU is not 
>>> the most efficient, I modified the JSON file and multiplied the radius of 
>>> the particles by 10.
>>> It should lower the number of particles by a lot and make the runtime 
>>> visualization feasible. And it does, as the first screenshot shows (still 
>>> not responding as soon as I click on it though...). 
>>>
>>> However, the time for an iteration is the same as if I did not change 
>>> the radius, meaning that it takes more or less 5 minutes per time step.
>>> I do not really understand, as I would expect it to be very fast with 
>>> several tens of particles. Do you see a reason for that?
>>>
>>> Also, I have been using Paraview for visualization of the particles (is 
>>> it what Chrono users usually use?) and got the result shown on my second 
>>> screenshot.
>>> What are these points at Z=-10?
>>>
>>> Thank you for your support, I really appreciate it.
>>>
>>> Yves
>>>
>>> On Thursday, June 9, 2022 at 6:23:38 PM UTC+3 Ruochun Zhang wrote:
>>>
>>>> It's probably running, you can check if there is an output folder 
>>>> created and if there are output csv files inside it. I usually disable 
>>>> runtime visualization for GPU scripts, it tends to be too large to be done 
>>>> efficiently. For GTX1050 on Windows, I am not sure but maybe several 
>>>> hours' 
>>>> runtime can be expected, if you are to finish the entire demo.
>>>>
>>>> Ruochun
>>>>
>>>> On Thursday, June 9, 2022 at 9:34:53 AM UTC-5 [email protected] 
>>>> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I indeed double-clicked. Now, with the Powershell, providing an input 
>>>>> file as argument (exactly what you provided in your answer), it outputs 
>>>>> some text, and creates a windows that freezes instantaneously, and 
>>>>> nothing 
>>>>> happens after that (Not responding).
>>>>>
>>>>> The output I get is the following:
>>>>>
>>>>> Reading parameters: ../data/gpu/demo_GPU_repose.json
>>>>> --- Parsing JSON ---
>>>>> params.sphere_radius 0.100000
>>>>> params.sphere_density 2.800000
>>>>> params.box_X 40.000000
>>>>> params.box_Y 40.000000
>>>>> params.box_Z 40.000000
>>>>> params.time_end 10.000000
>>>>> params.grav_X 0.000000
>>>>> params.grav_Y 0.000000
>>>>> params.grav_Z -980.000000
>>>>> params.normalStiffS2S 100000000.000000
>>>>> params.normalStiffS2W 100000000.000000
>>>>> params.normalStiffS2M 100000000.000000
>>>>> params.normalDampS2S 1000000.000000
>>>>> params.normalDampS2W 1000000.000000
>>>>> params.normalDampS2M 1000000.000000
>>>>> params.tangentStiffS2S 100000000.000000
>>>>> params.tangentStiffS2W 100000000.000000
>>>>> params.tangentStiffS2M 100000000.000000
>>>>> params.tangentDampS2S 1000000.000000
>>>>> params.tangentDampS2W 1000000.000000
>>>>> params.tangentDampS2M 1000000.000000
>>>>> params.static_friction_coeffS2S 0.750000
>>>>> params.static_friction_coeffS2W 0.750000
>>>>> params.static_friction_coeffS2M 0.750000
>>>>> params.rolling_friction_coeffS2S 0.000000
>>>>> params.rolling_friction_coeffS2W 0.000000
>>>>> params.rolling_friction_coeffS2M 0.000000
>>>>> params.cohesion_ratio 0.000000
>>>>> params.adhesion_ratio_s2w 0.000000
>>>>> params.psi_T 32
>>>>> params.psi_L 16
>>>>> params.output_dir repose
>>>>> params.write_mode csv
>>>>> params.step_size 0.000002
>>>>> --------------------
>>>>> Added 60761 granular material points
>>>>> Added 45030 fixed (ground) points
>>>>> In total, added 105791
>>>>> Version: 3.3.0
>>>>> NVIDIA Corporation : NVIDIA GeForce GTX 1050/PCIe/SSE2 (3.3.0 NVIDIA 
>>>>> 512.96)
>>>>>  >> GLSL: 3.30 NVIDIA via Cg compiler
>>>>>  # of shapes : 1
>>>>> 240 240 0 240
>>>>>  # of shapes : 1
>>>>> 26 26 0 36
>>>>>  # of shapes : 1
>>>>> 74 74 0 144
>>>>>  # of shapes : 1
>>>>> 49 49 0 72
>>>>> Initialize Viewer : GL_INVALID_ENUM
>>>>> frame step is 0.0333333
>>>>>
>>>>>
>>>>> This happens with both Release and Debug, with the exact same output.
>>>>> I feel I am close to the solution. Is it anything you experienced in 
>>>>> the past?
>>>>>
>>>>> Best regards,
>>>>> Yves
>>>>>
>>>>> On Thursday, June 9, 2022 at 4:27:57 PM UTC+3 Ruochun Zhang wrote:
>>>>>
>>>>>> Hi Yves,
>>>>>>
>>>>>> If you just double-clicked the executable and found the prompt closed 
>>>>>> shortly after launching, then you should instead use a Windows-based 
>>>>>> command line terminal to run them (Powershell?). This will allow you to 
>>>>>> see 
>>>>>> the output/error message.
>>>>>>
>>>>>> Remember you'll typically have to supply a JSON file as an input 
>>>>>> argument, something like "*.\demo_GPU_repose.exe 
>>>>>> demo_GPU_repose.json*". You should try that from a terminal. That's 
>>>>>> the only suggestion I can infer from your description.
>>>>>>
>>>>>> Thank you,
>>>>>> Ruochun
>>>>>>
>>>>>> On Thursday, June 9, 2022 at 4:17:23 AM UTC-5 [email protected] 
>>>>>> wrote:
>>>>>>
>>>>>>> Sorry for the multiple messages, but I figured it might be good for 
>>>>>>> you to have access to my build logs. Here is the one with Debug, 
>>>>>>> knowing 
>>>>>>> that I get the same results and output with the Release one.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Yves
>>>>>>>
>>>>>>> On Thursday, June 9, 2022 at 8:57:43 AM UTC+3 Yves Eric Maxime 
>>>>>>> Robert wrote:
>>>>>>>
>>>>>>>> Thank you for your answer.
>>>>>>>>
>>>>>>>> I have been trying to use WSL for days, but it never worked. So I 
>>>>>>>> proceeded to a clean installation with Windows, following the 
>>>>>>>> instructions 
>>>>>>>> of the website, using the same software (SourceTree, CMake, VS2022). I 
>>>>>>>> installed CUDA as well.
>>>>>>>>
>>>>>>>> Here is a zipped folder containing all the advanced CMake 
>>>>>>>> information.
>>>>>>>>
>>>>>>>> Thank you for your help,
>>>>>>>> Yves
>>>>>>>>
>>>>>>>> On Thursday, June 9, 2022 at 5:54:06 AM UTC+3 Ruochun Zhang wrote:
>>>>>>>>
>>>>>>>>> Hi Yves,
>>>>>>>>>
>>>>>>>>> Most likely the environment is the problem and it can be the 
>>>>>>>>> tricky one. You are running on Windows, not WSL, right? Also, maybe 
>>>>>>>>> you 
>>>>>>>>> should show your "Advanced" options so we have an idea about how your 
>>>>>>>>> CUDA 
>>>>>>>>> environment/paths are set.
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> Ruochun
>>>>>>>>>
>>>>>>>>> On Wednesday, June 8, 2022 at 12:33:01 PM UTC-5 
>>>>>>>>> [email protected] wrote:
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> Sorry about that, I must have unchecked the box when taking the 
>>>>>>>>>> screenshot.
>>>>>>>>>> The compilation has been done with the GPU module, which is why I 
>>>>>>>>>> have access to the GPU demos.
>>>>>>>>>>
>>>>>>>>>> Do you have an idea of why it does not work?
>>>>>>>>>>
>>>>>>>>>> Thank you,
>>>>>>>>>> Yves
>>>>>>>>>>
>>>>>>>>>> On Wednesday, June 8, 2022 at 7:13:52 PM UTC+3 Ruochun Zhang 
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Yves, 
>>>>>>>>>>>
>>>>>>>>>>> You should enable Chrono::GPU module. It's the GPU-based physics 
>>>>>>>>>>> module and right now it is Chrono's dedicated granular simulator, 
>>>>>>>>>>> those 
>>>>>>>>>>> demos need that.
>>>>>>>>>>>
>>>>>>>>>>> Thank you,
>>>>>>>>>>> Ruochun
>>>>>>>>>>>
>>>>>>>>>>> On Wednesday, June 8, 2022 at 9:09:03 AM UTC-5 
>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hello everybody,
>>>>>>>>>>>>
>>>>>>>>>>>> I am new to Chrono, but would want to run a simulation which 
>>>>>>>>>>>> should be very close to what the repose demo found in Chrono::GPU, 
>>>>>>>>>>>> to the 
>>>>>>>>>>>> exception that I need some recent additions to the code, so I have 
>>>>>>>>>>>> to use 
>>>>>>>>>>>> the feature/GPU branch. So everything that follows is with that 
>>>>>>>>>>>> branch.
>>>>>>>>>>>>
>>>>>>>>>>>> I already compiled Chrono following the tutorial for Windows in 
>>>>>>>>>>>> the past and could run several demos. But having now access to a 
>>>>>>>>>>>> NVIDIA 
>>>>>>>>>>>> GPU, I installed CUDA and additional dependencies, and followed 
>>>>>>>>>>>> the 
>>>>>>>>>>>> instructions again. I saw that OpenGL was important to have to be 
>>>>>>>>>>>> able to 
>>>>>>>>>>>> run this repose demo, so I also compiled it. Here is how my CMake 
>>>>>>>>>>>> window 
>>>>>>>>>>>> looks:
>>>>>>>>>>>> [image: cmake.png]
>>>>>>>>>>>> It  got built well on VS2022, with all succeeded and 1 skipped.
>>>>>>>>>>>>
>>>>>>>>>>>> With that, I can run all demos with their executables (IRR, 
>>>>>>>>>>>> Postprocess, ...), except for the GPU ones. The ball drop one 
>>>>>>>>>>>> shows a 
>>>>>>>>>>>> terminal with values and outputs files, and that's the only one. 
>>>>>>>>>>>> The rest 
>>>>>>>>>>>> just crashes with no output as soon as I click on the executable. 
>>>>>>>>>>>>
>>>>>>>>>>>> My guess was that I do not have the granular module enabled, 
>>>>>>>>>>>> and from the documentation I need that. However, I cannot find it, 
>>>>>>>>>>>> and 
>>>>>>>>>>>> cannot find how to install it. 
>>>>>>>>>>>>
>>>>>>>>>>>> Could you please help me figure that out? 
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you,
>>>>>>>>>>>> Yves
>>>>>>>>>>>>
>>>>>>>>>>>

-- 
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/fd898c7d-4ca4-4763-b2f5-aa53055277cfn%40googlegroups.com.

Reply via email to