Comments 20
Очень любопытно, но не очень понятно - а чем результаты соревнования на Эльбрусе должны отличаться или не отличаться от соревнований на Amd64?
Может тогда уж забабахать соревнования вроде HugiCompo :)
Есть архитектурно-зависимые оптимизации. Правда, как я понял из статьи, в данном случае никто из участников их особо не использовал.
Даже на x86_64 и Apple Silicon подход к оптимизациям немножко разный.
всё же спортивный программизьм редко опирается на архитектурно-зависимые оптимизации :)
наверняка скоро с ИИ что-нибудь придумают с код турнаментами )
В среднесрочной перспективе я попробую отдельную дисциплину по нейросетям добавить, но пока не до этого. Тот же NM Quad, который планируется с марта, это в первую очередь нейроускоритель.
Да, только единицы погружались достаточно глубоко, чтобы специфические оптимизации делать, но это-то и помогло в борьбе за топовые места.
Помимо общих подходов к оптимизации вычислений для e2k, есть и свои специфические.
Да и вообще, это весело. AMD64-то везде и у всех, а тут экзотика.
Загорелся. Сделал запрос в МЦСТ на плату. Вопросов больше нет

Очень недурно для промышленной материнской платы с распаянным процессором, который находится в дефиците с 2022 года (и это ещё мягко сказано), да и до этого производившемуся в очень скромных объёмах (сильно влияет на стоимость конечных процессоров). Тот же AIMB-233G2-U5A1E сейчас идёт в среднем за 120 000 руб. Что, конечно, дешевле, но не ужас-ужас.
Всё-таки это не потребительская электроника.
P.S. А если вам нужен доступ к e2k для практики, то тот же МЦСТ его всем предоставляет по SSH по первому же запросу.
Кирилл так-то недаром сходу упомянул BMW с карбоном. :)
Со своей стороны отмечу, что в 2021--2022 годах, когда думал, какой эльбрус брать домой (при выборе между 1С+ "по минимуму", 8СВ в качестве вроде как оптимума, 2С3 как младшего из старших и 16С как топового) -- за материнку с 8СВ хотели 250 т.р. и сейчас удорожание менее чем в полтора раза -- это ещё как раз ничего.
В общем, если Вы (или ещё кто добравшийся до этого твита комментария) решите обдумать эльбрус домой -- гляньте эти заметки и сперва пощупайте где-нибудь ещё -- хоть по ssh, хоть в яндекс-музее или Академгородке; ну а моё тогдашнее решение и вложение кратно больших денег в 16С оказались правильными и уже окупились (но я достаточно хорошо себе представлял, что за штуковину беру).
PS: контактные данные из личного письма публиковать -- такое себе.
Рабочие номера. Не личные. Может кому сходятся при покупке.
По цене возможно я просто не готов. Не для проекта. Хотел лишь взять для знакомства и тестов.
Тогда вам точно вот сюда, а если там станет тесновато, то и я могу дать доступ к своему серверу.
Спасибо, было весьма интересно посматривать за происходящим хотя бы урывками.
По части размера памяти услышал запоздало, а то бы упомянул smem.
Помню загоревшиеся глаза старшеклассников на ярославском форуме "ПроеКТОриЯ" в 2018 году, когда после академчасовой лекции Лёши Маркина с самыми внятными слайдами по оптимизации на e2k, какие я в жизни видал, они добрались до железа своими руками -- и результаты получились весьма достойные (как технические, так и организационные, когда Иван Б. в критический момент взял командование на себя); по итогам в своей секции команда взяла первое место.
И важно тут именно своими руками -- о чём не устаю говорить разным людям при разных оказиях. Потому как даже ограниченный, но личный опыт -- он надёжный.
// отправлено с моего "Эльбрус-16С"
Хотелось бы разбор конкретных решений в виде кода и как оно оптимизировалось, сравнение с amd64 архитектурой. Видео с разбором от сотрудницков МЦСТ интересное.
Хе-хе. Насчёт настоящего Эльбруса я сразу подумал, когда прочитал заголовок. :) Без кавычек сразу о нём и думается, если честно. Но! Это единственное замечание к статье.
В остальном - прочитал с огромным интересом. Хочется особо отметить стиль и язык изложения материала. Написано очень легко и грамотно про такую огромную работу, которую вы провели и собираетесь проводить вновь. Побольше бы таких статей на Хабре...
Я на фоне заголовка представил тебе программеров с альпенштоками, сидящих в хижине на горе Эльбрус, и дописывающих задания, пока погода не ухудшилась )
А так, да, отличная статья! Не все же ИИ спрашивать "как мне пооптимальнее напилить драйвер под ... С оптимизацией пож железо?", а ИИ в ответ "да, я вам ногу отрезал не ту, но сейчас попробуем еще разок!"
Если будут еще соревнования, то как основа для задачи под звездочкой вот здесь есть интерпретатор https://gitflic.ru/project/e2khome/lccrt/blob?file=lib%2Firr%2Flccrt_jite2k.c&branch=master одной виртуальной машины, написанный на e2k-ассемблере. Особенность данного интерпретатора, что вместо switch-case, в нем есть таблица переходов и подготовка перехода выполняется явно с помощью ассемблера. Есть конвейризация, то есть начало исполнения следующей байткод-инструкции совмещено за счет широкой команды с завершением исполнения текущей команды. Интерпретатор получился весьма шустрым, реально шустрым и в чем-то сопоставимым с шаблонным транслятором, плата - это очень жирный байт-код. Вместо кода инструкции хранится 8-байтный адрес перехода. Также особенностью интерпретатора является то, что для каждой байткод-команды есть ровно две реализации. Одна со станками C0/C1, а другая со станками C2/C3. И эти реализации чередуются как черные и белые шахматные клетки.
к.т.н. Страннолюбов, или Как я перестал бояться и провёл соревнование по программированию на Эльбрусе