Running applications built for Jetson TX1 to Jetson TX2

I read about the announcement of Jetson TX2, and I am eagerly waiting for more details on the same.

I have my multimedia application which is built for and working on Jetson TX1, I wanted to know if this can be easily migrated to Jetson TX2? Will the binary work as is? Or re-compile is sufficient?

It is pin to pin compatible, if it is working on TX1 it should work on TX2 as well easily. Try recompiling it on Jetpack 3.0 only:

https://devtalk.nvidia.com/default/topic/998119/jetson-tx2/ridgerun-tegra-tx2-main-differences-and-gstreamer-pipelines-and-performance-measurements-/

Hi Sagar,
I made a few tests on the TX2 and what runs on TX1 can run on the TX2, but better.
TX2 uses the same L4T 64bit as the TX1.

DavidSoto, Myzhar,

Thanks for your reply.

Hi,

I see that the L4T versions for TX2 and TX1 are different (https://developer.nvidia.com/embedded/develop/software).

Does this mean, in order to ensure that my application works correctly on TX2 and TX1 I will need to recompile it for a given platform (TX2/TX1)?

Can I get the same build to work on both TX2 and TX1? Will any differences in L4T 27.1/24.2.1 limit this?

I couldn’t tell you whether CUDA would differ (though I don’t think a TX1 CUDA program will have issues on a TX2), but the architecture of TX1 and TX2 are the same…should you have environments supporting the same libraries the two should not require any work to run (there could be differences in libraries, it isn’t likely…in rare cases where there are differences recompile would likely fix this). The TX2 under R27.1 does use a 4.x kernel, whereas the TX1 under R24.x uses a 3.x kernel…they may differ in kernel features. Most apps do not care about kernel features, so again it is likely your TX1 program will just run correctly on the TX2 (it isn’t a guarantee, but the odds are quite good).

If your application uses CUDA, you will need to recompile for the TX2 because the GPU’s use different compute architectures (TX1 is Maxwell with compute 5.3 while the TX2 is Pascal with compute 6.2). You will need to make sure you specifiy the correct compute architecutre when compiling or compile for both arcitectures if you want your code to be portable accross the two platforms.

Hello,

I would please like to ask:
Is it that for a specific jetpack version (say jetpack 3.1), the kernel version is the same, whether it is for TX1 or TX2 ?
I mean, does jetpack version defines kernel version independent in architecture (TX1/TX2) ?

Thanks,
ranran

Not really, the JetPack is just an installer, that depends on our release plan, but usually they’re the same kernel version. You can check the JetPack Archive to get clear information of each platform: https://developer.nvidia.com/embedded/jetpack-archive

Thanks