FAQ  •  Login

PROJECT TOPIC 2: Collision Detection on the GPU

Moderator: Dan Negrut

<<

Dan Negrut

Global Moderator
Global Moderator

Posts: 833

Joined: Wed Sep 03, 2008 12:24 pm

Unread post Tue Mar 01, 2011 6:18 pm

PROJECT TOPIC 2: Collision Detection on the GPU

Please post here questions related to this project topic.

For starters, please indicate that you adopt this as your Midterm Project topic.

Topic coordinator: Arman Pazouki.

Thank you,
Dan
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Thu Mar 10, 2011 9:57 am

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Can I get the "set of input files redivided by the TA" as stated in Dan's PDF?

Which file should I download from http://code.google.com/p/bullet/downloads/list ?
Is this the correct library (Bullet)?
<<

ArmanP

Newbie
Newbie

Posts: 28

Joined: Wed Feb 16, 2011 12:02 pm

Unread post Thu Mar 10, 2011 11:32 am

Re: PROJECT TOPIC 2: Collision Detection on the GPU

ME964BrianD wrote:Can I get the "set of input files redivided by the TA" as stated in Dan's PDF?

Which file should I download from http://code.google.com/p/bullet/downloads/list ?
Is this the correct library (Bullet)?


If you are interested, you can download the latest version, e.g. bullet-2.77.zip. However, in the VS solution provided for this project, you have the essential libraries, therefore there is no need to download bullet.
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Thu Mar 10, 2011 12:09 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Which appears can now be found at http://sbel.wisc.edu/Courses/ME964/2011/index.htm under Midterm Project.
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Thu Mar 10, 2011 12:10 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Which when I select the link I get

Not Found

The requested URL /Courses/ME964/2011/MidtermProject/CollisionDetectionProject.zip was not found on this server.
Apache/2.2.9 (Debian) mod_auth_kerb/5.3 PHP/5.2.6-1+lenny9+cae2 with Suhosin-Patch mod_pubcookie/3.3.3 mod_ssl/2.2.9 OpenSSL/0.9.8g Server at sbel.wisc.edu Port 80
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Thu Mar 10, 2011 12:12 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Ok so right click save as worked.
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Thu Mar 10, 2011 12:17 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

I spoke too soon:
Windows cannot open the folder Compressed (zipped) Folder 'C:\Users\bdavis\Downloads\CollisionDetectionProject.zip' is invalid
<<

Andrew Seidl

Administrator
Administrator

Posts: 193

Joined: Thu Oct 28, 2010 11:54 am

Unread post Thu Mar 10, 2011 12:29 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

I'm guessing the files haven't been posted yet, so you ended up just saving the error page, albeit with a .zip extension.
<<

ArmanP

Newbie
Newbie

Posts: 28

Joined: Wed Feb 16, 2011 12:02 pm

Unread post Thu Mar 10, 2011 2:19 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Sounds like the problem is solved.
<<

ArmanP

Newbie
Newbie

Posts: 28

Joined: Wed Feb 16, 2011 12:02 pm

Unread post Mon Mar 14, 2011 4:03 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

REHAN AHMED,
KWANG CHOI,
BRIAN DAVIS,
ZIGFRIED HAMPEL-ARIAS,
MICHAEL LOECHER,
HAMMAD MAZHAR,
KUYA TAKAMI,
ANDREW KOKEMOOR,

have planned to work on this topic.
<<

Dan Negrut

Global Moderator
Global Moderator

Posts: 833

Joined: Wed Sep 03, 2008 12:24 pm

Unread post Tue Mar 22, 2011 2:16 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

A sample final report for a past Midterm Project is available here:
http://sbel.wisc.edu/Courses/ME964/2011/MidtermProject/midtermProjectReport.doc
Dan
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Sat Mar 26, 2011 2:34 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

I extraced the project, wrote some code, but when I try to debug using VS debugger (not NSight) to look at local variables I get some really strange behavior. I try switchting between Win32 and x64 debug. Somtimes I can see what grid and block dimension are and sometimes not. Sometimes I can see the variable passed in numBodies but not grid or block dims. Sometimes grid or block dims, but not numBodies. This is really confusing me. I am only trying to look at the CPU side code. Anyone else see this strange behavior in this project?
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Sun Mar 27, 2011 4:49 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

