Мы делаем рендер для Вас!
фото

SilentPrayerCG

Добавил(а)
3 года назад

Сотрудники в теме

фото

FROL

Администратор

фото

Trofimm

Представитель

Статистика

3
Комментарии
1
Просмотров

Поделиться

Облако тэгов

1
рейтинг

Cuda or OpenCL

А есть какая-то разница в скорости просчета между кудой и опенцл-ом?

Или какая-то вообще разница? Или просто разница каким набором инструментов проводятся вычисления?

Ответить

Комментарии (3)

фото Сотрудник
1

Изначально движок делался на куде, сейчас идёт постепенный переход на опенсл. Куда заточена под нвидиа, опенсл работает на всём. 2 разных языка, свои нюансы, но со временем у нас останется один опенсл. Ведущий программист сейчас в отпуске, он попозже обязательно ответит более компетентно.

фото
1

Я в курсе, что опенцл и там и сям, а куда только для нвидия.

Я просто всегда нвидиями пользовался, и в будущем скорее всего буду пользоваться ими.

Мне интересно отразиться ли как-то опенцл на производительности именно нвидий. Или никаких проблем не будет?

фото Сотрудник
1

>>Или просто разница каким набором инструментов проводятся вычисления?

Да, скорее так. Просто 2 разные технологии для одного и того же. С точки зрения производительности разницы никакой. OpenCL даже лучше, потому что драйвер компактнее и стоимость вызовов ядер как правило ниже.

Если копать глуже то: Самое главное отличие между кудой и опенцл в том что CUDA (уже где-то после 4 версии) стала большим, тяжёлым и неповоротливым паровозом. Большое количество фич - следствие багов и потери стабильности. Причём новые фичи работают только на новых видеокартах, что ознаечает по факту - мы не можем их использовать. А если использовать минимум функциональности в куде - то же самое что OpenCL. Да, в отдельных случаях (то есть отдельных участках программы), если постараться, за счёт машинно-зависимых оптимизаций можно выжать 20-30%. Ну 50% - это край. А для итогового ренера - не более 10% будет. Но эти проценты не стоят усиий на поддержку отдельной ветки. CUDA у нас была исторически, сейчас планируем полностью от неё отказаться.

OpenCL лучше и архитектурно. Отсутсвие состояний - проще отлаживать большие программы, запускающие много разных ядер. Возможность проверит его на разных компиляторах - большой плюс с точки зрения стабильности. Страхует от различных неочевидных и трудно-обнаружимых ошибок.

Комментировать

фото