Changing device loading order and driver loading before X
I have a couple questions in this thread. I have a sneaking suspicion that "udev" may be involved in this somehow. A little bit of background. I'm trying to set up a system with NVIDIA devices. There is on board video and multiple Tesla devices. The system loads and operates properly. Now I'm just trying to fine tune the system to work exactly the way I want. The issues I am trying to resolve are:
1) The onboard video is enumerated first making it addressed at 2:0:0, where as the other devices that get loaded under the same driver are addressed to 5:0:0, 6:0:0, etc. Naturally, this makes logical sense in most configurations, but not in what I'm trying to do.
Because of this, the onboard video gets loaded into /dev/nvidia0, and therefore, becomes the first CUDA device that CUDA applications see. I would like to try and reassign the onboard device to a different /dev/nvidia* node so that CUDA queries the device last, and all other CUDA devices first.
2) I want to get all NVIDIA device drivers loaded and /dev/nvidia* populated BEFORE the X window interface tries to load up. Currently, this isn't the case, and when X does load up, it halts with no video response for a couple minutes as it tries to load in driver modules for all devices.
I have a feeling that if the drivers get loaded before hand, then loading X shouldn't have any issues since currently, when I get into the GUI (after X has queried all devices), I can init 3 out of X, and init 5 back in, and X loads instantly.
This issue is primarily a boot issue since at the moment, it adds about 2 minutes to the overall boot sequence, unless I boot in runlevel 3, in which case, there are no issues at all in boot times.
Any thoughts and pointers?