Перейти к содержанию
Иммерсионное охлаждение для майнинга
  1. Иммерсионное охлаждение

    1. 1 262
      сообщения
    2. 673
      сообщения
    3. Иммерсионные ванны для майнинга

      Обсуждаем ванны для иммерсионного охлаждения от разных производителей.

      118
      сообщений
    4. Опыт эксплуатации иммерсионного охлаждения

      Делимся опытом эксплуатации иммерсионного охлаждения. Приветствуются советы и лайфхаки.

      3
      сообщения
  2. Майнинг

    1. Общие вопросы по майнингу

      Что такое майнинг? Для чего нужен?  Как он работает? Обсуждаем здесь.

      59
      сообщений
    2. Пулы для майнинга

      Обсуждаем отечественные и зарубежные пулы для Майнинга криптовалюты.

      9
      сообщений
    3. Облачный майнинг, агрегаторы

      Обсуждаем сервисы облачного Майнинга.

      16
      сообщений
    4. 20
      сообщений
    5. Алгоритмы майнинга криптовалют

      Обсуждаем алгоритмы Майнинга криптовалют.

      13
      сообщений
  3. Все о криптовалютах

    1. 12
      сообщений
    2. 47
      сообщений
    3. 94
      сообщения
    4. 9
      сообщений
    5. 8
      сообщений
  4. Оборудование для майнинга

    1. 28
      сообщений
      • Сообщений пока нет
      • Сообщений пока нет
      • Сообщений пока нет
  5. Барахолка

    1. 11
      сообщений
      • Сообщений пока нет
  6. Обо всем

      • Сообщений пока нет
    1. 5
      сообщений
  • Статистика пользователей

    262
    Пользователей
    998
    Максимум онлайн
    bennieEcome
    Новый пользователь
    bennieEcome
    Регистрация
  • Записи блога

    • От ComBox Technology в Иммерсионное охлаждение в майнинге и наукоемких вычислениях на GPU
         4
      Майнинг криптовалют медленно трансформируется из создания монет на базе одной карты или фермы дома в обособленную отрасль и переходит на промышленные масштабы. Такие компании, как AMD и Bitmain, внедряют инновационные продукты, помогающие модернизировать добычу, наращивать ее объемы.
      Однако со временем майнинг требует все больших капиталовложений, становясь эффективным только для пользователей, решивших профессионально работать в этом направлении. В то же время затраты огромного количества электроэнергии продолжают вызывать вопросы, что может приводить к новому пересмотру деятельности.
      Исходяиз этих предпосылок, компания «ComBox Technology», силами собственного научно-исследовательского отдела (R&D), разработала и предложила рынку уникальное решение «ComBox», предназначенное для майнинга альткоинов с помощью продуктов «ComBox» на базе графических карт (GPU) с системой двухфазного иммерсионного охлаждения. Уникальность «ComBox» состоит в использовании жидкостного охлаждения на базе негорючей жидкости «Novec 3М» и достигнутой высокой плотности установки видеокарт в рамках мобильных платформ, таких как контейнеры.
      В основе изначальной концепции решений «ComBox» для двухфазного жидкостного охлаждения заложена идея высокой безопасности работы на всем протяжении эксплуатации и высокие технико-экономические показатели. К примеру, раньше для организации ЦОД требовалось постройка зданий и сооружений, т.е. организация собственной большой и затратной инфраструктуры. Наше мобильное решение на базе 20-ти футового контейнера позволяет быстро собрать, доставить и установить его в месте с наименьшей ценой на электроэнергию.
      Спроектированная и разработанная компаний «ComBox Technology» расширительная плата SMART IC-6 позволяет крепить 6 современных видеокарт вплотную друг к другу, по 3 штуки с каждой стороны. За счет минимизации зазоров, их можно установить в очень большом количестве на ограниченной площади и очень плотно друг к другу. Также платы поддерживают каскадное подключение, т.е. в одну, даже самую дешевую, материнскую плату с одним PCIe можно подключить не менее 12 видеокарт.
      При других решениях, не используя такую расширительную плату, этого сделать не получится. Плата спроектирована с нуля и представляет собой не просто прототип, а серийно-производимое устройство. Она снабжена функциями контроля напряжений, которые идут с блоков питания, а встроенный процессор дает возможность блокировать видеокарты удаленно с интерфейса и наблюдать за всеми элементами системы в режиме реального времени, собирая телеметрию в объеме, который необходим и достаточен, например, температуру и уровеньжидкости. В качестве основного элемента системы охлаждения используется специальная жидкость, которую производит компания «3М». Это экологически безопасная фтор-органика, прозрачный диэлектрик, который кипит при температуре 61 градус. Следовательно, любая точка электроники в системе будет иметьмаксимальную температуру 61 градус. Это происходит из-за того, что для отвода тепла используетсяфазовый переход из жидкого состояния в газообразное. Температура жидкости при этом не меняется.
      Таким образом, мыполучаем охлаждение всех элементов: от памяти и процессоров, до мельчайших деталей. Именно эта жидкость используется для пожаротушения, поэтому с позиции рисков пожара и огня она полностью безопасна. В отличие от минерального масла, которое применяется в других системах, жидкость «3М» не может загореться, в принципе. Тепло в системе отводится за счет кипения, и эффективность такого отвода, по сравнению с воздушными системами охлаждения, крайне высокий. Поэтому технология, разработанная компанией «ComBox Technology», позволяет устанавливать оборудование минимум в 10 раз плотнее, чем при классической воздушной технологии. Благодаря наличию жидкостного охлаждения, резко снижаются затраты на кондиционеры, на кулеры и иные движущие части, которые теперь не могут сломаться или потребовать замены. В системе иммерсионного охлаждения отсутствуют подвижные детали, а просто работает физика: жидкость кипит, отводя тепло от нагретых элементов и, конденсируясь, стекает обратно в систему. Это качественное преимущество нашей системы. В результате мы получаем практически идеальное решение для вычислительных систем на базе видеокарт (GPU). Данное решение легко масштабируется и полностью готово для установки видеокарт повышенной производительности, с более высоким тепловыделением, в случае необходимости.
      Основные характеристики решения «ComBox»: 20-футовые мобильные контейнеры, в которых установлено 10 секций с иммерсионным охлаждением, размером 70х80х40 см по 96 видеокарт AMD RX470 в каждой. Итого – 960 карт/контейнер. Энергопотребление 1 контейнера – 170 кВт/час. Хешрейт на Ethereum – 26 GH/s. Энергопотребление рассчитано как потребление всей системы непосредственно от энергосети, а не только процессоров видеокарт.
    • От ComBox Technology в Иммерсионное охлаждение в майнинге и наукоемких вычислениях на GPU
         0
      Компания
      ComBox Technology - международная компания, разработчик и производитель систем с иммерсионным охлаждением для промышленного майнинга и решения наукоёмких задач.
      Суть проекта
      Получение прибыли от майнинга на 147-240 энергоэффективных контейнерах и её распределение между инвесторами.
      Решение
      Майнинг на GPU платах собственной разработки, установленных в контейнерах с двухфазным иммерсионным (Novec 3M) охлаждением. В каждом контейнере устанавливается 960 видеокарт AMD RX470, что позволяет получить вознаграждение в размере 60 ETH в месяц.

      Вычислительный кластер также будет использован для решения наукоёмких задач в секторах B2B/B2G.
      Для увеличения маржинальности бизнеса, помимо собственных мощностей, запускается внешний мультивалютный майнинговый пул с комиссией PPLNS 1%. После ввода в эксплуатацию планового числа контейнеров будет осуществляться их производство и продажа заказчикам с распределением прибыли среди инвесторов.
      Низкая себестоимость. Весь проект разработан собственным R&D центром Пожаробезопасность. Система анализа и предотвращения поломок Высокая энергоэффективность. Энергопотребление контейнеров всего PuE = 1.05 Быстрая окупаемость. ROI проекта - не менее 350%, срок окупаемости - 1,8 лет, инвестиционный период - 5 лет Страхование в «Альфастрахование». Страхование от хищения, действий третьих лиц, пожара и т.д. Длительная эксплуатация. GPU решение позволяет не только добывать криптовалюты, но и решать наукоемкие задачи Бизнес-модель
      Получение прибыли от майнинга и наукоёмких вычислений с ежемесячной выплатой дивидендов инвесторам в течении 5 лет с момента ввода первого контейнера в промышленную эксплуатацию. Производство контейнеров осуществляется на предприятии в России, по проекту собственной разработки.
      Видение
      Промышленный майнинг в интересах инвесторов. Мы можем построить контейнеры сами, но это будет долго. С внешними инвестициями мы сделаем это в течении 1 года, что позволит заработать и нам, и нашим инвесторам. ROI проекта – не менее 350%, срок выплаты дивидендов – 5 лет, ежемесячные выплаты. Майнинг с ComBox выгоднее содержания домашних ферм и ригов. Входите в промышленный майнинг профессионально вместе с нами.
      Вариативная финансовая модель проекта ComBox предоставляется по запросу после подписания NDA.
      География и локализация контейнеров - Россия Срок проведения preICO: 1 сентября – 31 октября Soft Cap: $39М USD Hard Cap: $45М USD Команда
      Команда проекта – опытные специалисты из разных сфер, обладающие необходимыми техническими и коммуникативными навыками для реализации проекта подобного масштаба.
      Мы – существующая команда, работающая на благо себя и своих инвесторов. Мы занимаемся и специализируемся на решении сложных технических задач с 2005 года и зарекомендовали себя надежным, стабильным и грамотным партнером, как на локальном, так и на международном рынках.
       Александр Панкратов, Founder, CEO
       Дмитрий Елагин, Founder, CTO
       Дмитрий Рытвинский, Co-founder, CFO
      Коротко о решении
      Мобильные контейнеры с иммерсионным охлаждением по 960 видеокарт в каждом 10 секций с иммерсионным охлаждением Размер контейнера - 20 футов 960 видеокарт AMD RX470 внутри каждого контейнера Для охлаждения применяется негорючая и безопасная фтор-органика Novec 3M Скорость срабатываниявстроенных механизмов защиты - 1 секунда Энергопотребление 1 контейнера - 170 кВт Хешрейт на Ethereum - до 26 гигахешей/сек Soft Cap - $39 000 000
      147 контейнеров; майнинг только ETH; внешний ETH-пул с честной PPLNS-комиссией в 1%. Hard Cap - $45 000 000
      240 контейнеров; майнинг ETH и другие валюты в соответствии с планом; внешний мультивалютный пул с честной PPLNS-комиссией в 1%. Наше решение позволит:
      при промышленных масштабах производства сделать покупку токена более рентабельным чем домашний майнинг; приумножить вложенные средства минимум в 3,5 раза; зарабатывать майнингом без покупки оборудования; быстро и легко войти в мир криптоэкономики и майнинга. Наше решение помежет избежать:
      пожара и потери дорогостоящего майнингового оборудования; рисков увеличения сложности добычи решений на таких валютах, где применяются ASIC’s; шума, перегрева и выхода из строя ферм, которые устанавливаются дома. Обзор и тенденции рынка
      Хешрейт сетей растет, количество майнеров уменьшается
      Майнинг переходит в промышленные масштабы и централизуется в рамках пулов, которые распределяют задачи и консолидируют мощности для поиска блоков Увеличивается использование криптовалюты в мире
      Временно приостановился и зафиксировался в рамках текущих значений уровень сложности добычи, что обусловлено отсутствием технологического прогресса
      Снижаются награды за блок, но это компенсируется ростом стоимости криптовалюты
      Проблемы и решения
      Существует огромное количество решений для майнинга. Это и ASIC, и GPU-фермы с воздушным охлаждением, и ванны с минеральным маслом, в которых «купаются» ASIC’и или иное оборудование.
      Давайте сравним то, что есть, с нашим решением.

      Продукты
      Над решением мы работали 2 года и за это время сделали следующее:
      Разработали новое решение с высокими экономическими показателями, предназначенное для добычи криптовалют в промышленных масштабах. Реализовали 4 контейнера на базе воздушного охлаждения с применением видеокарт RX570. Выявили все недостатки, такие как плотность установки карт, температурные перепады, риски возгорания, загрязнение, перегрев и другое. Объединили контейнеры в цифровую экосистему «ComBox» путем внедрения собственного программного решения и набора аппаратных решений для автоматического пожаротушения, отключения, удаленного управления и т.д. Разработали новое решение для двухфазного иммерсионного охлаждения в виде секции на 96 GPU карт. Реализовали 1 контейнер на иммерсионном охлаждении, в котором установлено 960 видеокарт с максимальным энергопотреблением 170 кВт/час. Разработали финансовую модель и структуру производства под будущее масштабирование для пуско-наладки новой производственной линии конвейерного типа. Мы понимаем и изначально заложили в концепцию возможность применения разработанных технологий не только в майнинге, но и в наукоемких вычислениях, спрос на которые только формируется.
      Мы прибегаем к масштабированию путем привлечения внешних инвестиций для готового решения, обладающего необходимым потенциалом, в основе которого лежит уникальная технология, разработанная нами. Мы готовы к промышленному масштабированию готового решения.
      Наше решение проверено и готово к серийному производству!
      Наши технологии
      Плата расширения PCIe ComBox SMART A-6. Позволяет подключить 6 видеокарт через плату расширения к недорогой материнской плате через один PCIe разъем. Вторая плата с еще 6 картами может быть подключена каскадно. Плата для систем с двухфазным иммерсионным охлаждением ComBox SMART IC-6. На одной плате устанавливается 6 GPU AMD RX470, которые потом собираются в секцию из 16 штук для погружения и работы в жидкости. За счет компактности резко снижается расход и необходимое количество дорогостоящей фтор-органики. Шкаф АСУ собственной разработки для контейнеров с воздушным охлаждением ComBox A-480. Позволяет управлять контейнером по заданным изначально алгоритмам и отвечает за безопасность эксплуатации дорогостоящего оборудования внутри. Серверный шкаф для ComBox A-480. Позволяет загружать вычислительные блоки по сети, без использования жестких дисков, что позволяет оперативно менять алгоритмы вычислений. Вычислительный блок ComBox A-12 и программа «Агент». Бездисковая аппаратно-программная система с 12 высокопроизводительными видеокартами на воздушном охлаждении и дополнительным высокоэффективным отводом тепла.
      Вычислительный блок с иммерсионным охлаждением ComBox IC-96. В пространстве, которого раньше хватало для установки всего 6-8 видеокарт, теперь помещается 96 штук. В секции стоит 16 плат собственной разработки ComBox IC-6. Нет кулеров, нет шума, нет перегрева, нет поломок и сопутствующих затрат.
      Контейнер ComBox A-480. Мы построили 4 контейнера на базе собственных разработок систем с воздушным охлаждением. Они введены в промышленную эксплуатацию и выполняют функции майнинга на Ethereum со средней доходностью не менее 27 ETH в месяц каждый. Контейнер с иммерсионным охлаждением ComBox IC-960. Жидкостное охлаждение позволяет повысить энергоэффективность и плотность размещения оборудования. Возможность долгосрочной эксплуатации без проблем запыленности и влажности.
      Мультивалютный пул. Мы объединяем собственные мощности с внешними, чем компенсируем рост сложности добычи криптовалют и увеличиваем доходность для наших инвесторов. Дорожная карта и цели

      ICO ComBox и токен CBP
      Soft Cap - $39M USD Hard Cap - $45M USD CBP - это секьюрити-токен стандарта ERC20, цифровой актив, гарантирующий получение ежемесячных дивидендов в ETH в соответствии с долей владения CBP. Дивиденды начисляются от следующих видов деятельности: майнинга, мультивалютного пула, производства и продажи контейнеров.
      После проведения ICO будет произведена процедура листинга токена CBP на бирже.
      Распределение средств:
      Инвесторы - 80% Фаундеры и команда - 10% Резервный фонд - 7% Баунти - 3% Как приобрести токены CBP

      Команда проекта

      Контакты
      Если у вас возникли вопросы, замечания или предложения, то наша команда с радостью ответит на них в любое удобное время!
      Представительство в РФ: ООО «ЭВЕРЕСТ», 194295, Санкт-Петербург, Поэтический бульвар, дом 2 Телефон: +7 (812) 748-27-27 Сайт - www.combox.io Электронная почта: info@combox.io
    • От diz в Новости крипто мира
         0
      Интерфейс кошелька Trezor расширяет функционал, предлагая пол ьзователям возможность обмена криптовалюты. Обмен криптовалют происходит при участии посредников. «SatoshiLabs не несет ответственности за процесс обмена, курсы, комиссионные сборы или функциональность этих сервисов, — говорится в анонсе. — Пока что мы решили сотрудничать с ShapeShift и Changelly». Как и во время тестов новой функции Trezor Wallet, политика компании по отношению к KYC не изменилась: представители SatoshiLabs сообщают, что не собираются требовать от пользователей проходить процедуру верификации. Это, однако, не означает, что у посредников должно быть такое же отношение к KYC: они могут запрашивать личные данные пользователей.
    • От diz в Новости крипто мира
         0
      Команда Trade.io сообщила, что из холодного кошелька криптоплатформы несанкционированно выведены 50 млн токенов TIO (около $8 млн по текущему курсу). По словам представителей проекта, после этого началась подозрительная торговая активность в парах с токеном TIO на платформах Bancor и Kucoin. Вскоре по просьбе Trade.io обе площадки заблокировали возможность ввода-вывода токенов. В Trade.io подчеркнули, что использовали «рекомендованное холодное хранение, также были задействованы депозитарные ячейки в банках со всеми соответствующими материалами». При этом банковские ячейки не были скомпрометированы. В настоящее время команда проекта рассматривает возможность проведения хардфорка, который сделает похищенные токены бесполезными. О своем решении представители платформы пообещали сообщить в течение суток.
       
    • От diz в Новости крипто мира
         0
      Swissquote первым из швейцарских банков предложил своим клиентам участвовать в ICO
      Клиенты Swissquote смогут стать участниками ICO, используя онлайн-платформу своего банка. Никаких дополнительных процедур и технических сложностей не планируется — зарегистрированные пользователи просто получают возможность купить токены ICO за швейцарские франки, находящиеся у них на счету. Банк берет на себя техническое обеспечение сделки и хранение купленных токенов. Пробным шаром станет ICO LakeDiamond, структуры, имеющей отношение к EPFL, то есть Швейцарскому федеральному технологическому институту в Лозанне. Минимальная партия токенов, доступных к покупке — 60 штук, стоимость составляет 33 франка.
       
  • Блоги

    1. Команда Trade.io сообщила, что из холодного кошелька криптоплатформы несанкционированно выведены 50 млн токенов TIO (около $8 млн по текущему курсу). По словам представителей проекта, после этого началась подозрительная торговая активность в парах с токеном TIO на платформах Bancor и Kucoin. Вскоре по просьбе Trade.io обе площадки заблокировали возможность ввода-вывода токенов. В Trade.io подчеркнули, что использовали «рекомендованное холодное хранение, также были задействованы депозитарные ячейки в банках со всеми соответствующими материалами». При этом банковские ячейки не были скомпрометированы. В настоящее время команда проекта рассматривает возможность проведения хардфорка, который сделает похищенные токены бесполезными. О своем решении представители платформы пообещали сообщить в течение суток.
       

    2. Наш опыт использования вычислительного кластера из 480 GPU AMD RX 480 при решении математических задач. В качестве задачи мы взяли доказательство теоремы из статьи профессора Чуднова А.М. “Циклические разложения множеств, разделяющие орграфы и циклические классы игр с гарантированным выигрышем“. Задача заключается в поиске минимального числа участников одной коалиции в коалиционных играх Ним-типа, гарантирующее выигрыш одной из сторон. 

      Развитие CPU

      Первый процессор, получивший действительно массовое распространение – это 8086 от компании Intel, разработанный в 1978 году. Тактовая частота работы 8086 составляла всего 8 МГц. Спустя несколько лет появились первые процессоры внутри которых было 2, 4 и даже 8 ядер. Каждое ядро позволяло выполнять свой код независимо от других. Для сравнения — современный процессор Intel Core i9-7980XE работает на частоте 2,6 ГГц и содержит 18 ядер. Как видите — прогресс не стоит на месте!

      Развитие GPU

      Одновременно с развитием центральных процессоров развивались и видеокарты. В основном их характеристики важны для компьютерных игр, там новые технологии проявляются особенно красочно и рендеринг 3D картинки постепенно приближается к фотографическому качеству. В начале развития компьютерных игр расчет картинки выполнялся на CPU, но вскоре был достигнут предел изобретательности разработчиков 3D-графики, ухитрявшихся оптимизировать даже очевидные вещи (хороший пример тому — InvSqrt()). Так, в видеокартах стали появляться сопроцессоры со специальным набором команд для выполнения 3D вычислений. Со временем число таких команд росло, что, с одной стороны, позволяло гибче и эффективнее работать с изображением, а с другой — усложнило процесс разработки.

      С 1996 года начали выпускаться графические ускорители S3 ViRGE, 3dfx Voodoo, Diamond Monster и другие. В 1999 году nVidia выпустила процессор GeForce 256, введя в обиход термин GPU — графический процессор. Он уже универсальный, может заниматься геометрическими расчетами, преобразованием координат, расстановкой точек освещения и работой с полигонами. Отличие GPU от других графических чипов заключалось в том, что внутри, кроме специализированных команд, был набор стандартных команд, с помощью которых можно было реализовать свой алгоритм рендеринга. Это дало значительное преимущество, так как позволило добавлять любые спецэффекты, а не только те, которые уже запрограммированы в видеокарту. Начиная с GeForce 8000/9000 в GPU появились потоковые процессоры — уже полноценные вычислители. Их число варьировалось в зависимости от модели от 16 до 128. В современной терминологии они называются унифицированные шейдерные блоки, или просто шейдерные блоки. В производимых сегодня GPU AMD Vega 64 содержится 4096 шейдерных блока, а тактовая частота может достигать 1536 МГц!

      Что содержит в себе GPU

      Архитектура GPU отличается от CPU большим количеством ядер и минималистичным набором команд, направленных в основном на векторные вычисления. На уровне архитектуры решены вопросы параллельной работы большого числа ядер и одновременного доступа к памяти. Современные GPU содержат от 2-х до 4-х тысяч шейдерных блоков, которые объединены в вычислительные юниты (Compute Unit). При параллельных вычислениях особенно остро стоит проблема одновременного доступа к памяти. Если каждый из потоковых процессоров попытается выполнить запись в ячейку памяти то эти команду упрутся в блокировку и их необходимо будет поставить в очередь, что сильно снизит производительность. Поэтому потоковые процессоры выполняют команды небольшими группами: пока одна группа производит вычисления, другая загружает регистры и т.д. Также можно объединить ядра в рабочие группы, обладающие общей памятью и внутренними механизмами синхронизации. 

      Еще одной важной особенностью GPU является наличие векторных регистров и векторных АЛУ, которые могут выполнять операции одновременно для нескольких компонентов вектора. Это в первую очередь нужно для 3D графики, но поскольку наш мир трехмерный, ничто не мешает использовать это для многих физических вычислений. При наличии свободных векторных АЛУ их можно использовать и для вычисления скалярных величин.

      Они такие разные, CPU и GPU

      Для полноценной работы вычислительной системы важны оба типа устройств. К примеру, мы выполняем пошаговую программу, некий последовательный алгоритм. Там нет возможности выполнить пятый шаг алгоритма, так данные для него рассчитываются на шаге четыре. В таком случае эффективнее использовать CPU с большим кэшем и высокой тактовой частотой. Но есть целые классы задач, хорошо поддающихся распараллеливанию. В таком случае эффективность GPU очевидна. Самый частый пример — вычисление пикселей отрендеренного изображения. Процедура для каждого пикселя почти одинаковая, данные о 3D объектах и текстурах находятся в ОЗУ видеокарты и каждый потоковый процессор может независимо от других посчитать свою часть изображения.

      Вот пример современной задачи — обучение нейронной сети. Большое количество одинаковых нейронов необходимо обучить, то есть поменять весовые коэффициенты каждого нейрона. После таких изменений нужно пропустить через нейросеть тестовые последовательности для обучения и получить вектора ошибок. Такие вычисления хорошо подходят для GPU. Каждый потоковый процессор может вести себя как нейрон и при вычислении не придется выстраивать решение последовательным образом, все наши вычисления будут происходить одновременно. Другой пример — расчет аэродинамических потоков. Необходимо выяснить возможное поведение проектируемого моста под воздействием ветра, смоделировать его аэродинамическую устойчивость, найти оптимальные места установки обтекателей для корректировки воздушных потоков или рассчитать устойчивость к ветровому резонансу. Помните знаменитый “танцующий мост” в Волгограде? Думаю, что никто не хотел бы оказаться в тот момент на мосту… 

      Поведение воздушного потока в каждой точке можно описать одинаковыми математическими уравнениями и решать эти уравнения параллельно на большом количестве ядер.

      GPU в руках программистов

      Для выполнения вычислений на GPU используется специальный язык и компилятор. Существует несколько фреймворков для выполнения общих вычислений на GPU: OpenCL, CUDA, С++AMP, OpenACC. Широкое распространение получили первые два, но использование CUDA ограничено только GPU от компании nVidia.

      OpenCL был выпущен в 2009 году компанией Apple. Позднее корпорации Intel, IBM, AMD, Google и nVidia присоединились к консорциуму Khronos Group и заявили о поддержке общего стандарта. С тех пор новая версия стандарта появляется каждые полтора-два года и каждый привносит все более серьезные улучшения. 

      На сегодняшний день язык OpenCL C++ версии 2.2 соответствует стандарту C++14, поддерживает одновременное выполнение нескольких программ внутри устройства, взаимодействие между ними через внутренние очереди и конвейеры, позволяет гибко управлять буферами и виртуальной памятью.

      Реальные задачи

      Интересная задача из теории игр, в решении которой мы принимали участие — доказательство теоремы из статьи профессора Чуднова А.М. “Циклические разложения множеств, разделяющие орграфы и циклические классы игр с гарантированным выигрышем“. Задача заключается в поиске минимального числа участников одной коалиции в коалиционных играх Ним-типа, гарантирующее выигрыш одной из сторон. 

      С математической точки зрения это поиск опорной циклической последовательности. Если представить последовательность в виде списка нулей и единиц, то проверку на опорность можно реализовать логическими побитовыми операциями. С точки же зрения программирования такая последовательность представляет собой длинный регистр, например, 256 бит. Самый надежный способ решения этой задачи — перебор всех вариантов за исключением невозможных по очевидным причинам.

      Цели решения задачи — вопросы эффективной обработки сигналов (обнаружение, синхронизация, координатометрия, кодирование и т.д.).

      Сложность решения этой задачи в переборе огромного числа вариантов. Например, если мы ищем решение для n=25, то это 25 бит, а если n=100, то это уже 100 бит. Если взять количество всех возможных комбинаций, то для n=25 это 2^25=33 554 432, а для n=100 это уже 2^100=1 267 650 600 228 229 401 496 703 205 376 комбинаций. Возрастание сложности просто колоссальное!

      Такая задача хорошо распараллеливается, а значит она идеально подходит для нашего GPU кластера.

      Программисты vs математики

      Изначально математики решали эту задачу на Visual Basic в Excel, так удалось получить первичные решения, но невысокая производительность скриптовых языков не позволила продвинуться далеко вперед. Решение до n=80 заняло полтора месяца… Склоняем голову перед этими терпеливыми людьми.

      Первым этапом мы реализовали алгоритм задачи на языке Си и запустили на CPU. В процессе выяснилось, что при работе с битовыми последовательностями многое можно оптимизировать. 
      Далее мы оптимизировали область поиска и исключили дублирование. Также хороший результат дал анализ генерируемого компилятором ассемблерного кода и оптимизация кода под особенности компилятора. Всё это позволило добиться существенного прироста скорости вычислений.

      Следующим этапом оптимизации стало профилирование. Замер времени выполнения различных участков кода показал, что в некоторых ветках алгоритма сильно возрастала нагрузка на память, а также выявилось излишнее ветвление программы. Из-за этого “маленького” недочёта почти треть мощности CPU была не задействована.

      Очень важным аспектом решения подобных задач является аккуратность написания кода. Правильных ответов на эту задачу никто не знает и тестовых векторов соответственно нет. Есть лишь первая часть диапазона решений, которые были найдены математиками. Достоверность новых решений можно гарантировать только аккуратностью написания кода.

      Вот и наступил этап подготовки программы для решения на GPU и код был модифицирован для работы в несколько потоков. Управляющая программа теперь занималась диспетчеризацией задач между потоками. В многопоточной среде скорость вычисления увеличилась в 5 раз! Этого удалось добиться за счет одновременной работы 4 потоков и объединения функций.

      На этом этапе решение производило верные расчеты до n=80 за 10 минут, тогда как в Exсel’e эти расчеты занимали полтора месяца! Маленькая победа! 

      GPU и OpenCL

      Было принято решение использовать OpenCL версии 1.2, чтобы обеспечить максимальную совместимость между различными платформами. Первичная отладка производилась на CPU от Intel, потом на GPU от Intel. Уже потом перешли на GPU от AMD.

      В версии стандарта OpenCL 1.2 поддерживаются целочисленные переменные размерностью 64 бита. Размерность в 128 бит ограничено поддерживается AMD, но компилируется в два 64-х битных числа. Из соображений совместимости и для оптимизации производительности было решено представлять число размерностью 256 бит как группу 32-х битных чисел, логические побитовые операции над которыми производятся на внутреннем АЛУ GPU максимально быстро.

      Программа на OpenCL содержит ядро — функцию, которая является точкой входа программы. Данные для обработки загружаются с CPU в ОЗУ видеокарты и передаются в ядро в виде буферов — указателей на массив входных и выходных данных. Почему массив? Мы же выполняем высокопроизводительные вычисления, нам нужно много задач, выполняемых одновременно. Ядро запускается на устройстве во множестве экземпляров. Каждое ядро знает свой идентификатор и берет именно свой кусочек входных данных из общего буфера. Тот случай, когда самое простое решение — самое эффективное. OpenCL — это не только язык, но и всеобъемлющий фреймворк, в котором досконально продуманы все мелочи научных и игровых вычислений. Это здорово облегчает жизнь разработчику. Например, можно запустить много потоков, диспетчер задач разместит их на устройстве сам. Те задачи, которые не встали на немедленное исполнение, будут поставлены в очередь ожидания и запущены по мере освобождения вычислительных блоков. У каждого экземпляра ядра есть свое пространство в выходном буфере, куда он и помещает ответ по завершению работы.

      Основная задача диспетчера OpenCL — обеспечить параллельное выполнение нескольких экземпляров ядра. Здесь применён накопленный десятилетиями научный и практический опыт. Пока часть ядер загружает данные в регистры, другая часть в это время работает с памятью или выполняет вычисления — в результате ядро GPU всегда полностью загружено.
      Компилятор OpenCL хорошо справляется с оптимизацией, но разработчику влиять на быстродействие проще. Оптимизация под GPU идет в двух направлениях — ускорение выполнения кода и возможность его распараллеливания. Насколько хорошо распараллеливается код компилятором зависит от нескольких вещей: количество занимаемых scratch регистров (которые располагаются в самой медленной памяти GPU — глобальной), размер скомпилированного кода (надо поместиться в 32 кб кэша), количество используемых векторных и скалярных регистров.

      ComBox A-480 GPU или один миллион ядер

      Эта самая интересная часть проекта, когда от Excel мы перешли на вычислительный кластер состоящий из 480 видеокарт AMD RX 480. Большого, быстрого, эффективного. Полностью готового к выполнению поставленной задачи и получению тех результатов, которых мир еще никогда не видел.

      Хочется отметить что на всех этапах совершенствования и оптимизации кода мы запускали поиск решения с самого начала и сравнивали ответы новой версии с предыдущими. Это позволяло быть уверенными, что оптимизация кода и доработки не вносят ошибки в решения. Тут нужно понимать, что правильных ответов в конце учебника нет, и никто в мире их не знает.

      Запуск на кластере подтвердил наши предположения по скорости решений: поиск последовательностей для n>100 занимал около часа. Было удивительно видеть как на кластере ComBox A-480 новые решения находились за минуты, в то время как на CPU это занимало многие часы.

      Всего через два часа работы вычислительного кластера мы получили все решения до n=127. Проверка решений показала, что полученные ответы достоверны и соответствуют изложенным в статье теоремам профессора Чуднова А.М.

      Эволюция скорости

      Если посмотреть прирост производительности в ходе решения задачи, то результаты были примерно такими:

      • полтора месяца до n=80 в Excel;
      • час до n=80 на Core i5 с оптимизированной программой на С++;
      • 10 минут до n=80 на Core i5 с использованием многопоточности;
      • 10 минут до n=100 на одном GPU AMD RX 480;
      • 120 минут до n=127 на ComBox A-480.

      Перспективы и будущее

      Многие задачи стоящие на стыке науки и практики ожидают своего решения, чтобы сделать нашу жизнь лучше. Рынок аренды вычислительных мощностей только формируется, а потребность в параллельных вычислениях продолжает расти. 

      Возможные области применения параллельных вычислений:

      • задачи автоматического управления транспортными средствами и дронами;
      • расчеты аэродинамических и гидродинамических характеристик;
      • распознавание речи и визуальных образов;
      • обучение нейронных сетей;
      • задачи астрономии и космонавтики;
      • статистический и корреляционный анализ данных;
      • фолдинг белок-белковых соединений;
      • ранняя диагностика заболеваний с применением ИИ.

      Отдельное направление — облачные вычисления на GPU. Например, такие гиганты как Amazon, IBM и Google сдают свои вычислительные мощности на GPU в аренду. Сегодня с уверенностью можно сказать что будущее высокопроизводительных параллельных вычислений будет принадлежать GPU кластерам.

  • Изображения



×