Обновить
39
0
sysprg@sysprg

Пользователь

Отправить сообщение

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

Время на прочтение13 мин
Охват и читатели6.8K

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V.

В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками.

Статья не показывает пошаговую оптимизацию умножения матриц для достижения максимума FLOPS и не учит, как писать вычислительные ядра на ассемблере. Она демонстрирует использование матричного расширения и основные идеи оптимизации матричного умножения. Постарался описать все простыми словами, с иллюстрациями и небольшими вставками кода.

Читать далее

Звездные битвы: Талли-Фишер против Кеплера

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3.3K

Звездное скопление Омега Центавра (Рис.1) с массой в 4 миллиона солнечных имеет радиус около 90 световых. 10 июля 2024 года в журнале Nature была опубликована сенсационная статья об открытии в этом скоплении черной дыры с массой в 8200 раз больше массы Солнца. Главными свидетелями существования этого невидимого объекта оказались быстрые звезды, которые без гравитационного поля массивной дыры должны были покинуть скопление очень быстро - в течение тысячи лет.

Читать далее

Красное смещение: доплер-эффект или гравитация?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.2K

Тема обсуждения

В недавно опубликованном здесь материале о космологической модели Неустойчивой решётки (НР), то есть модели Вселенной без Большого взрыва (БВ), не обсуждались такие доводы в пользу БВ, как космологическое красное смещение, наличие космологического горизонта и реликтового микроволнового излучения, которых в квазистационарной Вселенной быть, казалось бы, не должно. «Старение фотонов», объясняющее красное смещение света и наблюдаемое в некоторых случаях аномальное торможение тел передачей кинетической энергии от тел и фотонов флуктуациям вакуума, подвергается сомнениям после моделирования обстоятельств торможения аппаратов «Пионер», доказывающего тепловую природу торможения [1]. Наконец, и старение фотонов, и гравитационная гипотеза «покраснения» выглядят не совместимыми с динамикой эволюции сверхновых, которая коррелирует с их красным смещением, а в рамках этих двух гипотез, вроде, не должна бы.

Первый довод можно попытаться оспорить, заявив, что бесконечно протяжённая Вселенная не обязана быть стационарной, поскольку не придумано пока ещё запретов на её расширение (с соответствующим красным смещением) по каким‑нибудь причинам. Другое дело, что неизвестная причина расширения — это на данный момент «излишняя сущность», а «бритва Оккама» настойчиво рекомендует таковых избегать при «измышлении гипотез». Удастся ли вписать красное смещение и т. п. в модель НР, не прибегая, по возможности, к новым сущностям?

Рассмотрим гравитационную гипотезу более внимательно.

Читать далее

Линейная регрессия, решётчатые функции и типовые динамические звенья

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели766

Основной посыл статьи – демонстрация возможности детерминирования динамических свойств технологических параметров, описываемых решётчатыми функциями, и возможности прогнозирования изменения значений этих параметров, применяя простые, а оттого высокопроизводительные вычислительные инструменты.

Статья не претендует на научную точность, уникальность и оригинальность. Доступна в формате Jupyter Notebook и PDF по ссылке – https://gitflic.ru/project/56h/tde

Читать далее

Прогноз ООН про пик численности населения

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.9K

Лет 20 назад по телевизору довольно часто обсуждалась тема, что человечество размножается очень быстро. И что с такими темпами, нас скоро накроет волна перенаселения планеты и придется убивать друг друга в борьбе за товары. Однако, взрывного роста ожидать не следует. И темп приумножения населения планеты постепенно снижается. О его пределах и коллизиях на пути рассказано в прогнозе ООН.

Читать далее

Часть 2. Алгоритм Тарьяна для приведения нелинейной системы уравнений к вычисляемой последовательности подстановок

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.7K

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

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

Читать далее

Задача трёх тел (не китайская нефантастика)

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели38K

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

Читать далее

Еще немного про LDPC коды

Время на прочтение9 мин
Охват и читатели1.8K

Всем привет! Я тут недавно начал разбираться в одной очень интересной теме, связанной с обработкой цифровой информации. Объектом моего исследования стали помехоустойчивые коды. Когда я был студентом, я даже писал студенческую научную статью, в которой представил код на Си для кодирования информации кодом Хэмминга на Arduino. Только вот коды Хемминга вряд ли можно применить в каких‑нибудь сложных каналах связи по типу WiFi или LTE, поэтому я начал изучать другие коды. Немного погуглив, я понял что мейнстримом среди помехоустойчивых кодов являются LDPC коды.

На Хабре была статья на тему помехоустойчивого кодирования и LDPC кодов. В ней автор очень круто описал основные принципы обработки информации, закодированной LDPC кодом, и даже привел пример декодирования методом SPA и некоторые мысли о том, как это дело можно оптимизировать. Я решил привнести свою лепту и подготовил свою небольшую статью в которой расскажу про кодирование информации на примере метода Ричардсона‑Урбанке (Richardson — Urbanke method), а также рассмотрю вариант декодирования информации методом minsum и различные способы оптимизации этого метода.

