Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Переходим на https. Просьба писать обо всех замеченных неисправностях.
  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нестандартное использование графического процессора.  (Прочитано 925 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aether
Молодой специалист

ru
Offline Offline
Пол: Мужской

« : 29-06-2017 20:22 » 

Добрый вечер.

Как-то посмотрел на фото кристалла Intel i5-2500, так вот, в него, как и многие другие современные процессоры встроено графическое ядро, которое занимает площадь сопоставимую со всеми четырьмя ядрами его ЦП. Можно ли использовать мощь графического ядра под задачи, например, решения СЛАУ? Полагаю, отдельные видеокарты имеют ещё большие вычислительные ресурсы.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 29-06-2017 21:47 » 

Здравствуйте.

Насколько я знаю, CUDA - проприетарный (и заточенный под фирменное железо) продукт от NVIDIA, которая пока что лидирует в этом направлении. Про поддержку GPGPU на других платформах слышно гораздо меньше, хотя что-то явно тоже делается.

Вот здесь немного про поддержку GPGPU на встроенных в некоторые процессоры Intel видеокартах. Поскольку эти видеокарты обычно начального уровня, то и характеристики далеко не фантастические. Может, потому и пишут мало, что, судя по публикациям, стандартом де-факто для этой цели стали акселераторы NVIDIA.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #2 : 30-06-2017 05:19 » 

Насколько я понимаю - более-менее стандартизированным аналогом CUDA является OpenCL, его, вроде, на процессорах Intel тоже должны поддерживать. Насколько OpenCL применим для решения СЛАУ сказать не могу.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 30-06-2017 06:05 » 

Да, но мне OpenCL в сегодняшнем состоянии несколько напоминает CORBA: рабочая группа есть, спецификация есть, публикации есть, реальных продуктов фактически нет. Все, что мне попадалось из реально работающего, сделано на CUDA.

Возможно, это связано с несопоставимой производительностью видеопроцессоров от NVIDIA и Intel. Если уж тратить время на разработку, то выбрать для этого адекватную платформу.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Aether
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 30-06-2017 07:13 » 

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

Возможно, это связано с несопоставимой производительностью видеопроцессоров от NVIDIA и Intel. Если уж тратить время на разработку, то выбрать для этого адекватную платформу.
Я немного по-другому оцениваю ситуацию. Возьмём рабочее место инженера - стоит ли на нём ПК с отдельной игровой видеокартой? Не всегда, чаще рабочим ПК является офисная сборка или ноутбук. А повесить однообразные несложные, но массовые вычисления на GPU было бы не плохо, ЦП и так загружен обычно каким-нибудь CAD-ом, текстовым процессором, браузером. Самое печальное, что запуская расчёт, такой ПК просто замораживает деятельность других программ, а так можно ещё хотя бы что-то почитать, как понимаю.
OpenCL - некий обобщённый подход, в нём подразумевается даже переход на вычисление через ЦП, в случае, если GPU отсутствует физически, либо отсутствует его поддержка. Из минусов - это не просто библиотека, а некая система, под неё даже компилятор свой имеется, поэтому пока многое непонятно.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 30-06-2017 09:58 » 

Как хорошо что программисты не знают железа, а железяшники не знают программирования.

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

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

Как-то мне показали какой-то контроллер на GP - типа встроенный граф индикатор - т.е. просто бросили в него данные, а он сам там разобрался как их вывести, Но видел я его краем глаза, и не сильно вдавался в подробности. Но таки да, он вел себя пассивно не имея обратной связи - т.е. не отдавал данные.


Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Aether
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 30-06-2017 16:44 » 

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

* opencl22-reference-guide.7z (945.45 Кб - загружено 26 раз.)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines