Криптография. CUDA (метод решета числового поля)
Нужен специалист CUDA для написания проекта. Важна высокая эффективность кода. На данном этапе нужно уметь грамотно работать с большими массивами данных (~6gb в сумме для начала). Будет очень кстати умение работать с памятью ГПУ и оптимально её использовать. Алгоритм достаточно простой (генерация больших массивов, сортировка, редуцирование), но возможен даже ваш вариант алгоритма. Полная свобода. Сторонние библиотеки не возбраняются.
имеется массив структур: FB[12 000 000] = { r[16384], p, log(p) }. Двумерная задача на сетке 0-12млн х 0-16384. Массив r - массив отступов по оси икс от нуля. р - шаг. Для каждого элемента FB необходимо сгенерировать массив ключ-значение по следующему алгоритму: для каждого r с шагом р генерируется индекс (читай, адрес), значение пока любое (не суть).
в общем алгоритм не самый сложный, но нужна эффективная его реализация
делал это на thrust
там много итераций циклов, что целиком сжирает всю производительность
и, по хорошему, задачу сначала надо, наверное, векторизовать
там получается один цикл 12млн итераций, и внутренний цикл 16384 итерации