carla-simulator / carla

Open-source simulator for autonomous driving research.
http://carla.org
MIT License
11.37k stars 3.69k forks source link

Carla 0.9.14 Multi-GPU mode "Cannot find a compatible Vulkan device that supports surface presentation" #6543

Open TurtleZhong opened 1 year ago

TurtleZhong commented 1 year ago

Hi, I wanna get 4 rgb camera with high fps, and I found the new feature in Carla 0.9.14. I follow this multi-gpu link and I got "Cannot find a compatible Vulkan device that supports surface presentation" in the terminal 2.

I download CARLA_0.9.14.tar.gz and AdditionalMaps_0.9.14.tar.gz and put them in the work folder My system info: OS: Ubuntu 20.04 RAM: 64GB CPU:Intel® Xeon(R) Platinum 8375C CPU @ 2.90GHz × 64 GPU 2*RTX3090

here is the nvdia-smi shows Selection_001

then in terminal 1 ./CarlaUE4.sh --nullrhi It can run as usual. and I wanna use another gpu to render the sensors, and I run ./CarlaUE4.sh -carla-rpc-port=4000 -carla-primary-host=127.0.0.1 -carla-primary-port=2002 -ini:[/Script/Engine.RendererSettings]:r.GraphicsAdapter=1 The secondary server start up but can not load the map(all black) , I think it is a normal phenomenon from this post meanwhile I got a window texted "Cannot find a compatible Vulkan device that supports surface presentation". like image below image

Selection_002

Actually, I wanna speed up the multi rgb camera's fps, and may be the multi-gpu feature in CARLA 0.9.14 is the solution!

Hoping someone could answer my question, thanks.

bernatx commented 1 year ago

Hi, try to use the -RenderOffscreen flag on the secondary servers. That will prevent to create any window for the secondary servers. Regards

TurtleZhong commented 1 year ago

@bernatx Thanks, it works. But when I put 4 rgb cameras (1280x720) , I got ~25fps using 1 GPU, but I only get 15 fps using 2 GPU, I found that the image frame rate did not increase significantly when I used 2 GPUs, but decreased. I really wanna get high fps, I wanna know why. May be the data sync in multi-gpu mode? or the bottleneck of GPU<->CPU data transfer?

howicc commented 1 year ago

I'm having the same issue. Using off-screen rendering works, but if I need on screen rendering while assigning any secondary GPU with GraphicsAdapter= , it will throw this error.

TurtleZhong commented 1 year ago

@bernatx Hi, can you help me about this Issues.