Проект Openwall (http://www.openwall.com) решил нестандартным образом поддержать проводимую в Москве в начале ноября конференцию по информационной безопасности ZeroNights (http://2013.zeronights.ru), а также всех заинтересованных разработчиков Open Source проектов. Как для посетителей ZeroNights (независимо от их участия в Open Source), так и для Open Source разработчиков (независимо от их участия в ZeroNights) будет предоставляться (http://www.openwall.com/lists/announce/2013/10/23/1) удаленный доступ к HPC Village (http://openwall.info/wiki/HPC/Village), гетерогенной (гибридной) системе высокопроизводительных вычислений с серверными многоядерными процессорами (CPU) и вычислительными модулями различных типов - Intel MIC (Xeon Phi), AMD GPU, NVIDIA GPU.
Упомянутые четыре типа вычислительных устройств (CPU, MIC и два типа GPU) доступны в том числе через OpenCL (при желании, даже все четыре одновременно из одной программы), а также через специфичные для некоторых из них модели использования. Хотя в реальных гетерогенных вычислительных системах наличие более чем двух типов вычислительных устройств в рамках одного узла является нетипичным, такая конфигурация удобна для ознакомления с различными технологиями, для их сравнения на конкретных задачах, и для разработки, отладки и оптимизации переносимых (portable) программ.
Тогда как для посетителей ZeroNights доступ будет предоставляться на срок с 1-го по 15-е ноября, для Open Source разработчиков четких ограничений по срокам нет. Предположительно, HPC Village продолжит существование и далее, и займет свою нишу наряду с GCC Compile Farm (http://gcc.gnu.org/wiki/CompileFarm).URL: http://www.openwall.com/lists/announce/2013/10/23/1
Новость: http://www.opennet.me/opennews/art.shtml?num=38241
Интересно, майнеров будут сразу банить или немного погодя?
Казалось бы, при чем тут биткоины?
Ну почему же сразу биткоины? Лайткоины еще есть :).
Ты уверен, что тебе дадут мощности бльше чем в твоем старом писюке с бюджетной видяхой? Для ознакомления с технологиями тебе и 200Мгц одного ядра хватит. Даже код будет быстрее))
Мы не планируем ограничивать предоставляемую одному человеку вычислительную мощность, так как это помешало бы сравнению производительности на разных устройствах и оптимизации кода, и так как это сложно в осуществлении (если говорить обо всех четырех типах устройств). В то же время, мы понимаем, что одновременное использование системы несколькими пользователями без ограничений также может мешать сравнениям и оптимизации (так как создаваемый другими пользователями уровень загрузки будет меняться). Поэтому, когда потребуется, мы поможем координировать взаимодействие участников - чтобы каждый мог проверить производительность своего кода на выбранном им устройстве без посторонней загрузки (в согласованное время и/или проверив соответствующей командой, что устройство простаивает).Что касается майнеров, я думаю, что попыток злоупотребления предоставленными ресурсами для майнинга, при этом без участия в разработке соответствующего майнера, будет мало. Bitcoin уходит на ASIC'и. Если же кто-нибудь возьмется реализовать Litecoin mining на Xeon Phi и опубликовать полученный код, это будет только хорошо.
> Если же кто-нибудь возьмется реализовать Litecoin mining на Xeon PhiА что, OpenCL ядра там не соберутся?
> А что, OpenCL ядра там не соберутся?Есть шанс что соберутся и даже что будут работать, но почти наверняка неэффективно. Программировать под Xeon Phi желательно используя OpenMP и intrinsics, или хотя бы OpenMP и авто-векторизацию средствами icc. Вместо OpenMP, по вкусу, можно pthreads или даже fork() (240 раз), если делать полностью native-сборку (а не offload с хост-системы) - я проверял, работает. Векторизация в их OpenCL на данный момент не работает, если она там вообще есть. Т.е. через OpenCL получается только использование скалярной части 60-ти ядер (которая там времен первого Pentium, разогнанного на 1+ GHz), тогда как 512-битные SIMD units простаивают.
Еще одна мелкая особенность, если всё же использовать OpenCL: программы могут проверять на тип OpenCL-устройства - CL_DEVICE_TYPE_CPU или CL_DEVICE_TYPE_GPU - в то время как Xeon Phi не считает себя ни тем, ни другим, и выдает CL_DEVICE_TYPE_ACCELERATOR. Так что может потребоваться правка кода, чтобы он делал разумный для случая Xeon Phi выбор, увидев CL_DEVICE_TYPE_ACCELERATOR.
Для Litecoin mining надо подбирать оптимальный time-memory tradeoff. В майнерах соответствующий параметр назван gap, и для GPU его обычно ставят равным 2. Я не удивлюсь, если для Xeon Phi более оптимальным окажется 1, т.е. сохранение всех 128 KB (в L2 cache, которого как раз по 512/4 = 128 KB на один hardware thread), что позволит упростить и чуточку ускорить код. Ну и реализацию Salsa20 с помощью intrinsics наверняка можно написать лучше, чем это сделает компилятор - тем более, что надо реализовать от 4 до 16 экземпляров Salsa20 в одном векторе (он 512-бит, тогда как Salsa20 использует максимум 128) и выбрать какой вариант окажется эффективнее.
здорово.