Pull to refresh
4
0.1
Николай Египко@Nikeware

User

Send message

Обрабатываем строки в 109 раз быстрее, чем NVIDIA на H100

Level of difficultyMedium
Reading time13 min
Reach and readers12K

Недавно я выпустил StringZilla v4 — первый релиз с поддержкой CUDA моей библиотеки для обработки строк. нацеленной в первую очередь на SIMD. Это означает, что теперь она стала быстрой не только на CPU, но и на GPU!

• Я хотел добавить ускорение ROCm для GPU AMD
• Я хотел добавить параллельный мультипаттерновый алгоритм поиска
• Я хотел опубликовать всё это ещё в декабре 2024 года

Итак, не всё пошло по плану, но StringZilla 4 CUDA наконец-то здесь, и она добавляет 500 с лишним GigaCUPS вычислений редакторского расстояния; при этом пакет можно установить через pip install. Также в ней есть некоторые другие трюки, предназначенные для крупномасштабных систем извлечения данных, баз данных и озёр данных, а также биоинформационных задач. И всё это под разрешительной опенсорсной лицензией Apache 2.0, позволяющей свободно использовать библиотеку в коммерческих целях. В этом посте я рассмотрю самые интересные части релиза, и в том числе:

• Быструю оценку алгоритмов динамического программирования на GPU,
• Хэширование CRC32MurMurHashxxHash, aHash и не только, а также
• Фингерпринтинг биологических последовательностей 52-битными целыми числами

Читать далее

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 1: подготовка и начало работы

Reading time6 min
Reach and readers7.9K

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

Читать далее

Вам больше не нужен JavaScript

Level of difficultyEasy
Reading time25 min
Reach and readers43K

Команда JavaScript for Devs подготовила перевод статьи о том, как CSS и HTML могут заменить значительную часть JavaScript. Автор делится взглядом на веб как на искусство, показывает возможности современных фич CSS — от вложенности и @starting-style до динамических viewport-единиц, — и доказывает, что сайты могут быть быстрыми, красивыми и интерактивными даже без JS.

Читать далее

Понимание CSS corner-shape и сила суперэллипса

Level of difficultyMedium
Reading time7 min
Reach and readers6.6K

Свойство CSS corner-shape — это одно из самых захватывающих нововведений в геометрический инструментарий веб-дизайна за последние годы. Оно расширяет наши возможности по управлению внешним видом углов, выходя за рамки привычных скруглений с помощью border-radius. Это на первый взгляд небольшое дополнение открывает целый мир новых возможностей, которые раньше требовали сложных реализаций на основе SVG или решений с использованием изображений.

Читать далее

Как правильно вызывать CUDA

Reading time16 min
Reach and readers13K

Вероятно, вам уже попадались подобные руководства по CUDA: хрестоматийный пример «Hello World», в котором перемешан код для ЦП и графического процессора. Всё это сложено в один гетерогенный файл с исходниками на CUDA C++, а для запуска ядра применяется синтаксис NVCC с тройными угловыми скобками <<<>>>, который уже стал культовым:

Читать далее

Как уместить ИИ на edge-устройствах

Level of difficultyMedium
Reading time22 min
Reach and readers1.9K

От AlphaGo до ChatGPT — прогресс в области искусственного интеллекта впечатляет своими масштабами. Однако за красивым фасадом скрывается серьезный разрыв между возможностями современных моделей и реальными условиями их применения. Возьмем, к примеру, GPT-3 с его (уже не такими впечатляющими) 175 миллиардами параметров, требующими 800 ГБ памяти. Такие модели существуют только в лабораториях вроде OpenAI. Что уж говорить о запуске подобных систем на устройствах с ограниченными ресурсами.

При этом именно edge-устройства генерируют львиную долю данных — по прогнозам Gartner, к концу этого года около 75% корпоративной информации будет поступать не из традиционных дата-центров или облака, а с периферийных устройств. Обработка такого объема данных в облаке создает серьезную нагрузку на каналы передачи и увеличивает задержки. 

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

Но как уместить современные AI-модели в устройства с ограниченными ресурсами? Об этом и поговорим в статье.

Читать далее

Линейная алгебра в C++ с Eigen

Reading time9 min
Reach and readers6.4K

Привет, Хабр!

Кто хоть раз пытался работать с матрицами в C++, знает, что это удовольствие сродни написанию своего STL — возможно, но зачем? Eigen — это библиотека, которая избавит вас от ручного управления памятью, оптимизирует вычисления и позволит писать код, похожий на чистую математику. Поэтому в этой статье мы разберем эту прекрасную библиотеку.

Читать далее

Необычные способы хостинга

Level of difficultyMedium
Reading time7 min
Reach and readers18K


