simd.

Орел или решка. C++ Edition

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

продолжить чтение

StarRocks и Trino: сходства, различия, бенчмарки и кейсы

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

продолжить чтение

Оптимизация языковой модели Mamba для выполнения на CPU

Большие языковые модели с успехом применяются в биоинформатике. Неудивительно, ведь язык биологических последовательностей – всего лишь часть множества знаковых систем, существующих в природе. Но есть нюанс: осмысленные фразы языка биоинформатики, как правило, гораздо длиннее фраз языков межчеловеческого общения. Популярные языковые модели на основе трансформеров требуют квадратичного увеличения объема вычислений с ростом длины входной последовательности.

продолжить чтение

Зажигаем миллиард цветов миллионом строк

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

продолжить чтение

Объяснение графических процессоров для тех, кто привык работать с ЦП

продолжить чтение

Разгон Мандельброта: SIMD с бубнами, OpenMP и CUDA

Построение множества Мандельброта — классический пример чрезвычайно параллельной задачи (embarrassingly parallel problem).Вначале мы разберем наивную реализацию, поиграемся с интринсиками (intrinsics) и, не теряя переносимости, заставим компилятор генерировать нам SIMD-инструкции. Далее добавим многопоточность и в заключение обесценим все наши старания несколькими строчками на CUDA.

продолжить чтение

Rambler's Top100