Обработка GPU в Spatial Analyst

Доступно с лицензией Spatial Analyst.

Spatial Analyst теперь отличается повышенной производительностью и для некоторых инструментов использует графический процессор (GPU). В современных компьютерах эта технология использует преимущества вычислительной мощности видеокарты для повышения производительности определенных операций.

В настоящее время поддержка GPU реализована в следующих инструментах:

В чем заключается работа GPU?

Графический процессор (GPU) – это аппаратный компонент компьютера, основной задачей которого является ускорение визуализации графики на экране компьютера. В последнее время вычислительная мощность процессоров GPU направлена на выполнение общих вычислительных задач.

В инструментах на базе GPU задача обработки растра направляется не на центральный процессор компьютера (CPU), а на графический – GPU. Такой подход обеспечивает выигрыш при выполнении операций определенного типа. В таких случаях программа разбивает задачу на множество мелких частей, которые направляются на GPU для обработки. Далее GPU выполняет одновременную обработку всех этих мелких задач, но уже с большей скоростью. Полученные данные отправляются обратно, и программное обеспечение собирает отдельные компоненты в окончательный готовый продукт.

Поддерживаемые карты и драйверы GPU

Для графической обработки с помощью GPU рынок предлагает различные решения. В настоящее время поддерживаются только графические процессоры NVIDIA с вычислительной мощностью CUDA версии 3.0 или выше. Для доступа к этой возможности в систему должна быть установлена соответствующая карта.

Чтобы проверить типы графических карт на компьютере с Windows, откройте диспетчер устройств и разверните Видеоадаптеры. Там будут перечислены названия и типы вашей видеокарты. Если видеокарта NVIDIA не указана, то вы не сможете получить доступ к этой функции, и инструмент будет использовать только CPU.

Если видеокарта NVIDIA есть, то нужно проверить тип графического процессора, который установлен в системе, используя для этого Панель управления NVIDIA:

  1. Щелкните правой кнопкой мыши на любой пустой области рабочего стола. В контекстном меню щелкните Панель управления NVIDIA.
  2. В окне панели управления откройте меню Справка и щелкните Информация о системе. Отобразятся все сведения о видеоплате NVIDIA, версии драйверов и другие сведения.

Определив тип видеоплаты NVIDIA GPU, найдите ее вычислительную мощность CUDA на странице справки NVIDIA для графических процессоров CUDA nvidia.com. В соответствующем разделе найдите свою плату GPU и обратите внимание на значение Вычислительная мощность, указанное для нее. Это значение должно быть равным или выше 3,0.

Устанавливаемая на компьютерах видеокарта поставляется с драйвером по умолчанию. Перед запуском инструмента анализа, использующего GPU, необходимо обновить видеокарту графического процессора до последней доступной версии на странице NVIDIA driver updatenvidia.com.

Конфигурация GPU

Для вычислительных операций этот инструмент будет использовать только один GPU. Но, если у вас в компьютере только один GPU, то он будет использоваться и для визуализации, и для вычислительных операций. В этом случае во время выполнения инструмента появится предупреждающее сообщение, указывающее, что дисплей может перестать отвечать на запросы. Поэтому, для пространственного анализа рекомендуется использовать два GPU: один для визуализации, а другой – для вычислительных операций.

Когда в системе используется несколько графических процессоров, по умолчанию будет использоваться первый графический процессор в режиме драйвера TCC (Tesla Compute Cluster). Если в режиме драйвера TCC графический процессор отсутствует, то будет использоваться первый GPU (с индексом 0), если не указано иное. Чтобы указать графический процессор или отключить его, см. следующее:

  • Чтобы использовать другой графический процессор, вы можете указать его с помощью переменной среды CUDA_VISIBLE_DEVICES. Для этого сначала создайте эту переменную среды, если ранее она не была создана в системе. Затем задайте ее значение, равное значению индекса (0 для первого, 1 для второго и т. д.), представляющего устройство GPU, которое вы желали бы использовать, и перезапустите приложение.
  • Если вы не хотите, чтобы в анализе использовалось какое-либо из устройств GPU, установленных в системе, то вы можете установить переменную среды CUDA_VISIBLE_DEVICES на -1 и перезапустить приложение. После этого инструмент будет выполняться только за счет CPU.
  • Чтобы вновь перейти к использованию графического процессора, следует либо удалить переменную среды CUDA_VISIBLE_DEVICES, либо задать для нее значение того устройства GPU, которое вы хотите использовать, и после этого перезапустить приложение.

Более подробно об этой переменной среды CUDA_VISIBLE_DEVICES см. в руководстве по программированию CUDA Toolkit Programming Guide nvidia.com.

Следующие подразделы содержат рекомендации по настройке конфигурации, обеспечивающей оптимальную работу с использованием возможностей графического процессора.

Настройка драйвера TCC

Для графических процессоров NVIDIA устройство GPU, используемое для вычислительных процессов, должно использовать драйвер TCC, а не драйвер Windows Display Driver Model (WDDM), использующийся по умолчанию. Режим TCC позволяет GPU работать более эффективно.

Чтобы включить режим драйвера TCC, используйте управляющую программу NVIDIA System Management Interface, обычно находящуюся в C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Например, команда 'nvidia-smi -dm 1 -i 2' переключает видеокарту с идентификатором устройства 2 в режим отображения 1 (TCC).

Примечание:

Если вы используете ArcGIS Server, то GPU, используемый для вычислительных процессов, должен находиться в режиме драйвера TCC.

Отключение режима ECC

Отключите режим Код с исправлением ошибок (ECC) для того графического процессора, который используется для вычислительных процессов, поскольку он уменьшает объем памяти, доступной для данного GPU.

Чтобы отключить режим ECC, используйте управляющую программу NVIDIA System Management Interface (nvidia-smi), обычно находящуюся в C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Например, команда 'nvidia-smi -e 0 -i 1' отключает режим ECC графического процессора с идентификатором устройства 1.

Изменение настроек TDR

Когда графический процессор, используемый для вычислительных процессов, находится в режиме драйвера WDDM, то драйвер устройства отображения Windows может перезагрузить этот графический процессор, если любой из этих процессов занимает более 2-х секунд. Это называется условием для Windows Timeout Detection and Recovery (TDR). В этом случае работа инструмента не будет завершена, будет выведена ошибка GPU.

Существует возможность для внесения изменения в ключ реестра, TdrDelay, чтобы избежать реализации этого сценария. Установив подходящее значение (например, 60 секунд), время позволит завершить работу до срабатывания условия TDR. На большинстве систем с Windows путь к ключу TdrDelay в Реестре следующий: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Если ключ TdrDelay не существует, его необходимо создать в этом расположении. Обратите внимание, что при создании или изменении этого значения реестра, вы должны в первую очередь сделать резервную копию реестра. Вы должны перезагрузить компьютер, чтобы внесенные изменения вступили в силу. В Microsoft Developers Network есть более подробная информация о настройке TDR Delay microsoft.com.

Внимание:

Esri не может нести ответственность за любые проблемы, которые могут возникнуть при неправильном изменении реестра. Примите надлежащие меры для того, чтобы быть уверенным в наличии у вас действительной резервной копии реестра для восстановления системы при возникновении каких-либо проблем, или обратитесь за помощью к квалифицированному системному аналитику для внесения изменений в реестр.

Связанные разделы