Табличное преобразование на GPU
От: Аноним  
Дата: 25.06.11 18:43
Оценка:
Насколько эффективно можно реализовать алгоритм, основанный на табличном преобразовании с использованием CUDA, OpenCl. Т.е. есть строка символов. Каждый символ(после некотрых вычислений м.б.) явялется индексом в таблице. Нужно сформировать новую строку. Пример — преобразование регистра. Насколько технология GPGPU хзорошо подходит под такой класс задач?
Re: Табличное преобразование на GPU
От: B7_Ruslan  
Дата: 25.06.11 19:55
Оценка: +1
В принципе хорошо подходит, если строка содержит очень много символов — 100кб и выше.
Табличка даже для 2х байт наверняка может целиком уместиться в кэше констант.
Еще лучше если символы обрабатываются независимо и код предварительной обработки имеет мало ветвлений.
Также желательно строку дополнять символами так, чтобы ее длина была кратной числу ядер ГПУ.
Re: Табличное преобразование на GPU
От: Erop Россия  
Дата: 27.06.11 11:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Насколько эффективно можно реализовать алгоритм, основанный на табличном преобразовании с использованием CUDA, OpenCl. Т.е. есть строка символов. Каждый символ(после некотрых вычислений м.б.) явялется индексом в таблице. Нужно сформировать новую строку. Пример — преобразование регистра. Насколько технология GPGPU хзорошо подходит под такой класс задач?


Если таблица позволит хранить себя в памяти для текстур, то всё срастётся.

С другой стороны. многие таблицы можно довольно быстро вычислить аналитически. Так что даже и без таблицы, или только с таблицей поправок, может хорошо получиться. Главное тут, чтобы преобразования были действительно массовыми.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Табличное преобразование на GPU
От: BulatZiganshin  
Дата: 27.06.11 19:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Насколько эффективно можно реализовать алгоритм, основанный на табличном преобразовании с использованием CUDA, OpenCl. Т.е. есть строка символов. Каждый символ(после некотрых вычислений м.б.) явялется индексом в таблице. Нужно сформировать новую строку. Пример — преобразование регистра. Насколько технология GPGPU хзорошо подходит под такой класс задач?


мне кажется, что это и на cpu упрётся скорее в скорость памяти. сам посчитай — на core2quad можно выполнять больше 10 миллиардов таких преобразований в секунду
Люди, я люблю вас! Будьте бдительны!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.