Jetson Nano, can only run Nvidia's ubuntu image?

Hello, i am very interested in Jetson boards, and their parallel processing capabilities. In my current project i have a need to offload parallel computations. So i googled around and found Jetson board with CUDA cores which is perfect. The problem is that the board is a computer by it self and it looks like NVIDIA mentions it everywhere that i would need to run their image of Ubuntu with their drivers in order to have access to this parallel computation facility. It is ok for me to migrate my software to their processor cause i am using the same cpu architecture.

I would like to know if i am going to be able to interface with CUDA and GPU cores from within my own operating system. How well is the driver is documented ? is it even documented. Or it is a must to use their image of linux.

It can run any aarch64 rootfs. Please see “Setting up your file system” under the Linux for Tegra documentation, which is pretty comprehensive. Note that apply_binaries is not guaranteed to work on any rootfs, and you may need to make some modifications, however i’ve tested it with Ubuntu Base 18.04.3 aarch64 and it seems to work fine (OTA updates even). If you are creating a rootfs from scrach, you might consider debootstrap or multistrap or these instructions here which Nvidia recommends instead of rolling your own Ubuntu manually with Ubuntu Base.

It’s probably better your rebuild your software from source even if it’s already aarch64-linux, and in order to take advantage of the CUDA cores, you will likely have to rewrite parts of it in CUDA and/or use libraries that use CUDA.

ok i will put it this way, i have my own operating system (), and the question was how well the hardware is documented, is it well documented enough to roll my own drivers ?

When you say “I have my own operating system”, are we taking a flavor of Ubuntu or something like Temple OS? Is your OS Linux based at least? If so, there is hope.

Otherwise you could look at the Nouveau project and I think there is some work reverse engineering Tegra innards, but the performance is not very good compared to the Linux drivers Nvidia provides.

Or if you have a ton of money like Nintendo and are willing to sign NDAs, Nvidia can probably help you roll your own thing for your custom os.