Здравствуйте, Razard, Вы писали:
R>Здравствуйте, mossad_re, Вы писали:
_>>Доброго времени суток. _>>У меня следующий вопрос: _>>Есть двумерный массив перестановок: _>>__device__ int ArrayDev[8][64] = {{.....}};
_>>И в теле каждого потока я обращаюсь к его элементам. _>>int A = AnyFactor; _>>int B = OtherFactor; _>>int C = ArrayDev[A][B]; _>>......
_>>Вопрос, как можно оптимизировать такой доступ? Именно он отнимает много времени. _>>Массив ArrayDev определён глобально.
R>Вариантов много. Наиболее качественный результат можно получить только учитывая особенности алгоритма и доступа к массиву: R>- если есть взаимно независимый доступ к элементам, то можно разделить массив на блоки и поместить в отдельные SM; R>- если алгоритм доступа имеет однозначную последовательность доступа, то переформатировать массив для параллелизации и маскирования доступа к глобальной памяти; R>- другие варианты, учитывающие параллелизацию алгоритма...
R>Нужны подробности.
Да собственно это алгоритм для генерации ключа в DES CBC.