Читать далее

Вторичная жизнь вторичных часов. На Arduino

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели16K

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

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

Сверхзвуковой высотный малозаметный фотоаппарат: Lockheed SR-71 Blackbird и его родственники

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели9.4K

Рекомендации для ЛЛ: не читать, минусовать.
Рекомендации для Хабра: какие‑то глупости от нейросети, не читать, минусовать.

Предисловие

До того, как я начал писать эту статью, я думал что Lockheed SR-71 был отдельным, уникальным проектом. Я ошибался, все было не так.

Читать далее

Об одном интересном свойстве триангуляции Делоне

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.8K

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

Свойство: Если какой‑то отрезок AB не включен в триангуляцию Делоне, то существует путь из A в B по отрезкам из триангуляции, такой что каждый из отрезков в нем не длиннее |AB|. На картинке выше отсутствующий отрезок показан красным цветом, а путь — зеленым цветом.

Дальше в статье я приведу пример его использования в задачах, а также формальное его доказательство.

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

Читать далее

Кластеризация множества объектов, алгоритм K-means++

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели3.7K

Поступила задача выполнения кластеризации множества товаров, по их размерам (двумерная плоскость). Значения распределения: ширина и высота.

После изучения вопроса, было найдено несколько подходящих алгоритмов, одним из самых распространенных оказался алгоритм под названием K-means, а так же его вариация K-means++. Плюсы, в отличии от классики, подошли более разумно к подбору начальных точек опоры, калибрующихся итерационно, до момента идентичности нескольких последовательных результатов.

Читать далее

Как правильно сделать апгрейд ОС — установить Windows 11 поверх существующей с сохранением приложений и настроек

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели28K

Сегодняшний разговор пойдет о том, как правильно следует устанавливать 64-битную Windows 11 поверх ранее установленной 64-битной операционной системы Windows 7, 8, 10 или 11. Не пропагандирую переход на Windows 11, — выбор за вами, если это вам не нужно, ради бога, — но давайте поможем тем кто хочет это сделать, но встречается с разными сложностями на пути. Хотя при этом, заметка в целом полезна и тем, кто использует, и планирует далее использовать устаревшие системы, — рассказанный мной способ установки ОС «поверх» или «апгрейд» в целом общий для всех версий Windows, я лишь буду отмечать тонкости ранее мне не встречающиеся. Чего еще не будет в этой статье, так это вопросов совместимости с ПО и железом, — такое коротко и обобщенно не описать, решать нужно конкретно поставленную задачу. Обновлять ОС на совсем уж старом железе, наверное, нецелесообразно, а способов заставить работать древний софт на современных ОС известно много, но они тоже подбираются под нужды.

Собственно, начать об обновлении ОС я хочу с того, что Microsoft всегда имеет «матрицу обновляемости» (upgrade matrix) и четкие правила того, что на что может быть обновлено. Начнем с матрицы (а как иначе, Нео?). В любой версии и издании Windows в папке C:\Windows\servicing\Editions лежит файл UpgradeMatrix.xml, в котором четко прописано, с каких версий и изданий вы можете выполнить обновление на данную систему. Для ОС, которая в ISO образе, или на установочной флешке, этот файл лежит внутри install.wim, его проще всего открыть 7zip архиватором и посмотреть, если есть интерес. Разбирать его детально я сегодня не буду, это скучная задача, поговорим о сложностях, возникающих при обновлении ОС.

Читайте, задавайте вопросы, отвечу! :)

Панорама матричных расширений: от x86 до RISC-V

Время на прочтение15 мин
Охват и читатели7.4K

Матричное расширение ISA CPU… Что это и что оно делает? Уже из названия понятно, что это расширение позволяет ускорять операции над матрицами на CPU. Но задумывались ли вы когда-нибудь, какие они бывают, когда появились, кто и как их создает?

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

Матричные расширения появились не так давно — чуть более трех лет назад. Несмотря на это, они есть у каждой уважающей себя процессорной архитектуры, в том числе и у относительно молодой открытой RISC-V. Почему их так много и чем они отличаются? Поддерживаются ли разреженные матрицы? Об этом и многом другом вы узнаете из статьи. Приготовьтесь, будет интересно и (спойлер!) без многоэтажных формул. 

Читать далее

Как я решила задачу нахождения t-критерия Стьюдента как функции от доверительного интервала и числа степеней свободы

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.2K

