projectchrono / dem-engine Goto Github PK
View Code? Open in Web Editor NEWA dual-GPU DEM solver with complex grain geometry support
License: Other
A dual-GPU DEM solver with complex grain geometry support
License: Other
I am compiling DEME with CUDA 12.0 and Visual Studio 2019, and I am trying to run the demo examples in debug mode. Initially, I encountered a runtime error:
The variable 'new_stream' is being used without being initialized
I uncommented the following line where the error occurred:
cudaStreamCreate(&new_stream);
When I ran the program again, I encountered another error:
Unhandled exception at 0x00007FFEF9A632CF (nvcuda64.dll) (in DEMdemo_BallDrop2D.exe): 0xC0000006: An error in the page (status code 0x0000000900960118) occurred while reading at position 0x0000000900960118.
cudaStreamCreate(&new_stream);
.The demo should run without causing runtime errors or exceptions.
An unhandled exception occurs at runtime, specifically in nvcuda64.dll
.
The variable 'new_stream' is being used without being initialized
cudaStreamCreate(&new_stream);
:
Unhandled exception at 0x00007FFEF9A632CF (nvcuda64.dll) (in DEMdemo_BallDrop2D.exe): 0xC0000006: An error in the page (status code 0x0000000900960118) occurred while reading at position 0x0000000900960118.
I am unsure if this error is due to incorrect code or insufficient device computing power.
when i install the python package of DEME, there is an error that "coult not build wheels for deme, which is required to install pyproject.toml-based projects". could any one give me a help? thanks!
The DEM-Engine implementation of PDSampler
seems to have a flaw: every time we call it again, it has the same random state.
Indeed, when the user calls the SampleCylinderZ
for instance (observed with other sampling functions), the same set of random positions is sampled. The minimal example shows the issue.
import DEME
import matplotlib.pyplot as plt
for i in range(10):
sampler = DEME.PDSampler(0.1)
pos = sampler.SampleCylinderZ([0,0,0], 0.5, 0)
x = [p[0] for p in pos]
y = [p[1] for p in pos]
plt.scatter(x,y, label=i, alpha=0.2)
print(len(pos))
plt.legend(loc='center left', bbox_to_anchor=[1.05,0.5], title='Batch #')
The printed text is a series of "56", meaning that the length of the sampled positions is always the same.
The obtained figure is the following:
We can clearly see that each set of points overlaps the others. The expected behavior would be something like the one shown in a (less efficient) Python sampler I made (prints 55, 58, 53, 54, ... as lengths):
Additional suggestion: an additional boolean argument to DEME.PDSampler
called (or similar to) keep_history that would allow the users to choose if they want to keep the previously sampled positions or erase the history every time a new sampling is applied.
Hi, thank you for this project!
Since you mention the Docker container is available, could you please add the source Dockefile?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.