Помогите, пожалуйста, новичку, понять нужно ли ему GPU.
Есть конечный автомат (набор состояний и правил перехода из одного состояния в другое при обработке буквы. Например, автомат имеет три состояния 1,2,3 и правила: 1->2, если обрабатывается буква A, 2->3, если обрабатывается буква B, 1->3, если обрабатывается буква C. Если обрабатываемая буква не описана в правилах для текущего состояния, то автомат переходит в состояние 1. Запуская в такой автомат слово AB получаем состояние 3, запуская слово ACСCA получаем состояние 2[1->2->1->3->1->2]). Есть миллион слов. Нужно узнать достигается ли заданное состояние при обработке слова автоматом и установить все пары (слово, позиция в слове, на котором достигнуто данное состояние).
Автомат имеет размер не больше 1Кб. Слова разного размера -- от 16 букв до 24 тысяч. Разных букв всего 18.
Задача хорошо паралеллится: взяли миллион тредов (в смысле CPU) и каждому дали по слову.
Можно ли эффективно использовать GPU для этой задачи? Если да, то какова эффективная стратегия?