Где разместить сайт? Оказывается, для хостинга необязательно покупать VPS или домашний сервер. Можно поступить более креативно: например, захостить сайт на смартфоне. Причём желательно извлечь из него аккумулятор, чтобы смартфон работал напрямую от сети. А есть ещё более оригинальный вариант: бесплатный хостинг в социальных сетях.
Читать дальше →

Deep Live Cam — нейросеть для дипфейков в реальном времени

Level of difficultyEasy
Reading time2 min
Reach and readers48K

Всем привет!

В этой статье познакомимся с Deep-Live-Cam - это инструмент для замены лиц в реальном времени и создания видеодипфейков с использованием всего одного изображения.

Софт включает встроенную проверку на недопустимые материалы и поддерживает GPU ускорение для улучшенной производительности.

Также расскажу, как не париться с установкой и запустить Deep Live Cam в один клик.

Всё, что нам понадобится, чтобы завести Deep Live Cam - это веб-камера и видеокарта Nvidia или AMD с более чем 6-ью Гб видеопамяти.

P. S. Если вы используете смартфон как веб-камеру то, к сожалению, программа просто не будет распознавать устройство. Возможно, в будущем это пофиксят, было бы очень удобно!

Читать далее

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

Level of difficultyMedium
Reading time4 min
Reach and readers9.1K
Приветствую, Хабр!



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

Почему для меня так важен алгоритм CORDIC

Level of difficultyMedium
Reading time8 min
Reach and readers28K

CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin, cos, tan и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.

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

Передаем данные с одноплатника Repka Pi (или Raspberry Pi) в интернет по GSM связи через модуль SIM868 и GPRS протоколу

Level of difficultyMedium
Reading time15 min
Reach and readers12K

Всегда ли вы берете с собой смартфон? Наверное да, ведь это удобно, когда под руками есть все каналы связи.

Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаумом, систему IoT, турникет или что-то подобное?

Было бы неплохо оснастить это устройство чем-то, похожим по функциональности на смартфон. Тогда вы смогли бы определять его координаты GNSS, обмениваться данными через GPRS, Bluetooth или SMS, а также просто позвонить на свое устройство по телефону и поговорить с ним (или с тем, кто стоит рядом).

Еще не так давно все это было реализовать довольно затруднительно, но сейчас доступны недорогие модули на базе SIM868, в которых есть все необходимое.

В этой статье мы расскажем о том, как настроить обмен данными по каналам GPRS мобильных провайдеров между микрокомпьютерами Raspberry Pi или Repka Pi с сервером, размещенном в интернете. Для обмена будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT.

Читать далее

DIY-программатор ST-Link V2.1

Level of difficultyMedium
Reading time6 min
Reach and readers68K

Привет, Хабр!

Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.

Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.

Перейти к статье

Telegram API и библиотека TDLib для .NET платформ

Level of difficultyEasy
Reading time6 min
Reach and readers48K

image
Доброго времени суток! В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.

Читать дальше →

Безопасный Wi-Fi в отеле для всей семьи на Raspberry Pi

Level of difficultyMedium
Reading time7 min
Reach and readers22K

Всем привет! Сегодня хочу рассказать о своем «семейном» проекте на Raspberry Pi. Путешествуя по миру, я постоянно сталкиваюсь с потребностью подключаться к быстрому и, что не менее важно, безопасному интернету.

Читать далее

Кроссплатформенная сборка Qt5 для Nvidia Jetson TX2

Level of difficultyEasy
Reading time4 min
Reach and readers3.4K

Эта статья будет полезна тем, кто пишет проекты на Qt и работает с Nvidia Jetson. В статье представлена пошаговая инструкция для кроссплатформенной сборки Qt5 для Nvidia Jetson TX2 на базе Ubuntu.

Читать далее

Подпись на эллиптических кривых: всё, что нужно знать, чтобы подписать транзакцию в Bitcoin с полного нуля

Reading time18 min
Reach and readers48K

Это - полный разбор алгоритма подписи на эллиптических кривых (ECDSA), который является ключевым элементом большинства блокчейнов (типа Bitcoin, Ethereum, ...). С примерами кода и реализацией с полного нуля. Всё сведено к уровню школьной математики, а читать код не обязательно!)

Читать

Создание telegram web apps и взаимодействие с ними в телеграм ботах

Reading time8 min
Reach and readers440K

В обновлении Bot API 6.0 телеграм-боты получили много новых функций. Из них для разработчиков самая примечательная - Telegram Web Apps (Веб-приложения внутри телеграм). С этим нововведением разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в телеграм.

Читать далее

Information

Rating
4,392-nd
Location
Германия
Date of birth
Registered
Activity