Может ли приложение Cuda, созданное и работающее на Jetson TX2, работать на Jetson Xavier?

У меня есть приложение Cuda, которое было создано с помощью Cuda Toolkit 9.0 и работает нормально на плате Jetson TX2.

Теперь у меня есть плата Jetson Xavier, прошитая Jetpack 4, которая устанавливает Cuda Toolkit 10.0 (доступно только 10.0).

Что мне нужно сделать, если я хочу запустить одно и то же приложение на Xavier? Документация Nvidia предполагает, что, пока я указываю правильное целевое оборудование при запуске nvccЯ должен быть в состоянии работать на будущих аппаратных средствах благодаря компиляции JIT. Но верно ли это для разных версий инструментария Cuda (9 против 10)?

1 ответ

Решение

Теоретически (и обратите внимание, что у меня нет доступа к плате Xavier для тестирования чего-либо), вы должны иметь возможность запускать кросс-скомпилированное приложение CUDA 9 (а это может означать как настройки ARM, так и параметры архитектуры GPU) на хосте CUDA 10.

Вам необходимо убедиться, что вы либо статически связываете, либо копируете все необходимые компоненты библиотеки CUDA runtime API со своим приложением на плате Xavier. Обратите внимание, что все еще существует вероятность того, что в этих библиотеках могут отсутствовать необходимые функции графического процессора и ARM для правильной работы в системе Xavier, или возникнут более тонкие проблемы, такие как несовместимость libC. Это вы должны будете проверить сами.

Другие вопросы по тегам