• 11
• 9
• 12
• 9
• 11

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

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

## 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 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 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.