Примерно полгода назад я познакомился с VLIW‑процессором Эльбрус-8СВ. На тот момент у меня уже был опыт написания кода на ассемблере для VLIW‑процессора TMS320C66. Поэтому я захотел написать нечто похожее для Эльбруса. А именно, реализовать алгоритм FFT на ассемблере. Но из‑за нехватки документации на инструкции процессора мне пришлось начать с реализации какого‑нибудь простого алгоритма на Си, чтобы изучать его ассемблерный вывод. По результатам той деятельности была написана предыдущая статья.
Рубрика «интринсики»
Пишу алгоритм FFT на Си для процессора Эльбрус
2026-06-12 в 16:41, admin, рубрики: E2K, fft, simd, VLIW, ассемблер, интринсики, оптимизация кода, Си, ЭльбрусМоё знакомство с процессором Эльбрус-8СВ. Оптимизирую сложение массива байтов
2025-12-20 в 8:15, admin, рубрики: E2K, simd, VLIW, ассемблер, интринсики, оптимизация кода, Си, Эльбрус, эльбрус-8свМесяц назад мне в телеграм написал человек и предложил доступ к системе с процессором Эльбрус-8СВ.
И конечно же я согласился. Так как мне интересно.
Не каждый день неизвестные люди предлагают доступ к удалённым хостам.
Меня зовут Леонид Лагунов и я математик-программист.
Я решил написать про своё знакомство с процессором Эльбрус.
Содержание:
Магические трансформации типов данных в Rust: Интринсика mem::transmute<T, U>
2019-04-16 в 10:54, admin, рубрики: Rust, unsafe code, безопасность данных, интринсики, ненормальное программирование, неопределённое поведение, превращение типов, работа с памятью, синтаксические особенности, системное программирование, стандартная библиотека, типы данных
Введение
Язык программирования Rust, невзирая на всеохватывающую идеологию безопасности данных, располагает и небезопасными методиками программирования, ведь порой они могут повышать скорость путём устранения лишних вычислений, а порой это просто жизненная необходимость.
Одной из них является наш сегодняшний экземпляр — интринсика mem::transmute<T, U>, предназначенная для того и другого понемногу, пригождаясь в крайне необычных ситтуациях.
Низкоуровневая оптимизация кода на платформе Эльбрус: векторное сложение uint16_t с помощью интринсиков
2018-03-14 в 4:05, admin, рубрики: ELBRUS, Алгоритмы, Блог компании Smart Engines, векторные операции, интринсики, МЦСТ, ненормальное программирование, низкоуровневая оптимизация, обработка изображений, оптимизация кода, Программирование, программирование микроконтроллеров, Эльбрус
В этой статье мы расскажем про более низкоуровневые оптимизации, которые можно делать на процессорах Эльбрус.
В принципе, оптимизации подобного уровня не являются необходимым этапом разработки под Эльбрус. Для большинства вычислительных операций, требующих высокой производительности, можно и нужно использовать функции из библиотеки EML.
Однако в текущей версии EML мы не нашли некоторых интересных нам функций, поэтому приняли решение написать их сами.Читать полностью »
Векторизация кода преобразования координат в пространстве на Intel® Xeon Phi™ с помощью низкоуровневых инструкций
2016-07-13 в 7:35, admin, рубрики: AVX-512, KNC, simd, Алгоритмы, Блог компании Intel, Блог компании Singularis, векторизация, высокая производительность, интринсики, матрицы преобразований, сопроцессорВведение
При решении задач моделирования движения объектов в трехмерном пространстве практически всегда требуется использование операций пространственных преобразований, связанных с умножением матриц преобразований и векторов. Для задачи N тел эта операция используется многократно для задания поворота и смещения тела относительно начала координат. Матрица пространственного преобразования имеет размерность 4х4, а размерность вектора, к которому применяется преобразование, соответственно 4x1. Рассмотрим оптимизацию выполнения такой операции с большим числом матриц и векторов под архитектуру Intel® Xeon Phi™.
