Emulated Environment

Hi,

I’m completely new to programming for GPU boards. I need to start learning how to use the Jetson TX1 because that’s what I’ll be using for my job. Unfortunately, I don’t have access to the physical board because we are a startup and only have one, which I don’t have access to. But I need to spend the next couple of weeks learning how to program it. Is there an emulated environment that I can ssh into that gives me the same environment of the TX1 so I can start figuring it out?

Thanks!

Hi joeldick,

You could start with JetPack to install Jetson SDK, it will install developer tools to host PC, and to install the libraries and APIs, samples, and documentation needed to jumpstart your development environment.

https://developer.nvidia.com/embedded/jetpack

Thanks

FYI, if you check the CUDA version listed for a TX1, and use the same version on your host PC, then much of it will be an exact match (not everything, the JTX1 does not use PCIe…some features may be missing and also assumes the PC video card is Maxwell architecture…the newer 1000 series, e.g, 1060Ti, are Pascal…older ones, like 960 or 660, are Maxwell). @kayccc mentioned JetPack…this allows you to check particular packages (and samples) to install for both PC and Jetson…it’s as close to uniform install and programming as you’ll get.

Thanks so much for the responses both.

So I understand it, JetPack and the Jetson SDK can be installed on my host system without access to the Jetson TX1 board, and that will give me the environment I need to develop for GPU computing on the board. Is that accurate?

Also, I have VirtalBox. Is there a way to set up a virtual machine with has the same environment as the board itself? One of the things I need to do is set up VNC on the board so we can remote into in, and I’d like to test that on a test environment. If I do set up a VirtualBox, can I just install it with Ubuntu or Linux for Tegra operating system that exists on the Jetson TX1?

Yes, JetPack will provide the x86_64 PC with CUDA and development tools which are also capable of cross-compile and deploy on a Jetson. If both desktop and Jetson have the same GPU architecture (Maxwell for a TX1 or the previous desktop generation, such as 960Ti, 660Ti, so on). With the same architecture there are still a few differences (due to running on ARMv8 and not being PCIe), but mostly the code will be the same. To learn for one will be almost directly transferrable to the other.

I have not used VNC, but others have said various virtual X servers do run on the Jetson and can be accessed through a PC in this manner. There is no virtual machine emulation of the Jetson itself (VM versus VNC) though I’ve seen questions about docker using GPU, but I have no experience with this and couldn’t tell you just how thorough it is. I do not know details of virtual box install, but there are some toolbox setup items within the local GUI environment already. It should work with the existing L4T (which is Ubuntu plus hardware drivers specific to the hardware…mostly Ubuntu documentation applies to a Jetson without modification).