1) Run your GPU collision detection engine on the set of input files provided by the
TA and compare the results with the ones generated by the collision detection
solution that is embedded in the open source physics engine “Bullet”
. Using the
cpp and cu files provided, this process is automated to the extent to which you
will get a message “Test Passed” or “Test Failed”. In order to pass the test, the
following conditions must be satisfied:
i) you should find the same number of contacts as “Bullet” does
ii) you should find the same values for the absolute collision location on
object A and B (see Figure 1)
iii) you should find a contact normal that is within 10° from the Bullet
normal
NOTE: When you have a pair of bodies A and B, make sure you have the
body A be of lower index. Specifically, when running the comparison with
Bullet, please make sure that output is sorted by body A and then body B in
increasing order.


Are these file in the project? or do we need to generate them? Can I get some more clarification here. I do not see any "input files" in the project.

2) Run a scaling analysis for your algorithm and Bullet, and compare their
performance. Specifically, run a collision detection for 1024, 4096,…,1048576
bodies and do a regression analysis to gauge how your algorithm scales with the
number of bodies. Note that the input files provided in this directory contain
body input information for the 1024, 4096,…,1048576 scenarios.



Again.. I am unsure. Can I get some clarification?

I was able to generate a file using the "DataGeneration" program. Do I need to use this to generate the files? Or is there a predefined set as alluded to above?
<<

ME964BrianD

Jr. Member
Jr. Member

Posts: 77

Joined: Wed Jan 12, 2011 1:53 pm

Unread post Sun Mar 27, 2011 6:51 pm

Re: PROJECT TOPIC 2: Collision Detection on the GPU

Here is a script to generate the data and call the various utilities. I have modified each so as to not ask questions or stop the prompt for automated testing.

If any one is interested:

I put these in a folder called Test off of CollisionDetectionOp2 where the .sln file is located.

CollisionDetectionOp2/Test/show_command_prompt.bat
CollisionDetectionOp2/Test/run_test.bat

show_command_prompt.bat - just shows the command prompt in the directory test so that you can type run_test.bat and see output without it disappearing.
cmd /K




run_test.bat - the heavy lifter

set CWD=%CD%
set TOP=%CWD%\..
set TOP=..
echo CWD=%CWD%


set DATA_GENERATE_CMD=%TOP%\Debug\DataGeneration.exe
set CUDA_COLLISION_CMD=%TOP%\Debug\CudaCollision.exe
set BULLET_VALIDATION_CMD=%TOP%\Release\BulletValidataion.exe

cls


set RANGE=1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576
set RANGE=1024 2048 4096

:start
FOR %%A IN (%RANGE%) DO call :test %%A
goto :eof


:test
echo Performing test on %1 elements
SET CMD1=%DATA_GENERATE_CMD% %1
SET CMD2=%CUDA_COLLISION_CMD%
SET CMD3=%BULLET_VALIDATION_CMD%

echo "running commands"
echo %CMD1%
echo %CMD2%
echo %CMD3%

%CMD1%
%CMD2%



:eof
echo "we are done"



I created these as it was not and still is not clear how to run the tests.

feel free to hange as needed to run your code. I have changed the programs to output data files.
<<

ArmanP

Newbie
Newbie

Posts: 28

Joined: Wed Feb 16, 2011 12:02 pm

Unread post Mon Mar 28, 2011 9:20 am

Re: PROJECT TOPIC 2: Collision Detection on the GPU

ME964BrianD wrote:
1) [b]Run your ......


Are these file in the project? or do w.....

2) Run a scaling analysis......


Again.. I am unsure. Can I get some clarification?

I......


As you said, Data files are generated by the "DataGeneration" project which is provided in the solution. Therefore nothing more is required.
For the scaling analysis, you can just change the number of bodies (give different values at the command line, that's it!) and generate different files in "DataGeneration" project.
Next

Return to ME964 Spring 2011: High Performance Computing

Who is online

Users browsing this forum: No registered users and 1 guest

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software.