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/38ee563c-38eb-42d4-9529-0e4514c531c9n%40googlegroups.com.

Reply via email to