Программирование высокопараллельных задач на GPU и fpc

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Программирование высокопараллельных задач на GPU и fpc

Сообщение Serafim » 29.09.2008 10:46:37

Добрый день.
У меня такой вопрос: Сейчас появляются средства для программирования хорошо распараллеливаемых задач (например обработка видео, обработка изображений и рейтрейсинг) на GPU (графический процессор видеокарты), например, Fusion SDK от ATI, CUDA от nVidia и OpenCL от Apple, при этом прирост производительности получается просто огромным, в сравнении с использованием CPU, ведь, например, в AMD/ATI Radeon HD 4870 X2 1600 процессоров, работающих на частоте около 700 МГц, при этом ширина шины памяти составляет 256 бит и ее скорость может достигать 2 ГГц и больше. И в добавок можно установить две таких видеокарты, и характеристики возрастают вообще вдвое. В связи с этим планируется ли какие-нибудь расширения fpc или Delphi для чтобы и на Паскале писать программы, работающие на GPU? Ведь и Fusion SDK, и CUDA, и OpenCL основываются на C/C++.
При этом хорошо бы, чтобы эти программы ещё и поддерживали инлайн ассемблер. Но даже и без него если появиться средство для программирования графических процессоров на Паскале, то это будет просто очень хорошо.
Serafim
новенький
 
Сообщения: 18
Зарегистрирован: 29.07.2008 14:55:16
Откуда: Екатеринбург

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение ev » 29.09.2008 12:09:47

судя по сообщениям найденным в сети на delphi под cuda народ пишет
был бы рад, если кто-то возмется и напишет статейку применительно к fpc ;)
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Slavikk » 29.09.2008 13:13:35

CUDA есть в IRRLICHT, для него есть враперы для паскаля (правда для предыдущей версии, но их можно поправить). Если не хочешь сам писать или искать враперы - то можно поиспользовать, там же на форуме IRRLICHT - можно пообщатся на эту тему (про CUDA, правда на английском, но гугл сносно переводит :D ).
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Serafim » 29.09.2008 14:47:49

Нужно общее решение, работающее и на видеокартах ATI, и на видеокартах nVidia, плюс ещё нужно учесть Larrabee от Intel, которая должна выйти в 2009 или 2010 году.
Serafim
новенький
 
Сообщения: 18
Зарегистрирован: 29.07.2008 14:55:16
Откуда: Екатеринбург

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение *vmr » 29.09.2008 16:49:11

ммм
вроде общим решением должен стать OpenCL
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение carrots » 29.09.2008 17:32:31

Я уже давно интересуюсь этим вопросом, так как это помогает достичь просто невероятных скоростей в обработке графики, в расчетах динамики, освещения и т. д..
Если на фрипаскале появится совместимое для разных видеокарт решение (написал задачу, если есть видеокарта которую можно задействовать – задействует, если нет делает на CPU) – ему цены не будет.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Logo » 29.09.2008 17:54:25

Киборд в руки и вперед....

У них очень разная основа. Это придется создавать высокоуровневую надстройку и как следствие, иметь потерю эффективности.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение carrots » 29.09.2008 18:37:40

Чем же она такая разная?
Процессора и операционные системы тоже разные но фрипаскаль со всеми ими дружит.
А вообще все видеокарты прекрасно компилируют программы шейдеров написанные на glsl и hlsl. Логично решить, что можно достичь той-же совместимости и в других задачах.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение *vmr » 29.09.2008 19:56:05

carrots писал(а):А вообще все видеокарты прекрасно компилируют программы шейдеров написанные на glsl и hlsl

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

Хотя, да, тут многое зависит от кривизны рук драйверописателей (компилятор glsl находится в драйвере)
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение carrots » 29.09.2008 20:08:01

Просто GLSL это очень высокоуровневий язык, и его функции могут исполняться самыми разными способами (исполнение самой функции решает драйвер, компилятор) если унас будут свои, одинаковые функции - результат должен быть правельный.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Logo » 29.09.2008 22:56:16

Ну с Carrots спорить не буду. У него в этой области знаний куда больше, чем у меня. Начинай, - кто сможет поддержит. Всеравно от этого не уйти.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Slavikk » 30.09.2008 09:32:45

CG вместо GLSL и HLSL - и вперёд обрабатывать математику на видеокартах и CUDA ненужна. Заголовки для OpenGL и Directx есть для паскаля. В программе проверили, что доступно (не везде версии адекватны, у некоторых стоят более менее новые драйвера с OpenGL и Directx 8, у некоторых Directx 9 но версия OpenGL старенькая в драйверах видеокарты) из графических интерфейсов и через CG шейдеры нагрузили :). Можно не закорачиваться и использовать только OpenGL + GLSL. Но под всеми 4 моделями видеокарт (ATI, NVIDIA, INTEL и 4 не помню) нужно тестировать, потому что стандарт каждый понимает по своему. В конечном итоге не изворачиваясь получите расчётный процессор, только чего с ним делать :D .

Serafim писал(а):Нужно общее решение, работающее и на видеокартах ATI, и на видеокартах nVidia, плюс ещё нужно учесть Larrabee от Intel, которая должна выйти в 2009 или 2010 году.


CUDA - дитё NVIDIA, ATI её вроде тоже понимать стал но на всё есть своё но. И для того что вы предлагаете нужно писать целую систему (фраймворк) не меньше чем Lazarus надстроенный над FPC. Могу поделать Вам только удачи, я бы такой фраймворк поиспользовал, только вот не знаю ещё где :D .
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Serafim » 30.09.2008 11:20:59

Я бы с радостью написал подобный Фрэймуорк, если бы это было так просто и если бы моих знаний хватило на это. Но тут нужна работа не одного человека, а многих, возможно, даже нескольких десятков, и нужно тесное сотрудничество с AMD/ATI, nVidia и Intel, или по крайней мере очень хорошее знание архитектур их продуктов. При этом нужно ещё очень много свободного времени, чего у меня в день бывает не более 5 часов.
Serafim
новенький
 
Сообщения: 18
Зарегистрирован: 29.07.2008 14:55:16
Откуда: Екатеринбург

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение ev » 30.09.2008 12:11:56

При этом нужно ещё очень много свободного времени, чего у меня в день бывает не более 5 часов

5 часов - это довольно много ;)
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: Программирование высокопараллельных задач на GPU и fpc

Сообщение Serafim » 30.09.2008 12:59:25

Если каждый день с утра до ночи только работать и работать, то очень быстро это всё может, мягко говоря, очень сильно надоесть.
Serafim
новенький
 
Сообщения: 18
Зарегистрирован: 29.07.2008 14:55:16
Откуда: Екатеринбург

След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

Рейтинг@Mail.ru