
Вот мы и добрались до финальной части, в которой я расскажу, как делал большой софт, который управляет большой подсветкойЧитать полностью »

Вот мы и добрались до финальной части, в которой я расскажу, как делал большой софт, который управляет большой подсветкойЧитать полностью »
|
Набор инструкций |
Год |
Регистры |
Типы операций |
Макс. элементов |
Число команд |
Статус |
|---|---|---|---|---|---|---|
|
MMX |
1997 |
8×64-бит |
Целочисленные |
8×8-бит или 2×32-бит |
57 |
устарел |
|
3DNow! |
1998 |
8×64-бит |
FP32 |
2×32-бит |
21 |
удалён |
|
SSE |
1999 |
8/16×128-бит |
FP32 |
4×32-бит |
Читать полностью » |
В этой статье разбирается решение задачи «Гистограммы» с контеста Route 256 от Ozon.
Ссылочки:
Assembler в Go: техники ускорения и оптимизации / Хабр
Руководство по ассемблеру Go / Хабр
Часть 1. Почему Go-ассемблер и векторизация могут быть полезны: идея для ускорения / Хабр

Осенью 2021 года эту статью заметил Андрей Крапивин (Andrew Krapivin), студент Ратгерского университета в Нью-Джерси, и не придал ей особого значения, пишет Quanta Magazine, журнал о последних достижениях в математике (перевод статьи на Хабре). Только через два года он нашёл время, чтобы внимательно ознакомиться с материалом. И понял, насколько это прорывное изобретение, если применить его для оптимизации хеш-таблиц.
Данная тема уже упоминалась на Хабре, но заслуживает более подробного обсуждения.
Читать полностью »
Построение множества Мандельброта — классический пример чрезвычайно параллельной задачи (embarrassingly parallel problem).
Вначале мы разберем наивную реализацию, поиграемся с интринсиками (intrinsics) и, не теряя переносимости, заставим компилятор генерировать нам SIMD-инструкции. Далее добавим многопоточность и в заключение обесценим все наши старания несколькими строчками на CUDA.

Многие современные вычислительные задачи, в частности повсеместная обработка изображений и звука или работа с матрицами для ИИ, хорошо поддаются параллелизации на уровне данных. Входные данные таких задач представлены в виде большого вектора данных, элементы которого можно обрабатывать независимо. Чтобы ускорить вычисления с векторами, производители процессоров добавили в архитектуры специальные Single Instruction, Multiple Data инструкции, которые позволяют работать за одну инструкцию сразу с несколькими элементами.
Хотелось бы прокомментировать публикацию Ильи Кабанова в Медузе по поводу новых разработок в алгоритмах хеширования: "Optimal Bounds for Open Addressing Without Reordering" (Farach-Colton, Krapivin, and Kuszmaul, 2025) и последующую "The Bathroom Model: A Realistic Approach to Hash Table Algorithm Optimization" (Wang, 2025). И особенно кликбейтное: "в перспективе метод Крапивина и его коллег может ускорить многие процессы в интернете."
Я около 7 лет очень плотно занимался темой хеш-таблиц и написал много их вариантов: Читать полностью »
