Hello All,
I’m having a curious problem on a linux workstation that starts in runlevel 3 (headless). I’m using one of the RHEL startup scripts as posted here in the forums, and it does a wonderful job of making CUDA accessible at boot time without the need to start X. The problem is that we can’t realize the speed improvement of using pinned memory until we do start X. For example, I obtain the following outputs from the bandwidth test after a clean boot (VNC’d in to the server):
-----------------------------------------------------------------------------------------------gpu-server1:~/sdk/bin/linux/release> ./bandwidthTest --memory=pinned
Quick Mode
Host to Device Bandwidth for Pinned memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1644.6
Quick Mode
Device to Host Bandwidth for Pinned memory
testDeviceToHostTransfer, elapsedTimeInMs = 191.796005
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1668.4
Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 28712.4
&&&& Test PASSED
Press ENTER to exit…
…And the following results after simply logging in at the console, starting X, and then exiting X:
gpu-server1:~/sdk/bin/linux/release> ./bandwidthTest --memory=pinned
Quick Mode
Host to Device Bandwidth for Pinned memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3180.2
Quick Mode
Device to Host Bandwidth for Pinned memory
testDeviceToHostTransfer, elapsedTimeInMs = 102.746002
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3114.5
Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 70827.8
&&&& Test PASSED
Press ENTER to exit…
Clearly, there is something else that needs to be initialized that the startup scripts posted to date have not addressed (not a dig on the scripts posted to date - they do work great!). I think it must be in initializing the DMA controller, which is what really gives the speed improvement for pinned memory.
Any suggestions on how to manually initialize the DMA controller without starting X would be appreciated.
Thanks!