Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какие задачи кроме графических вы решали при, помощи видеокарт? 
:(
    Опции темы
Royan
  Дата 30.7.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



Не секрет, что уже некоторое время набирает силу направление разработки программ, которые для решения своих задач используют мощность не CPU, а GPU. Вопрос к участникам форума, кто из вас использовал ресурсы GPU, для решения каких-либо задач не графики? Грубо говоря пользовался карточкой не по назначению? Интересно узнать что это была за задача, каковы были успехи в ее решении, действительно ли ощущался серьезный скачок в скорости вычисления?


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
sgi1981
Дата 31.7.2008, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: нет
Всего: 10



Я сегодня ночью тестировал быстродействие GPU с помощью шейдера фрагментов.
В тексте шейдера фрагментов прописал 140 инструкций вычисления косинуса.
Составлял приложение на ассемблере FASM. Шейдер писал тоже на его ассемблере.
Вот фрагмент шейдера
Код

stringShader db '!!ARBfp1.0', 13, 10
db '#fog.fp', 13, 10
db 'ATTRIB iFrP = fragment.position;', 13, 10
db 'OUTPUT oPrC = result.color;', 13, 10
db 'PARAM density = {0, 0, 0, 0};', 13, 10
db 'PARAM fogColor = {0.5, 0.8, 0.5, 1.0};', 13, 10
db 'PARAM e = {2.71828, 0, 0, 0};', 13, 10
db 'TEMP fogFactor, tc, ttt;', 13, 10
db 'TEX tc, fragment.texcoord[0], texture[0], 2D;', 13, 10

db 'MOV ttt, 1.0;', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10    
db '#и так далее (всего 140 инструкций COS ttt.x, ttt.x);', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10
db 'COS ttt.x, ttt.x;', 13, 10
db 'MUL fogFactor.x, iFrP.z, ttt.x;', 13, 10
db 'MUL fogFactor.x, fogFactor.x, fogFactor.x;', 13, 10
db 'POW fogFactor.x, e.x, -fogFactor.x;', 13, 10
db 'MAX fogFactor.x, fogFactor.x, 0.0;', 13, 10
db 'MIN fogFactor.x, fogFactor.x, 1.0;', 13, 10
db 'LRP oPrC, fogFactor.x, tc, fogColor;', 13, 10
db 'END', 13, 10, 0 


Это вначале был шейдер для генерации тумана.
Затем решил узнать быстродействие.

Ну и вот результат такой.
Разрешение окна == 1680 * 1050
FPS == 7
Количество тригонометрических инструкций == 140.
И все это в произведении дает 1728720000 косинусов в секунду с одинарной точностью, 7 десятичных знаков после запятой или 24 двоичных. Неплохо !
Дело в том, что GPU многоядерный (возможно больше 200 ядер), в каждом ядре собственное ALU. Набор инструкций его во много раз меньше чем у ЦП. Поэтому и каждое ядро занимает меньше транзисторов и ядер таких можно поместить много.
У меня ЦП Celeron 4 вычисляет ту же функцию с точностью 19 десятичных знаков после запятой или 64 двоичных за несколько десятков тактов.

Вот только набор инструкций у GPU ограниченный. Например, нет в ассемблере OpenGL для GPU инструкций условного и безусловного переходов.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
W4FhLF
Дата 31.7.2008, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



На GPU эффективно могут решаться любые задачи удовлетворяющие следующим условиям: 

1. Неинтеративность алгоритма. Т.е. возможность его распараллелить.
2. Малое число исходных и обрабатываемых данных (не более 16кб).
3. Операции с 32х разрядными целыми и вещественными с одинарной точностью числами.



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Rickert
Дата 3.8.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



В одном из номеров phrack писалось про использование GPU в качестве криптомашины.

Это сообщение отредактировал(а) Rickert - 3.8.2008, 12:29


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.