Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 788
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA

Сообщение root:# »

Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA
Кэрол Хербст (Karol Herbst) из компании Red Hat, принимающий участие в разработке Mesa, драйвера Nouveau и открытого стека OpenCL, предложил для включения в состав Mesa драйвер cluda, реализующий API Gallium поверх API CUDA, предоставляемого проприетарным драйвером NVIDIA. Gallium используется в Mesa для абстрагирования разработки драйверов и реализует типовые для драйверов программные интерфейсы, не специфичные для отдельных аппаратных устройств. В контексте cluda реализованы интерфейсы, связанные с вычислениями, которых достаточно для воплощения спецификации OpenCL поверх CUDA. Предполагается, что cluda поможет решить проблемы с использованием OpenCL поверх проприетарного драйвера NVIDIA. Использование дополнительной обвязки даёт возможность реализовать недостающие расширения OpenCL, отсутствующие в стеке NVIDIA на базе проприетарного драйвера. В cluda используются только возможности библиотеки libcuda.so, входящей в состав GPU-драйверов NVIDIA и не привязанной к CUDA runtime. В текущем виде реализация OpenCL на базе cluda поддерживает операции с памятью и позволяет запускать вычислительные ядра. Реализация OpenCL на базе cluda и rusticl поддерживает следующие расширения OpenCL, которые отсутствуют в реализации NVIDIA:
  • cl_khr_extended_bit_ops cl_khr_integer_dot_product cl_khr_fp16 cl_khr_suggested_local_work_size cl_khr_subgroup_extended_types cl_khr_subgroup_ballot cl_khr_subgroup_clustered_reduce cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_rotate cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_il_program (Yes, that means SPIR-V support) cl_khr_spirv_linkonce_odr cl_khr_spirv_no_integer_wrap_decoration cl_khr_spirv_queries cl_khr_expect_assume cl_ext_immutable_memory_objects
При измерении производительности в тестовом наборе LuxMark 3.1 реализация OpenCL на базе Mesa, cluda и rusticl показала 57702 баллов, а реализация на базе стека NVIDIA - 64009 баллов. Падение производительности объясняется накладными расходами на преобразование промежуточного представления Mesa NIR в CUDA PTX (Parallel Thread Execution). Из возможных оптимизаций, которые могли бы уменьшить отставание в производительности, отмечается более активное использование векторизации и задействование JIT-компиляции.
Изображение

Источник: https://www.opennet.ru/opennews/art.shtml?num=64041