Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Ещё большее ускорение WebAssembly: новый потоковый и многоуровневый компилятор в Firefox

FirefoxJavaScriptAssemblerКомпиляторыWebAssembly
Перевод
Оба авторе: Лин Кларк — разработчик в группе Mozilla Developer Relations. Занимается JavaScript, WebAssembly, Rust и Servo, а также рисует комиксы о коде.

Люди называют WebAssembly фактором, меняющим правила игры, потому что эта технология ускоряет выполнение кода в вебе. Некоторые из ускорений уже реализованы, а другие появятся позже.

Одна из техник — потоковая компиляция, когда браузер компилирует код во время его загрузки. До настоящего времени эта технология рассматривалась лишь как потенциальный вариант ускорения. Но с выпуском Firefox 58 она станет реальностью.

Firefox 58 также включает в себя двухуровневый компилятор. Новый базовый компилятор компилирует код в 10–15 раз быстрее, чем оптимизирующий компилятор.

Вместе эти два изменения означают, что мы компилируем код быстрее, чем он поступает из сети.



На десктопе мы компилируем 30-60 МБ кода WebAssembly в секунду. Это быстрее, чем сеть доставляет пакеты.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры13.9K
Комментарии 49

Как масштабируется обучение искусственного интеллекта

Машинное обучениеИскусственный интеллект
Перевод
Мы в OpenAI обнаружили, что масштаб градиентного шума [gradient noise scale], простой статистический метод, предсказывает параллелизуемость обучения нейтральной сети на широком спектре задач. Поскольку у более сложных задач градиент обычно становится более шумным, то увеличение размера пакетов, доступных для одновременной обработки, в будущем окажется полезным, и устранит одно из потенциальных ограничений ИИ-систем. В общем случае эти результаты показывают, что обучение нейросетей надо рассматривать не как загадочное искусство, и что ей можно придать точность и систематизировать.

За последние несколько лет исследователи ИИ достигали всё больше успеха в ускорении обучения нейросети при помощи распараллеливания данных, разбивающего большие пакеты данных на несколько компьютеров. Исследователи успешно использовали пакеты размером в десятки тысяч единиц для классификации изображений и моделирования языка, и даже в миллионы агентов обучения с подкреплением, игравших в Dota 2. Такие большие пакеты позволяют увеличивать объёмы вычислительных мощностей, которые эффективно участвуют в обучении одной модели, и являются одной из сил, движущих рост в области обучения ИИ. Однако со слишком большими пакетами данных происходит быстрое уменьшение алгоритмической отдачи, и непонятно, почему эти ограничения оказываются крупнее для одних задач и мельче для других.
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Просмотры7.8K
Комментарии 0

Есть ли параллелизм в произвольном алгоритме и как его использовать лучшим образом

Open sourceАлгоритмыLuaПараллельное программирование
Из песочницы

Есть ли параллелизм в произвольном алгоритме и как его использовать лучшим образом

Далее читать
Всего голосов 14: ↑13 и ↓1 +12
Просмотры3.7K
Комментарии 38

Такие важные  короткоживущие данные

Open sourceАлгоритмыLuaПараллельное программирование

Поговорим о вре́менных данных, служащих для информационного обмена между отдельными вычислителями в (максимально близкорасположенных) параллельных вычислительных системах.

Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры2.4K
Комментарии 5

Это непростое условное выполнение

Open sourceАлгоритмыПараллельное программирование

Некоторое время назад я рассказывал о программном комплексе для выявления скрытого параллелизма в произвольном алгоритме и технологиях его, параллелизма, рационального использовании. Одним из компонентов этого комплекса является т.н. “универсальный вычислитель”, выполненный в соответствии с архитектурой Data-Flow (далее DF, пото́ковый вычислитель, описание здесь).

Читать далее
Всего голосов 21: ↑18 и ↓3 +15
Просмотры3.8K
Комментарии 16

Динамика потокового вычислителя

Open sourceАлгоритмыПараллельное программирование

В публикации https://habr.com/ru/post/530078/ я рассказывал  о возможностях пото́кового (архитектуры Data-Flow, далее DF) параллельного вычислителя. Особенности выполнения программ на нём столь необычны и интересны, что о них следует сказать “два слова”. Эксперименты проводились на компьютерном симуляторе DF-машины, входящем в исследовательский комплекс для выявления параллелизма в произвольном алгоритме и выработке рационального расписания  выполнения этого алгоритма на гомогенном или гетерогенном поле параллельных вычислителей (та же публикация).

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры1.4K
Комментарии 4

Параллелизм и плотность кода

Open sourceАлгоритмыLuaПараллельное программирование

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

Естественным перед началом анализа будет указание ограничений на ширину и глубину исследований. Принимаем, что многозадачность в рассматриваемых параллельных системах осуществляется простейшим путём - перегрузкой всего блока (связки) выполняющихся операторов (одновременное выполнение операторов разных программ не предполагается) или же система работает в однозадачном режиме; в противном случае высказанное в предыдущей фразе утверждение может быть неверным. Минимизация   объёма устройств временного хранения данных (описано здесь) проводиться не будет. На этом этапе исследований также не учитываются  задержки времени на обработку операторов и пересылку данных между ними (для системы SPF@home формально эти параметры могут быть заданы в файлах с расширениями med и mvr).

В предыдущей публикации была описана технология получения ПВПП на основе модели потокового (Data-Flow) вычислителя. Обычно считают, что правила выбора операторов для выполнения в такой машине подчиняются логике действия некоторых сущностей, совместно выполняющих определённые  действия – “актёров” (actors); при этом естественным образом моделируются связанные с характеристиками времени параметры обработки операторов. В общем случае при этом отдельные операторы выполняются асинхронно.  В публикации показано, что описанный принцип получения ПВПП приемлем (при выполнении несложных условий) и для машин архитектуры VLIW (Very Long Instruction Word, сверхдлинное машинное слово),  отличающихся требованием
одновременности начала выполнения всех операторов в связке. В расчётах использовали модель ILP (Instruction-Level Parallelism,  параллелизм  уровня машинных команд).

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры2.6K
Комментарии 10

Суперкомпьютеры и клеточные мембраны 2

История ITНаучно-популярноеСтарое железоБиографии гиков
Перевод

(Визуализатор VMD в связке с проектором и управлением жестами, 1994 г.)

С самодельным параллельным суперкомпьютером в рюкзаке Клаус Шультен терпеливо ждал в чикагском аэропорту О'Хара, надеясь, что после прибытия из Германии ему не составит труда пройти таможню. Это было летом 1988 года, и Шультен собирался начать новую работу в Университете Иллинойса. В разгар холодной войны, когда напряженность между США и Советским Союзом достигла наивысшего пика, суперкомпьютеры вызывали у администрации Рейгана большой ужас. Хотя Рейган, находясь на своем посту, усилил гонку вооружений и все сопутствующие ей технологические достижения, он хотел, чтобы бурно развивающиеся разработки суперкомпьютеров не попали в руки Советов, которые могли бы создать более совершенное оружие.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры1.4K
Комментарии 2

Сколько стоит расписание

Open sourceАлгоритмыLuaПараллельное программирование

Основные данные вычислительных экспериментов по реорганизации ярусно-параллельной формы  (ЯПФ) информационных графов алгоритмов (ТГА) приведены в предыдущей публикации. Цель текущей публикации – показать окончательные результаты исследований разработки расписаний выполнения параллельных программ  в показателях вычислительной трудоёмкости собственно преобразования  и качества полученных расписаний. Данная работа является итогом вполне определённого цикла исследований в рассматриваемой области.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры2.8K
Комментарии 2