Гики нашли способ сделать детектор движения без камер- на одних только Wi-Fi волнах. Такой датчик реагирует на малейшие изменения сигнала от роутера и срабатывает, когда в комнате появляется движение. Работает даже сквозь стены. И главное — схема в открытом доступе на GitHub, собрать можно за копейки.
Где пригодится:
- автоматическое включение света или отопления при появлении человека
- экономия энергии — устройства отключаются, если помещение пустое
- контроль за детьми: придёт уведомление, если ребёнок вышел из комнаты ночью
- точный климат-контроль
- уход за пожилыми: оповещение, если нет активности слишком долго
Такой DIY-датчик легко сделать из подручных деталей - полный гайд уже лежит на GitHub.
https://github.com/francescopace/espectre
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤2🥰2🤔1
🚀 Быстрая сортировка на C++: Crumsort и Quadsort
Репозиторий предлагает высокопроизводительные реализации алгоритмов Crumsort и Quadsort на C++17. Он решает проблемы совместимости оригинальных алгоритмов с современным C++, позволяя использовать их в качестве заменителей стандартных сортировок.
🚀Основные моменты:
- Поддержка произвольных итераторов.
- Устранены ограничения C99 и C-стиля.
- Работает с типами, не имеющими тривиального копирования.
- Совместимость с
- Обновленные бенчмарки для оценки производительности.
📌 GitHub: https://github.com/psadda/crumsort-cpp
#cpp
Репозиторий предлагает высокопроизводительные реализации алгоритмов Crumsort и Quadsort на C++17. Он решает проблемы совместимости оригинальных алгоритмов с современным C++, позволяя использовать их в качестве заменителей стандартных сортировок.
🚀Основные моменты:
- Поддержка произвольных итераторов.
- Устранены ограничения C99 и C-стиля.
- Работает с типами, не имеющими тривиального копирования.
- Совместимость с
std::vector и другими контейнерами.- Обновленные бенчмарки для оценки производительности.
📌 GitHub: https://github.com/psadda/crumsort-cpp
#cpp
GitHub
GitHub - psadda/crumsort-cpp: C++17 port of Igor van den Hoven's crumsort and quadsort
C++17 port of Igor van den Hoven's crumsort and quadsort - psadda/crumsort-cpp
❤🔥4❤4👍2
Forwarded from Machinelearning
Исследовательская группа DeepReinforce разработала систему полностью автоматического написания GPU-кода для матричного умножения под названием CUDA-L2.
Этот код работает на 10–30% быстрее, чем cuBLAS и cuBLASLt, а это, на минуточку, уже оптимизированные библиотеки от самой NVIDIA.
Обычно такие библиотеки создаются вручную людьми, которые используют готовые шаблоны ядер. А автотюнеры лишь подкручивают параметры, например, размер тайлов.
Но DeepReinforce считают, что даже критически важные и глубоко оптимизированные задачи, как HGEMM, могут быть улучшены с помощью LLM, работающей в связке с RL.
В системе CUDA-L2 языковая модель буквально пишет исходный код CUDA с нуля для каждого размера матрицы. Она не просто меняет параметры, она может менять структуру кода, циклы, стратегию тайлинга, паддинг и даже свизл-паттерны. А еще, она сама выбирает стиль программирования - будь то сырой CUDA, CuTe, CUTLASS или inline PTX.
Процесс выглядит так: цикл RL запускает сгенерированные ядра на реальном железе, измеряет скорость и корректность, а затем обновляет LLM. Со временем модель выводит свои собственные правила производительности, вместо того чтобы полагаться на знания, заложенные людьми.
В качестве генератора использовалась модель DeepSeek 671B. Ее дополнительно доучили на смеси массива CUDA-ядер и качественном коде из библиотек PyTorch, ATen, CUTLASS и примеров от NVIDIA.
Для претрейна и файнтюна LLM большая часть времени GPU тратится именно на операции матричного умножения HGEMM. Если ускорить эти ядра на те самые 10–30%, которые обещает CUDA-L2, то весь процесс обучения становится заметно дешевле и быстрее.
Поскольку CUDA-L2 обрабатывает около 1000 реальных размеров матриц, а не пару вручную настроенных, ускорение работает для самых разных архитектур. Это значит, что в тот же бюджет на GPU можно вместить больше токенов обучения, больше прогонов SFT или RLHF и т.д.
HGEMM-ядра, созданные CUDA-L2, стабильно быстрее стандартных библиотек.
В так называемом "оффлайн-сценарии" CUDA-L2 работает примерно на 17–22% быстрее, чем
torch.matmul, cuBLAS и cuBLASLt. Она даже на 11% обгоняет cuBLASLt AutoTuning, который сам по себе уже использует поиск ядра.А в "серверном", сценарии, который имитирует реальный инференс с паузами между вызовами - разница еще больше: буст в 24–29% по сравнению с
torch.matmul и cuBLAS.Простым рисёрчем проект не ограничен, в репозитории на Github авторы выложили оптимизированные ядра HGEMM A100 для 1000 конфигураций.
В планах: расширение на архитектуры Ada Lovelace, Hopper, Blackwell, поддержка более плотных конфигураций и 32-битный HGEMM.
@ai_machinelearning_big_data
#AI #ML #CUDA #DeepReinforce
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🤣3🤬2
🚀 Эффективная MPSC-очередь на C++
Репозиторий содержит реализацию lock-free очереди "Множественный производитель, один потребитель" (MPSC) с использованием кольцевого буфера. Проект ориентирован на обучение и понимание принципов многопоточности и атомарных операций, что делает его отличным ресурсом для разработчиков, стремящихся углубить свои знания в области высокопроизводительного программирования.
🚀 Основные моменты:
- Lock-free реализация для многопоточных приложений.
- Использует кольцевой буфер для оптимизации производительности.
- Поддерживает атомарные операции для безопасного доступа к данным.
- Подходит для систем с высоким уровнем нагрузки.
📌 GitHub: https://github.com/bowtoyourlord/MPSCQueue
Репозиторий содержит реализацию lock-free очереди "Множественный производитель, один потребитель" (MPSC) с использованием кольцевого буфера. Проект ориентирован на обучение и понимание принципов многопоточности и атомарных операций, что делает его отличным ресурсом для разработчиков, стремящихся углубить свои знания в области высокопроизводительного программирования.
🚀 Основные моменты:
- Lock-free реализация для многопоточных приложений.
- Использует кольцевой буфер для оптимизации производительности.
- Поддерживает атомарные операции для безопасного доступа к данным.
- Подходит для систем с высоким уровнем нагрузки.
📌 GitHub: https://github.com/bowtoyourlord/MPSCQueue
👍6🔥2❤1
📊 Анализатор логов 5G NR для KPI
Этот скрипт на C++ анализирует текстовые файлы логов вызовов 5G NR и извлекает ключевые показатели качества сети. Он помогает операторам выявлять проблемы, такие как сбои в передаче, проблемы с покрытием и перегрузки ресурсов.
🚀 Основные моменты:
- Расчет KPI: RRC Setup Success Rate, Average SINR и другие.
- Идентификация проблем в радиосети и ядре.
- Поддержка анализа логов для улучшения качества связи.
- Простой в использовании с примером лог-файла.
📌 GitHub: https://github.com/nidalaburaed/5GBTSLogAnalyzer
#c++
Этот скрипт на C++ анализирует текстовые файлы логов вызовов 5G NR и извлекает ключевые показатели качества сети. Он помогает операторам выявлять проблемы, такие как сбои в передаче, проблемы с покрытием и перегрузки ресурсов.
🚀 Основные моменты:
- Расчет KPI: RRC Setup Success Rate, Average SINR и другие.
- Идентификация проблем в радиосети и ядре.
- Поддержка анализа логов для улучшения качества связи.
- Простой в использовании с примером лог-файла.
📌 GitHub: https://github.com/nidalaburaed/5GBTSLogAnalyzer
#c++
❤2👍2
Встреча РГ21 С++ — обсуждение решений международного комитета по С++
15 декабря | Москва, офлайн + онлайн
На встрече руководитель группы разработки в Яндексе Антон Полухин поделится свежими новостями со встречи международного Комитета по стандартизации языка C++.
Антон расскажет о прогрессе в работе над С++26 с рефлексией, комментариях к стандарту от России, неожиданных новинках, а также ответит на вопросы о том, как российским разработчикам участвовать в развитии стандарта языка.
Регистрация
15 декабря | Москва, офлайн + онлайн
На встрече руководитель группы разработки в Яндексе Антон Полухин поделится свежими новостями со встречи международного Комитета по стандартизации языка C++.
Антон расскажет о прогрессе в работе над С++26 с рефлексией, комментариях к стандарту от России, неожиданных новинках, а также ответит на вопросы о том, как российским разработчикам участвовать в развитии стандарта языка.
Регистрация
👍10😁2
🚀 Эффективный фреймворк для сетевых приложений на C++23
asyncio — это фреймворк для создания сетевых компонентов с использованием корутин C++20 и событийного цикла libuv. Он упрощает взаимодействие между задачами через каналы, обеспечивая высокую производительность и простоту в использовании.
🚀 Основные моменты:
- Поддержка корутин для асинхронного программирования.
- Использует события libuv для обработки сетевых операций.
- Легкая интеграция с другими библиотеками через vcpkg.
📌 GitHub: https://github.com/Hackerl/asyncio
#cpp
asyncio — это фреймворк для создания сетевых компонентов с использованием корутин C++20 и событийного цикла libuv. Он упрощает взаимодействие между задачами через каналы, обеспечивая высокую производительность и простоту в использовании.
🚀 Основные моменты:
- Поддержка корутин для асинхронного программирования.
- Использует события libuv для обработки сетевых операций.
- Легкая интеграция с другими библиотеками через vcpkg.
📌 GitHub: https://github.com/Hackerl/asyncio
#cpp
❤6🥱2🖕1
Forwarded from botavtopost
🧩 ObjectBox: Легкая встроенная база данных для C и C++
ObjectBox предоставляет мощную и быструю встроенную базу данных для приложений на C и C++. Она идеально подходит для работы с объектами и векторными данными, обеспечивая синхронизацию данных между устройствами и облаком. Поддерживает множество платформ и оптимизирована для работы на ограниченных устройствах.
🚀 Основные моменты:
- Легкая и быстрая база данных для IoT и встраиваемых систем
- Поддержка синхронизации данных между устройствами
- Минимальные требования к ресурсам
- Автоматические миграции схемы
- Поддержка множества платформ: Linux, Windows, macOS, Android, iOS
📌 GitHub: https://github.com/objectbox/objectbox-c
#c
ObjectBox предоставляет мощную и быструю встроенную базу данных для приложений на C и C++. Она идеально подходит для работы с объектами и векторными данными, обеспечивая синхронизацию данных между устройствами и облаком. Поддерживает множество платформ и оптимизирована для работы на ограниченных устройствах.
🚀 Основные моменты:
- Легкая и быстрая база данных для IoT и встраиваемых систем
- Поддержка синхронизации данных между устройствами
- Минимальные требования к ресурсам
- Автоматические миграции схемы
- Поддержка множества платформ: Linux, Windows, macOS, Android, iOS
📌 GitHub: https://github.com/objectbox/objectbox-c
#c
GitHub
GitHub - objectbox/objectbox-c: C and C++ database for objects and structs
C and C++ database for objects and structs. Contribute to objectbox/objectbox-c development by creating an account on GitHub.
👍3❤2🥰1
🔥 Новый курс на Stepik: Linux - апгрейд твоих скиллов до уровня инженера
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
🚀 Lite³: Уникальный формат сериализации без копирования
Lite³ — это JSON-совместимый формат сериализации, который позволяет работать с данными напрямую в сериализованной форме. Он использует B-деревья для хранения данных, обеспечивая доступ с логарифмической сложностью и устраняя необходимость в традиционном парсинге.
🚀 Основные моменты:
- Непарсируемый, нулевое копирование при чтении и записи
- Поддержка JSON и совместимость с существующими API
- Низкий объем памяти и предсказуемая задержка
- Отсутствие зависимостей и минимальный размер библиотеки
📌 GitHub: https://github.com/fastserial/lite3
#c
Lite³ — это JSON-совместимый формат сериализации, который позволяет работать с данными напрямую в сериализованной форме. Он использует B-деревья для хранения данных, обеспечивая доступ с логарифмической сложностью и устраняя необходимость в традиционном парсинге.
🚀 Основные моменты:
- Непарсируемый, нулевое копирование при чтении и записи
- Поддержка JSON и совместимость с существующими API
- Низкий объем памяти и предсказуемая задержка
- Отсутствие зависимостей и минимальный размер библиотеки
📌 GitHub: https://github.com/fastserial/lite3
#c
🔥4😭1