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?
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.
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) ?
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