Advertisement Jump to content
Sign in to follow this  

[PhysX] Testing gpu dispatcher, can't make sense of the error message...

This topic is 1164 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So, after tinkering for a while on PhysX, I have a script that build "noodles" of capsules and I am quite happy with it. 


However, I would like to try using the GPUs (I have 1 Geforce and 3 tesla cards) to do the simulation instead of the CPU.


Here is what I have...

//sceneDesc.cpuDispatcher = PxDefaultCpuDispatcherCreate(1);		//Creates default CPU dispatcher for the scene

//testing GPU dispatcher
PxProfileZoneManager* profileZoneManager = &PxProfileZoneManager::createProfileZoneManager(gFoundation);
PxCudaContextManagerDesc cudaContextManagerDesc;
PxCudaContextManager* cudaContextManager = PxCreateCudaContextManager(*gFoundation,cudaContextManagerDesc,profileZoneManager);

sceneDesc.gpuDispatcher = cudaContextManager->getGpuDispatcher();
//testing GPU dispatcher

As you can see, while using the cpuDispatcher is easy, using the gpuDispatcher requires quite a number of lines of codes.


However when the script is launched I get 1 error lines...

..\..\PhysX\src\NpPhysics.cpp (229) : invalid parameter : Physics::createScene: desc.isValid() is false!

... along with many warnings...

'phystest3.exe' : Chargé 'C:\Windows\SysWOW64\<multiple name>.dll', Cannot find or open the PDB file

But these warning don't stop the script from working properly when using the CPU.


Before anyone asks, I updated Cuda to the latest available on nVidia site, and updated my graphic drivers because I had an error message from the script itself telling me the Cuda version and graphic drivers on my machine were a bit old.


Searching google for this specific error return few useful links. I am at my wit's end as to what to do now.

Edited by aws357

Share this post

Link to post
Share on other sites

Don't know what script you are referring to, but afaik you will also need a CPU dispatcher as not all PhysX simulation will run on the GPU. Also, having a GPU dispatcher is not sufficient to allow GPU simulation as you have to pick and choose what you need to simulate on the GPU as PhysX have to idea about your current use case. I would check the documentation as it explains how to do exactly what you are trying to achieve, probably should take a look at the samples if possible.

Share this post

Link to post
Share on other sites

The script in question is just a thing I am doing with PhysX...


This thread on devtalk made the assumption that a GPU dispatcher was enough to do rigid body dynamics on GPU... 


So that's an interesting point you are making here. 


I've looked up the samples in Physx 3.3.0 SDK and only found the gpudispatch in PhysXSample.cpp but it does not provide more explanation than the thread I linked to.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!