Ядра WMMA по умолчанию - PullRequest
       25

Ядра WMMA по умолчанию

0 голосов
/ 10 июля 2019

Я использую пример кода nvidia . Код можно найти на github : Из документации CUDA я знаю, что код

Позволяет библиотеке по возможности использовать операции Tensor Core

с помощью CUBLAS_TENSOR_OP_MATH.

В документации я обнаружил, что CUBLAS_DEFAULT_MATH запрещает библиотеке использовать операции Tensor Core, ОДНАКО образец кода не использует это.

Какая настройка по умолчанию для WMMA? Будет ли оно выполняться на ядрах CUDA или ВОЗМОЖНО, чтобы ядра Tensor могли поддерживать вычисления.

1 Ответ

1 голос
/ 11 июля 2019

инструкции wmma могут использовать только (т.е. выполнять на) аппаратное обеспечение Tensor Core.Они не могут выполняться на любом другом типе оборудования.По этой причине при компиляции кода устройства CUDA с инструкциями wmma необходимо ориентироваться на архитектуру (cc7.x, в настоящее время) с аппаратным обеспечением Tensor Core.Более того, такой код будет корректно работать только на устройстве cc7.x (в настоящее время).

Переменные CUBLAS, на которые вы ссылаетесь, влияют на использование API CUBLAS.Они не связаны с инструкциями wmma, которые вы сами кодируете.

Под капотом у библиотеки CUBLAS есть несколько путей кода.Переменные CUBLAS, на которые вы ссылаетесь, могут влиять на решения пути кода, которые может принимать библиотека CUBLAS.Некоторые из этих путей кода могут использовать инструкции wmma или эквивалентное использование Tensor Core.Другие пути кода могут выполнять ту же операцию (на высоком уровне, например, умножение матрицы на матрицу) без использования инструкций wmma.

...