> Что-то недооптимизили явно.Конечно. Но не факт, что конкретно для sha512crypt нынешние карты от AMD быстрее нынешних же карт от NVIDIA (при оптимальном коде и там и там). Эта задача не сводится чисто к вычислениям, но также слегка затрагивает и работу с памятью - не настолько как bcrypt или тем более scrypt, но более чем многие другие хеши. Вот в этом треде:
http://hashcat.net/forum/thread-790.html
автор hashcat дает такую оценку: "i dont expect sha512crypt being much faster on gpu than on cpu. maybe x 2 or x 3 at best." И по этой причине не торопится с реализацией (скорость не впечатлит, да). У нас же получилось 5.5x (на NVIDIA), что вдвое выше прогноза. Правда, если учесть что реализация на CPU может быть оптимизирована и ускорена как раз где-то еще вдвое (есть конкретные соображения на этот счет), то останутся те самые прогнозируемые 2-3 раза. Также, oclHashcat-plus недавно начал поддерживать raw SHA-512 и вариант, используемый в Mac OS X Lion, давая скорость около 70 миллионов паролей в секунду на один GPU-чип почти одинаково что на GTX 570 1600 MHz, что на HD 7970 (т.е. на таких же карточках, которые мы используем в разработке). У нас достигается близкая скорость: 11400 c/s * 5000 итераций = 57 миллионов. С учетом затрат на "высокоуровневый" алгоритм sha512crypt, это хороший результат. Аналогично, у нас достигается скорость под 70M c/s при подборе паролей для хешей с Mac OS X Lion для случая "many salts" (т.е. когда мы не упираемся в передачу пробуемых паролей от CPU на GPU).