There are two commands: set cuda notify youngest and set cuda notify random. But I don’t understand the difference between them, Under what circumstances do I need to use these command?
You can think of this as a maintenance command and its safe to ignore. When the GPU encounters a trap, or an event is generated by the CUDA Debugger API, cuda-gdb will receive a callback. This will send a SIGURG to a host application thread to notify the gdb event loop that there is something to act upon.
This option was added in the event that sending the SIGURG to a host thread causes unforeseen issues. Setting the option to youngest can allow the application developer to have better control of the thread the SIGURG is sent to.