статья представляет подробное описание реализации функции Стьюдента (Student's t-distribution) в языке программирования Scala с использованием алгоритма ACM395 и ACM209. Функция Стьюдента является важным инструментом в статистике для вычисления критических значений t-статистики и вероятностей в t-распределении.

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

данная статья полезна как для начинающих, так и для опытных программистов и статистиков, которые интересуются численными методами и статистическим анализом данных.

Читать далее

В слиянии Эль-Гордо нашли свидетельства взаимодействия тёмной материи с самой собой

Время на прочтение6 мин
Охват и читатели4.7K

Стандартная модель физики частиц хорошо объясняет взаимодействие между основными элементами материи. Но она не идеальна. Она с трудом объясняет тёмную материю. Тёмная материя составляет большую часть материи во Вселенной, но мы не знаем, что это такое.

Стандартная модель утверждает, что, чем бы ни была тёмная материя, она не может взаимодействовать сама с собой. Новое исследование, возможно, перевернёт это представление.

Физики предлагают множество различных кандидатов на роль тёмной материи, включая тёмные фотоны, слабо взаимодействующие массивные частицы (WIMPs), первичные чёрные дыры и многое другое. Каждый из них по-своему интригует, но ни один из них не нашёл пока подтверждения. И каждый из них, как предполагается, вписывается в Стандартную модель.

Читать далее

Конрад Цузе — программист, обогнавший время

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели42K


Сегодня исполняется 114 лет со дня рождения Конрада Цузе, пионера создания вычислительной техники, человека, которому сама судьба пыталась помешать двигать прогресс, но не помешала создать первый язык программирования высокого уровня, один из первых компьютеров и первую книгу по цифровой физике.
Читать дальше →

Простое, но очень нужное устройство. Сигнализатор открытой двери холодильника

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.1K
Приветствую, Хабр!



Данное устройство было изготовлено и установлено уже более года назад. Работает отлично и «спасает» от возможных проблем с компрессором. Предыстория такова. Шел март 2023 года, на носу день рождения супруги, полный холодильник продуктов, через пару дней ждем гостей. Открываю дверцу холодильника и понимаю, что в нем нисколько не холоднее, чем в квартире…
Читать дальше →

Есть ли у Вселенной центр и куда указывает «дьявольская ось»?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели57K

Первые пятьсот лет прошлого тысячелетия никто не сомневался, что непоколебимый центр мира существует - и в нем находится Земля. Потом Коперник потряс основы мироздания, переместив Солнце в центр Вселенной и опустив Землю до рядовой планеты. Центр у Вселенной сохранился, но осадочек остался. Дальше – больше: потом и Солнце приравняли к обычным звездам и стали считать, что Млечный Путь является Вселенной, соответственно, центр нашей Галактики и является центром мира.

            Настал 20 век вместе с полной чехардой в науке. Весто Слайфер, сын фермера и сотрудник частной обсерватории Лоуэлла, уже в первое десятилетие этого беспокойного века показал, что Млечный Путь – тоже рядовая галактика, несмотря на то, что она нам как родная. Где центр у Вселенной будем делать? – совсем растерялись астрономы. Но в 1922 году многомудрый Фридман, на основе недавно созданной теории Эйнштейна придумал такую хитрую модель расширяющейся Вселенной, в которой центра-то и нет! Такая модель распухающего во все стороны теста с изюмом, где все изюминки (галактики) двигаются друг от друга, или, другими словами, расстояние между всеми галактиками растет. Так что, где хотите, там центр Вселенной делайте, да хоть на Земле! Чувствуете, как круг замкнулся?

            Конечно, концепция чего-то, которое неизвестно откуда и куда расширяется во всех точках одновременно, в обычных головах никак не укладывается. Ну и что? Зато всем понятно, что только космологи могут объять необъятное, а другие пусть просто благоговеют, глядя на них.

Читать далее

Всё ещё нерешённая загадка замерзания воды

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели10K

В школе нас учат, что вода замерзает при нуле градусов Цельсия, но так бывает редко. Учёные обнаружили в облаках переохлаждённые капли воды до температуры -40 °C, а в 2014 году в лабораторных условиях они охладили воду до целых -46 °C без замерзания. Вы можете переохладить воду и дома: засуньте бутылку дистиллированной воды в морозилку, и она вряд ли кристаллизуется, пока вы её не встряхнёте.

Обычно замерзание не происходит ровно при нуле градусов практически по той же причине, по которой дрова в поленнице не возгораются спонтанно. Чтобы разгореться, огню нужна искра. А льду нужно ядро — зерно льда, вокруг которого всё больше и больше молекул воды выстраиваются в кристаллическую структуру.

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

Несмотря на свою кажущуюся обычность, процесс льдообразования остаётся на удивление загадочным. Химики не могут точно прогнозировать влияние конкретной примеси или поверхности, не говоря уже об их создании для замедления или ускорения формирования льда. Но они постепенно работают над этой задачей. Они создают компьютерные модели, которые могут точно симулировать поведение воды, и ищут подсказки в природе — лучшими из известных учёным центров льдообразования становятся белки, производимые бактериями и грибками.
Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность