Я все еще не могу полностью понять вычислительные возможности cuda при компиляции исходного кода.
Предположим, что бинарные файлы скомпилированы с использованием флагов от (code=sm_30, Compute=30) до (code=sm_62, Compute=62) (версия nvcc — 10.1). ,
что происходит, когда устройство Turing (например, RTX2080Ti) запускает эти двоичные файлы?
Несмотря на то, что двоичные файлы не включают code=sm_75, calculate=75 для архитектуры Turing, почему они правильно работают на устройстве Turing?
Компилирует ли устройство Тьюринга JIT код PTX compute=62 (поскольку compute=75 не упоминается) и генерирует SASS Тьюринга (code=sm_75) вместо SASS 65 во время выполнения?
arch=compute_30,code=sm_30
. Для этого синтаксиса ни один из приведенных вами флагов не указывает поколение PTX, и устройство Тьюринга не может работать с кодом SASS от любого sm_30 до sm_62. Поэтому я думаю, что в вашем вопросе отсутствуют важные детали и точность/ясность с точки зрения того, как на самом деле компилируется код. PTX указывается, когда вы видитеarch=compute_30,code=compute_30
(например). Любой PTX числовой арки ниже, чем calculate_75, может быть скомпилирован JIT в sm_75 SASS. - person Robert Crovella   schedule 11.08.2020arch=compute_30,code=compute_30
, как устройство Тьюринга может запускать приложение (поскольку мы не указываемarch=compute_75,code=compute_75
, устройство Тьюринга не должно запускать приложение) - person sungjun cho   schedule 11.08.2020arch=compute_30,code=compute_30
говоритnvcc
встроить cc3.0 PTX в двоичный файл. PTX может быть перенаправлен с помощью JIT-компиляции драйвером графического процессора (не требует набора инструментов CUDA) в любую будущую архитектуру, поддерживаемую этим драйвером графического процессора. Если у вас есть драйвер графического процессора, совместимый с CUDA 10.1, этот драйвер может поддерживать Turing. Когда вы пытаетесь запустить приложение, драйвер просматривает двоичный пакет и обнаруживает, что подходящего SASS не существует. Затем он обнаруживает, что существует подходящий PTX, и использует этот PTX для создания кода SASS, который работает на устройстве Turing. - person Robert Crovella   schedule 11.08.2020cuda
, обсуждается множество вопросов, таких как этот и те, на которые он ссылается. Ваш вопрос, возможно, является дубликатом этого. - person Robert Crovella   schedule 11.08.2020