Hi to you ALL!
It was just a matter of time that the PCI-e x4 slot would get used for extra CUDA power expansion. Yes, for the test the x4 PCI-e slot has been made into an open-ended version. Electrically and mechanically the GTX card operates well with TX1 Dev board and attached ATX power supply. The ‘lspci’ command shows the GTX card as PCI-e a1 connection. The catch is I lost the ability to use the SATA connector. On the driver side I’m unable to find a suitable Nvidia graphics driver for the Aarch64-Linux 32-bit environment. I tried several Nvidia drivers but they only replaced the driver settings for the integrated X1 graphics and made the system start up and halt at the Ubuntu login screen because X is not configured correctly. I can go into console mode from the Ubuntu login screen and back. It is a driver and setting problem!
Two reasons why I wish to get this setup to work: (1) For the ability to process some tasks on the CUDA cores of this GTX card or (2) to use the card for video wall setup.
Any suggestions would be appreciated.
I can see how doing this would be a fascinating way to make the JTX1 more flexible and modular (it could open up markets half way between pure mobile and pure desktop).
An issue I can see as making this more difficult is that I think the driver for the built-in JTX1 is connected directly via the memory controller, while the add-on card is via PCIe…the CUDA installed with the JTX1 likely depends on how that memory controller interacts with the GPU. This might mean that even if nVidia releases a video driver for PCIe bus use of standard PCIe nVidia video cards (which would be quite interesting in and of itself), that the CUDA libraries themselves would have to be altered to deal with PCIe plus integrated memory controller variants in a single library. nVidia already has the PCIe variant (this bus is standard across CPU architectures), and the JTX1 memory controller variant of CUDA (this bus is not standard across CPU architectures)…I just wonder how difficult it might be for PCIe and memory controller variants to function simultaneously once a video driver works for normal graphics.
Thank you Linuxdev for your reply and insight! I was counting on a possible recompile of the proprietary Nvidia video driver source code to this Aarch64-Linux 32-bit and be up and running in a couple of weeks. With some help from Nvidia of course.
You can be right about the X1 SOC architecture and memory controller not being ready yet to drive an external pci-e video device.
It would be interesting what the guys at the NVidia dev department have to say about this GTX video card addition and if this would fit the product roadmap for the Jetson X1 SOC. Or if this GTX on PCI-e option for the X1 chip can be added in the near future. Hint, hint!
Taken into account the performance penalty and possible stability issues of the pci-e x4 connection that will run on pci-e x1 speed while the video card should be used on a pci-e x16 slot under normal operation. Not sure if this is a real issue if the video card is set for CUDA calculations only.
In the near future I might like to test the Oculus DK2 kit with the Jetson TX1 board. Maybe with a GTX 9xx video card by that time. Possibilities enough to try out and test any kind of hardware combination when you have the hardware laying around.
Anyway, the Jetson X1 SOC is a fascinating product with good potential. Let us see what future Jetpack updates will bring to the Jetson TX1 arena.
Because of the way the embedded GPU is set up directly with the memory controller I doubt the L4T driver will work with a separate PCIe card (though perhaps it does since I’ve never tried). I’m going to guess you need the regular driver for PCIe…but the trouble there is that I don’t know of an ARMv8-a version…the public Linux mainline drivers would be for a different X ABI, plus they would be for x86_64.