Pull to refresh

Comments 44

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

>про различные тонкости и особенности OpenCL приложений и OpenCL для Nvidia GPU можно будет написать отдельную статью

Опять у Nvidia/Ati всё по-разному работает?
Работает, я надеюсь, все же одинаково. В целом.
Но ведь на производительность сильно влияет конкретная архитектура устройства. И вот тут уже могут вылезти особенности и даже ошибки.
Пример: на моей видеокарте NVidia 8192 регистра, то есть если задать размер группы 512 элементов (максимум для моей видеокарты), то на каждый из них по 16 регистров. Если 16 регистров недостаточно для выполнения kernel — полетит ошибка во время исполенния kernel.
То есть если ужать kernel в 16 регистров не выйдет — прийдется задействовать карту не на полную мощьность.

Для чипов AMD, возможно, такое ограничение будет более сильное или слабое, а может его и вовсе не будет, все зависит от архитектуры.

Такие вещи специфичны для конкретного устройства и знание некоторых может помочь ускорить работу приложения, а, иногда, и сберечь нервы)
Если не секрет, как вы посчитали регистры? Взяли из ТТХ?
Да, это из ТТХ.
В 260-х и старше — регистров больше…
Рамер группы 512 — не обязательно так много, можно и меньше, если много работы с памятью нет, падение будет крайне незначительное.
У меня сейчас валяются N260GTX и 4870 ZT.
Комментарий оборвался. Так вот, у меня сейчас валяются 260-ка и 4870, если есть идеи, как можно погонять тестами монстров — готов выслушать (или в ПМ). Величайшим достижением для вас будет запуск аппаратной Phys-X на 4ххх или 5ххх, как уже один раз делали на 3870. Все пользователи АТИ на вас молиться будуь.
можно было бы, например, сравнить производительность драйверов OpenCL Nvidia и AMD. При примерно равных условиях: какой-нибудь простой пример из SDK запустить с одинаковыми global size и work-group size и посмотреть что быстрее… ну это из совсем тривиального…
Только сдается мне одновременно они не заработают — конфликтовать драйверы начнут друг с другом. Хотя это только догадки, конечно.
Стоят и не конфликтуют. Просто нужны дрвоа нвидии версии не выше 186, иначе при наличии АТИ в системе видеокарта переходит в состояние «оффлайн».
Не конфликтуют именно драйверы OpenCL? Ну то есть то, что карты разных производителей в одной системе работать могут это факт известный, а вот как там с использованием OpenCL при этом? Хотя по идее должны работать… ведь для того все и задумывалось)

Если будете проводить тесты — напишите пожалуйста, что из этого вышло — очень интересно)
Не конфликтуют, проблемы с n260gtx, капризная, с радеоном работает через раз.
Число регистров итп. для конкретной карты Nvidia можно посмотреть в Nvidia OpenCL Programming Guide (Appendix A) — на него есть ссылка в статье.
Там написано какая карта имеет какую версию Compute Capability, там же и расшифровка, что в себя включает каждая версия Compute Capability.
UFO just landed and posted this here
OpenCL и Java — разные инструменты для решения разных задач. OpenCL никогда не будет иметь такого набора библиотек.
UFO just landed and posted this here
Человек постарался избавить вас от феерической каши в голове, а вы решили, что самый умный.
UFO just landed and posted this here
Человек и написал что они настолько разные что указать различия невозможно, это как различия между подводной лодкой и букетом роз.
UFO just landed and posted this here
Тогда из этого утверждения у малознакомого с темой человека вырисуется определение: «Подводная лодка — средство для транпортировки цветов по морским каналам».
тут смысл не столько в общей среде выполнения, сколько в унифицированном доступе к ресурсам GPU
UFO just landed and posted this here
вообще-то не имеет
тут также как и с OpenGL, насколько я помню можно
Java = Виртуальная машина, OpenCL = доступ к железу через среду разработки на достаточно низком уровне. Так понятно?
UFO just landed and posted this here
Java может использовать драйвер OpenCL.
Чуть выше давали ссылку на java-обертку для OpenCL API.
Насколько я понимаю, это не освобождает от написания kernel на С-подобном языке, а оборачивает только вызовы OpenCL API, описанные в статье.
UFO just landed and posted this here
OpenCL — это компилятор плюс библиотека функций для общения с целевым устройством. Они разные для каждого устройства. О бинарниках, способных выполняться на любых устройствах, о виртуальной машине на GPU и даже о привычной работе с памятью речи (пока) не идет.
OpenCL можно сравнивать разве что с обычным C, но никак не с Java.
UFO just landed and posted this here
Стандартизован язык, на котором можно писать собственно вычислительные функции, а также набор и поведение функций OpenCL API. Один и тот же исходник можно (теоретически, конечно) скомпилировать и запустить на любой платформе, для которой есть подходящий драйвер и компилятор.
А почему функции нецелевые-то?
UFO just landed and posted this here
Сегодня нецелевая, а завтра выйдет реклама «покупайте наши графические ускорители, чтобы быстрее ломать пароли!» и станет целевая ;).
Уже почти так и есть. Новая архитектура Nbidia Fermi (которая в железе пока в числе 7 уникальных чипов существует) была анонсирована как отлично подходящая под вычисления.

Позже рекламщики Nvidia срочно бросились исправлять перегибы и рассказывать, что для 3D графики архитектура тоже очень подходит и покупать ее для игр тоже имеет смысл.
Ферми пока не существует на потоке, у руля (временно) ATI 5870, по бумажным характеристикам 300-ое поколение нвидии — монстры, очень хочется узнать, что же будет в деле…
OpenCL можно сравнить с CUDA только OpenCL для всех а Cuda только для Nvidia но там с совместимостью по круче…
все пора менять названия видеокартам, на другое.
Интересно, что они подразумевают под поддержкой С++ в этой архитектуре?
С++ kernel'ы в CUDA?
Боюсь, что да. Спасибо унифицированной памяти.
нет на, что-о типо йаСчиталко!
> ВНИМАНИЕ!!! oclLoadProgSource — не является функцией OpenCL API, а находятся в вспомогательной библиотеке, поставляемой вместе с Nvidia Computing SDK.

oclGetMaxFlopsDev — тоже оттуда
К сожалению по ссылке не удалось скачать NVidia OpenCL SDK. Login требует, кнопки «зарегистрироваться» не лицезрел.
UFO just landed and posted this here
Sign up to leave a comment.

Articles