🚀 Высокопроизводительная диффузия на C++/CUDA
Librediffusion — это реализация StreamDiffusion на C++ с использованием CUDA и TensorRT. Оптимизирована для высокой производительности на современных графических процессорах, обеспечивая стабильные кадры для генерации изображений.
🚀Основные моменты:
- Поддержка моделей SDXL Turbo и SD Turbo.
- Высокая скорость: до 600 fps на RTX 5090.
- Интеграция с ossia score для удобства использования.
📌 GitHub: https://github.com/jcelerier/librediffusion
#cpp
Librediffusion — это реализация StreamDiffusion на C++ с использованием CUDA и TensorRT. Оптимизирована для высокой производительности на современных графических процессорах, обеспечивая стабильные кадры для генерации изображений.
🚀Основные моменты:
- Поддержка моделей SDXL Turbo и SD Turbo.
- Высокая скорость: до 600 fps на RTX 5090.
- Интеграция с ossia score для удобства использования.
📌 GitHub: https://github.com/jcelerier/librediffusion
#cpp
❤3🔥2
🎮 Минимальный шаблон проекта SDL3
sdl3-starter-template — это базовый шаблон для разработки игр на SDL3. Он включает необходимые библиотеки и упрощает процесс создания игр, позволяя сосредоточиться на коде.
🚀Основные моменты:
- Поддержка SDL3, SDL3_image и SDL3_ttf через vcpkg
- Простая структура проекта с основным циклом игры
- Совместимость с CMake и популярными компиляторами
- Легкий старт для разработчиков игр
📌 GitHub: https://github.com/Tanner-Davison/sdl3-starter-template
#cpp
sdl3-starter-template — это базовый шаблон для разработки игр на SDL3. Он включает необходимые библиотеки и упрощает процесс создания игр, позволяя сосредоточиться на коде.
🚀Основные моменты:
- Поддержка SDL3, SDL3_image и SDL3_ttf через vcpkg
- Простая структура проекта с основным циклом игры
- Совместимость с CMake и популярными компиляторами
- Легкий старт для разработчиков игр
📌 GitHub: https://github.com/Tanner-Davison/sdl3-starter-template
#cpp
❤8
🚀 Ультрабыстрый алгоритм сортировки JesseSort
JesseSort использует два вставочных этапа Patience Sort с последующим слиянием, обеспечивая высокую производительность на реальных данных. Алгоритм достигает времени O(n) при наличии естественных последовательностей, что делает его эффективным для различных типов входных данных.
🚀 Основные моменты:
- Быстрее стандартных сортировок на отсортированных входах
- Поддерживает адаптивное поведение для реальных данных
- Использует два этапа вставки и слияния
- Активно развивается, с возможными улучшениями в будущем
📌 GitHub: https://github.com/lewj85/jessesort
#cpp
JesseSort использует два вставочных этапа Patience Sort с последующим слиянием, обеспечивая высокую производительность на реальных данных. Алгоритм достигает времени O(n) при наличии естественных последовательностей, что делает его эффективным для различных типов входных данных.
🚀 Основные моменты:
- Быстрее стандартных сортировок на отсортированных входах
- Поддерживает адаптивное поведение для реальных данных
- Использует два этапа вставки и слияния
- Активно развивается, с возможными улучшениями в будущем
📌 GitHub: https://github.com/lewj85/jessesort
#cpp
👍11❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔊📊 AVIL - библиотека для проверки аудио и визуализации спектров
AVIL - это инструмент на C++20 для macOS, который определяет, является ли WAV-файл транскодированным MP3, и визуализирует аудиочастоты в реальном времени в терминале. Использует AVX2 для ускоренной обработки FFT.
🚀Основные моменты:
- Обнаружение транскодирования MP3 с помощью спектрального анализа.
- Визуализация спектра и уровней громкости в реальном времени.
- Поддержка микрофонного входа с подавлением обратной связи.
📌 GitHub: https://github.com/giorgiogamba/avil
#cpp
AVIL - это инструмент на C++20 для macOS, который определяет, является ли WAV-файл транскодированным MP3, и визуализирует аудиочастоты в реальном времени в терминале. Использует AVX2 для ускоренной обработки FFT.
🚀Основные моменты:
- Обнаружение транскодирования MP3 с помощью спектрального анализа.
- Визуализация спектра и уровней громкости в реальном времени.
- Поддержка микрофонного входа с подавлением обратной связи.
📌 GitHub: https://github.com/giorgiogamba/avil
#cpp
👍5🖕3🥰1
🚀 Высокопроизводительный парсер FastParseX
FastParseX — это высокопроизводительный парсер на C++ для CSV, логов и бинарных данных. Он обеспечивает максимальную пропускную способность и минимальные накладные расходы, идеально подходя для работы с данными в реальном времени.
🚀Основные моменты:
- Поддержка параллельного парсинга и многопоточности
- Встроенная профилировка и статистика по колонкам
- Экспорт в Arrow и Parquet (Pro версия)
- Оптимизированные модули для высокой производительности
- Поддержка сжатия (gzip, xz, zstd)
📌 GitHub: https://github.com/FastParseX-dev/FastParseX
#cpp
FastParseX — это высокопроизводительный парсер на C++ для CSV, логов и бинарных данных. Он обеспечивает максимальную пропускную способность и минимальные накладные расходы, идеально подходя для работы с данными в реальном времени.
🚀Основные моменты:
- Поддержка параллельного парсинга и многопоточности
- Встроенная профилировка и статистика по колонкам
- Экспорт в Arrow и Parquet (Pro версия)
- Оптимизированные модули для высокой производительности
- Поддержка сжатия (gzip, xz, zstd)
📌 GitHub: https://github.com/FastParseX-dev/FastParseX
#cpp
GitHub
GitHub - FastParseX-dev/FastParseX: High-performance C++ parser for CSV, logs, and binary data (mmap, parallel, Arrow/Parquet)
High-performance C++ parser for CSV, logs, and binary data (mmap, parallel, Arrow/Parquet) - FastParseX-dev/FastParseX
🔥6❤3
🧩 Упрощенная сериализация в C++ по контракту
SerializationByContract предлагает инновационный подход к сериализации и десериализации данных, используя контракты для автоматизации процессов. Вместо создания отдельных функций для сериализации и десериализации, вы определяете контракт, который управляет всем процессом.
🚀 Основные моменты:
- Автоматизация сериализации и десериализации через контракты.
- Поддержка большинства STL структур данных.
- Применение в межпроцессном взаимодействии (IPC).
- Простота интеграции пользовательских структур данных.
📌 GitHub: https://github.com/amarmer/SerializationByContract
#cpp
🚀 MAX
SerializationByContract предлагает инновационный подход к сериализации и десериализации данных, используя контракты для автоматизации процессов. Вместо создания отдельных функций для сериализации и десериализации, вы определяете контракт, который управляет всем процессом.
🚀 Основные моменты:
- Автоматизация сериализации и десериализации через контракты.
- Поддержка большинства STL структур данных.
- Применение в межпроцессном взаимодействии (IPC).
- Простота интеграции пользовательских структур данных.
📌 GitHub: https://github.com/amarmer/SerializationByContract
#cpp
🚀 MAX
❤7❤🔥2🥰1😱1
🧩 Легкий IoC контейнер для C++17
Genode.IoC — это компактный и простой в использовании контейнер внедрения зависимостей для C++17. Он не требует базовых классов или интерфейсов, что делает его идеальным для легковесных проектов. Автоматическое создание объектов и управление временем жизни упрощают интеграцию.
🚀 Основные моменты:
- Одно заголовочное файл.
- Автоматическое разрешение зависимостей.
- Минимальная конфигурация и управление временем жизни.
- Поддержка синглтонов и локальных экземпляров.
- Легкая интеграция в проекты.
📌 GitHub: https://github.com/SirusDoma/Genode.IoC
#cpp
Genode.IoC — это компактный и простой в использовании контейнер внедрения зависимостей для C++17. Он не требует базовых классов или интерфейсов, что делает его идеальным для легковесных проектов. Автоматическое создание объектов и управление временем жизни упрощают интеграцию.
🚀 Основные моменты:
- Одно заголовочное файл.
- Автоматическое разрешение зависимостей.
- Минимальная конфигурация и управление временем жизни.
- Поддержка синглтонов и локальных экземпляров.
- Легкая интеграция в проекты.
📌 GitHub: https://github.com/SirusDoma/Genode.IoC
#cpp
GitHub
GitHub - SirusDoma/Genode.IoC: A non-intrusive single file header IoC Container for C++ 17
A non-intrusive single file header IoC Container for C++ 17 - SirusDoma/Genode.IoC
👍3❤2🔥2
🚀 Высокопроизводительная библиотека интернирования строк на C++
Azrar::StringIndex предлагает эффективный механизм интернирования строк, создавая глобальный словарь уникальных строк. Это значительно ускоряет доступ и сравнение строк, что особенно полезно в приложениях с большим количеством идентичных строк.
🚀 Основные моменты:
- Уменьшает использование памяти за счет хранения строк только один раз.
- Обеспечивает быстрый доступ к строкам через индексы.
- Поддерживает многопоточность для повышения производительности.
- Идеально подходит для приложений, работающих с большими объемами строк.
📌 GitHub: https://github.com/kboutora/Azrar
#cpp
Azrar::StringIndex предлагает эффективный механизм интернирования строк, создавая глобальный словарь уникальных строк. Это значительно ускоряет доступ и сравнение строк, что особенно полезно в приложениях с большим количеством идентичных строк.
🚀 Основные моменты:
- Уменьшает использование памяти за счет хранения строк только один раз.
- Обеспечивает быстрый доступ к строкам через индексы.
- Поддерживает многопоточность для повышения производительности.
- Идеально подходит для приложений, работающих с большими объемами строк.
📌 GitHub: https://github.com/kboutora/Azrar
#cpp
👍5❤🔥1❤1👏1
🌍🚀 Эффективная библиотека для работы с часовыми поясами
vtz предлагает высокую производительность и простой API для обработки временных данных. Она значительно быстрее конкурентов, обеспечивая до 60 раз более быстрые преобразования часовых поясов и парсинг временных меток, что делает её идеальным выбором для приложений с высокими требованиями к скорости и масштабируемости.
🚀Основные моменты:
- 30-60x быстрее преобразования часовых поясов.
- Эффективный алгоритм с блочной таблицей для быстрого поиска.
- Совместимость с
- Оптимизирована для работы с большими объемами данных.
📌 GitHub: https://github.com/voladynamics/vtz
#cpp
vtz предлагает высокую производительность и простой API для обработки временных данных. Она значительно быстрее конкурентов, обеспечивая до 60 раз более быстрые преобразования часовых поясов и парсинг временных меток, что делает её идеальным выбором для приложений с высокими требованиями к скорости и масштабируемости.
🚀Основные моменты:
- 30-60x быстрее преобразования часовых поясов.
- Эффективный алгоритм с блочной таблицей для быстрого поиска.
- Совместимость с
std::chrono::time_zone.- Оптимизирована для работы с большими объемами данных.
📌 GitHub: https://github.com/voladynamics/vtz
#cpp
🔥6👍2
🌟 Быстрая библиотека JSON: Glaze
Glaze — это одна из самых быстрых библиотек для работы с JSON и другими форматами, обеспечивающая высокую производительность и простоту интерфейса. Она поддерживает множество форматов, включая JSON, CBOR, YAML и другие, с акцентом на компиляцию времени и рефлексию.
🚀Основные моменты:
- Поддержка C++23 и C++26 с рефлексией для удобной работы с данными
- Высокая производительность: быстрая сериализация и десериализация
- Заголовочная библиотека без зависимости от RTTI и исключений
- Совместимость с современными компиляторами и стандартами
📌 GitHub: https://github.com/stephenberry/glaze
#cpp
Glaze — это одна из самых быстрых библиотек для работы с JSON и другими форматами, обеспечивающая высокую производительность и простоту интерфейса. Она поддерживает множество форматов, включая JSON, CBOR, YAML и другие, с акцентом на компиляцию времени и рефлексию.
🚀Основные моменты:
- Поддержка C++23 и C++26 с рефлексией для удобной работы с данными
- Высокая производительность: быстрая сериализация и десериализация
- Заголовочная библиотека без зависимости от RTTI и исключений
- Совместимость с современными компиляторами и стандартами
📌 GitHub: https://github.com/stephenberry/glaze
#cpp
❤9👍2
Data-Parallel Types: алгоритмы (C++26)
Библиотека «data-parallel types» для SIMD-векторов (пространство имён
-
-
- Автор отмечает, что строка
-
- Показаны два примера: ограничение к диапазону
Итог
- Для SIMD-векторов доступны привычные «минимумы/максимумы» и покомпонентный
-
- Дальше автор планирует разбирать новые возможности C++26 (в частности, контракты).
https://www.modernescpp.com/index.php/data-parallel-types-algorithms/
#cpp #programming
Библиотека «data-parallel types» для SIMD-векторов (пространство имён
std::experimental, алиас stdx) предоставляет четыре специальных алгоритма: `min, max, minmax и clamp. min, max, minmax-
min(a, b) и max(a, b) принимают два SIMD-вектора и возвращают вектор покомпонентных минимумов/максимумов.-
minmax(a, b) возвращает пару SIMD-векторов: первый — покомпонентные минимумы, второй — максимумы.- Автор отмечает, что строка
stdx::minmax(a, b) у него не компилировалась ни в GCC, ни в Clang (на момент публикации). clamp-
stdx::clamp(v, lo, hi) применяет std::clamp к каждому элементу SIMD-вектора: значения ниже lo поднимаются до нижней границы, выше hi — опускаются до верхней.- Показаны два примера: ограничение к диапазону
INT8_MIN..INT8_MAX и к 0..UINT8_MAX; на выводах видно, как выходящие за пределы элементы прижимаются к границам. Итог
- Для SIMD-векторов доступны привычные «минимумы/максимумы» и покомпонентный
clamp.-
minmax задуман как удобный возврат пары (min/max), но в текущих компиляторах может не собираться.- Дальше автор планирует разбирать новые возможности C++26 (в частности, контракты).
https://www.modernescpp.com/index.php/data-parallel-types-algorithms/
#cpp #programming
👍7❤3🔥1
🧩 C++ обертка для PCRE2
pcre2cpp - это объектно-ориентированная обертка для библиотеки PCRE2, обеспечивающая удобный интерфейс для работы с регулярными выражениями. Поддерживает C++17 и C++20, упрощая процесс сопоставления и захвата результатов.
🚀 Основные моменты:
- Объектно-ориентированный интерфейс для PCRE2 10.47
- Совместимость с C++17 и C++20
- Удобное сопоставление регулярных выражений
- Встроенное захватывание результатов
📌 GitHub: https://github.com/MAIPA01/pcre2cpp
#cpp
pcre2cpp - это объектно-ориентированная обертка для библиотеки PCRE2, обеспечивающая удобный интерфейс для работы с регулярными выражениями. Поддерживает C++17 и C++20, упрощая процесс сопоставления и захвата результатов.
🚀 Основные моменты:
- Объектно-ориентированный интерфейс для PCRE2 10.47
- Совместимость с C++17 и C++20
- Удобное сопоставление регулярных выражений
- Встроенное захватывание результатов
📌 GitHub: https://github.com/MAIPA01/pcre2cpp
#cpp
👍3🔥3❤2
Media is too big
VIEW IN TELEGRAM
Веселье с type erasure: делаем обертку с семантикой значения для полиморфных типов
Павел Новиков
Цель доклада — познакомить с подноготной базовой реализации type erasure (т.н. «стирание типов») в C++, а также придать уверенности при возможном взаимодействии с подобным кодом.
Используя реализацию обертки с семантикой значения в качестве примера, мы посмотрели на то, как работает type erasure, похожий на std::any.
В отличие от повсеместно используемой семантики указателя или ссылки, в данном случае обертка с семантикой значения позволяет нам обращаться с полиморфными объектами со «стертыми типами» как с обычными значениями: перемещать их, копировать, присваивать новые значения, при этом всей головной болью владения (ownership) и клонирования объекта исходного типа займётся реализация «за кулисами».
источник
#cpp #programming
Павел Новиков
Цель доклада — познакомить с подноготной базовой реализации type erasure (т.н. «стирание типов») в C++, а также придать уверенности при возможном взаимодействии с подобным кодом.
Используя реализацию обертки с семантикой значения в качестве примера, мы посмотрели на то, как работает type erasure, похожий на std::any.
В отличие от повсеместно используемой семантики указателя или ссылки, в данном случае обертка с семантикой значения позволяет нам обращаться с полиморфными объектами со «стертыми типами» как с обычными значениями: перемещать их, копировать, присваивать новые значения, при этом всей головной болью владения (ownership) и клонирования объекта исходного типа займётся реализация «за кулисами».
источник
#cpp #programming
❤2🔥2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
#cpp #programming
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
#cpp #programming
👍7❤5🔥3
🧩 userver 3.0 — крупное обновление C++ фреймворка от Яндекса для highload-сервисов
Яндекс Go выпустил новую версию open source-фреймворка userver, который используется для разработки высоконагруженных и отказоустойчивых систем промышленного масштаба. В релиз вошло более 2500 улучшений.
🚀 Основные моменты:
- Chaotic — генерация boilerplate-кода по схемам данных
- userver easy — быстрый старт микросервисов с возможностью дальнейшего масштабирования
- Снижение потребления RAM и CPU в production-сценариях
- Асинхронная архитектура для высоконагруженных сервисов
- Используется в реальных сервисах Яндекса: Go, Еда, Лавка и других
- Open source и доступен сообществу на GitHub
📌 GitHub https://github.com/userver-framework
#cpp
Яндекс Go выпустил новую версию open source-фреймворка userver, который используется для разработки высоконагруженных и отказоустойчивых систем промышленного масштаба. В релиз вошло более 2500 улучшений.
🚀 Основные моменты:
- Chaotic — генерация boilerplate-кода по схемам данных
- userver easy — быстрый старт микросервисов с возможностью дальнейшего масштабирования
- Снижение потребления RAM и CPU в production-сценариях
- Асинхронная архитектура для высоконагруженных сервисов
- Используется в реальных сервисах Яндекса: Go, Еда, Лавка и других
- Open source и доступен сообществу на GitHub
📌 GitHub https://github.com/userver-framework
#cpp
❤12🔥8👍4
🎨✨ FusionUI: современная библиотека UI на C++23
FusionUI — это библиотека для создания интерфейсов с декларативными виджетами и безопасной системой стилей. Она поддерживает анимации, переходы и различные платформенные бэкенды, обеспечивая гибкость и простоту в использовании.
🚀Основные моменты:
- Декларативные виджеты с типобезопасными стилями
- Поддержка анимаций и переходов
- Отсутствие глобального состояния для изоляции приложений
- Легкая интеграция с Vulkan и SDL3
- Кроссплатформенная: Windows, macOS, Linux
📌 GitHub: https://github.com/neilmewada/FusionUI
#cpp
FusionUI — это библиотека для создания интерфейсов с декларативными виджетами и безопасной системой стилей. Она поддерживает анимации, переходы и различные платформенные бэкенды, обеспечивая гибкость и простоту в использовании.
🚀Основные моменты:
- Декларативные виджеты с типобезопасными стилями
- Поддержка анимаций и переходов
- Отсутствие глобального состояния для изоляции приложений
- Легкая интеграция с Vulkan и SDL3
- Кроссплатформенная: Windows, macOS, Linux
📌 GitHub: https://github.com/neilmewada/FusionUI
#cpp
👍16❤2🔥2😁1
⚙️ clap: современный парсер аргументов командной строки для C++26
clap предлагает удобный способ парсинга аргументов командной строки с использованием рефлексии. Он поддерживает различные типы аргументов, включая обязательные и необязательные, а также предоставляет возможность задавать значения по умолчанию и использовать переменные окружения.
🚀Основные моменты:
- Поддержка значений по умолчанию и необязательных аргументов
- Краткие аргументы и комбинированные флаги
- Аннотации для описаний полей
- Автоматическое преобразование имен в kebab-case
- Простота использования с рефлексией
📌 GitHub: https://github.com/nathan-baggs/clap
#cpp
clap предлагает удобный способ парсинга аргументов командной строки с использованием рефлексии. Он поддерживает различные типы аргументов, включая обязательные и необязательные, а также предоставляет возможность задавать значения по умолчанию и использовать переменные окружения.
🚀Основные моменты:
- Поддержка значений по умолчанию и необязательных аргументов
- Краткие аргументы и комбинированные флаги
- Аннотации для описаний полей
- Автоматическое преобразование имен в kebab-case
- Простота использования с рефлексией
📌 GitHub: https://github.com/nathan-baggs/clap
#cpp
🔥8👍2❤1
🚁Высокопроизводительная библиотека H.A.L.O. для автономных дронов
H.A.L.O. Aegis Omniverse - это библиотека на C++20, предназначенная для навигации и защиты автономных спасательных дронов в сложных условиях. Она сочетает в себе передовые методы поиска пути и тактическое избегание препятствий с реакцией менее чем за наносекунду.
🚀 Основные моменты:
- Высокая производительность с использованием JPS+ для навигации.
- 10-слойная система защиты для мгновенного реагирования.
- Оптимизация под ARM NEON и SSE4 для максимальной скорости.
- Открытый исходный код для гуманитарных миссий.
📌 GitHub: https://github.com/Nguyenidkskibidi/halo-aegis-core
#cpp
H.A.L.O. Aegis Omniverse - это библиотека на C++20, предназначенная для навигации и защиты автономных спасательных дронов в сложных условиях. Она сочетает в себе передовые методы поиска пути и тактическое избегание препятствий с реакцией менее чем за наносекунду.
🚀 Основные моменты:
- Высокая производительность с использованием JPS+ для навигации.
- 10-слойная система защиты для мгновенного реагирования.
- Оптимизация под ARM NEON и SSE4 для максимальной скорости.
- Открытый исходный код для гуманитарных миссий.
📌 GitHub: https://github.com/Nguyenidkskibidi/halo-aegis-core
#cpp
🔥9👍5🤔4❤1
🧩 ACAV: Интерактивный просмотр AST для C/C++ проектов
ACAV (Aurora Clang AST Viewer) — это настольное приложение для визуализации абстрактных синтаксических деревьев (AST) в проектах на C, C++ и Objective-C. Оно позволяет пользователям исследовать представление исходного кода Clang, перемещаться между местоположениями кода и узлами AST, а также изучать структуру программ.
🚀 Основные моменты:
- Интерактивная визуализация AST для языков семейства C.
- Двусторонняя навигация между исходным кодом и узлами AST.
- Просмотр файлового дерева для исходных файлов и заголовков.
- Поиск по исходному коду и узлам AST.
- Поддержка нативных и контейнеризованных рабочих процессов для macOS и Linux.
📌 GitHub: https://github.com/uvic-aurora/acav
#cpp
ACAV (Aurora Clang AST Viewer) — это настольное приложение для визуализации абстрактных синтаксических деревьев (AST) в проектах на C, C++ и Objective-C. Оно позволяет пользователям исследовать представление исходного кода Clang, перемещаться между местоположениями кода и узлами AST, а также изучать структуру программ.
🚀 Основные моменты:
- Интерактивная визуализация AST для языков семейства C.
- Двусторонняя навигация между исходным кодом и узлами AST.
- Просмотр файлового дерева для исходных файлов и заголовков.
- Поиск по исходному коду и узлам AST.
- Поддержка нативных и контейнеризованных рабочих процессов для macOS и Linux.
📌 GitHub: https://github.com/uvic-aurora/acav
#cpp
❤11👍6🥰1
🚀 Высокопроизводительная библиотека CNN на C++20
MetalNet — это заголовочная библиотека для свёрточных нейронных сетей, написанная на C++20. Она обеспечивает производительность, сопоставимую с популярными фреймворками, благодаря нулевым накладным расходам, использованию DAG для автоматического дифференцирования и оптимизации под архитектуру процессора.
🚀 Основные моменты:
- Заголовочная библиотека без внешних зависимостей
- Поддержка AVX2 и OpenMP для многопоточности
- Имплицитная свёртка GEMM без избыточного использования памяти
- Оптимизированные алгоритмы для повышения производительности
- Сравнения производительности с PyTorch
📌 GitHub: https://github.com/KunwarPrabhat/CustomCNN
#cpp
MetalNet — это заголовочная библиотека для свёрточных нейронных сетей, написанная на C++20. Она обеспечивает производительность, сопоставимую с популярными фреймворками, благодаря нулевым накладным расходам, использованию DAG для автоматического дифференцирования и оптимизации под архитектуру процессора.
🚀 Основные моменты:
- Заголовочная библиотека без внешних зависимостей
- Поддержка AVX2 и OpenMP для многопоточности
- Имплицитная свёртка GEMM без избыточного использования памяти
- Оптимизированные алгоритмы для повышения производительности
- Сравнения производительности с PyTorch
📌 GitHub: https://github.com/KunwarPrabhat/CustomCNN
#cpp
🔥5❤1