Rust
8.52K subscribers
465 photos
42 videos
3 files
1.01K links
Rust programming language

По всем вопросам- @workakkk

#VRHSZ
Download Telegram
Исследователи NVIDIA перенесли модель владения Rust в GPU-kernels.

Paper: “Fearless Concurrency on the GPU”. В нём представлен cuTile Rust.

Проблема была в том, что при написании кастомных GPU-ядер на Rust разработчикам фактически приходилось выходить за пределы гарантий безопасности Rust.

cuTile Rust пытается это исправить:

* mutable outputs разбиваются на непересекающиеся части
* запуск kernels сохраняет правила ownership от host до device
* при необходимости остаются локальные opt-out механизмы для низкоуровневого контроля

Производительность тоже держится на уровне:

* 7 TB/s для element-wise операций на NVIDIA B200
* 2 PFlop/s для GEMM, это 96% от cuBLAS
* результат сопоставим с cuTile Python в пределах погрешности измерений

Авторы также собрали Grout, inference engine поверх cuTile Rust, и прогнали реальные модели:

* 171 tokens/s для Qwen3-4B на RTX 5090
* 82 tokens/s для Qwen3-32B на B200
* конкурентный уровень рядом с vLLM и SGLang

Итог - безопасный и идиоматичный Rust почти на полной CUDA-производительности.

Для Rust в ML-инфраструктуре это большой шаг.

http://arxiv.org/abs/2606.15991

#Rust #RustLang #GPU #CUDA #MachineLearning #SystemsProgramming #NVIDIA

@data_analysis_ml
🔥4210👍7🥰1👏1🤗1
👣 Rust CLI, который проверяет, существует ли уже ваша идея.

patent ищет совпадения сразу в 11 dev-реестрах: crates.io, npm, PyPI, GitHub, Docker Hub и других. После этого показывает, насколько ниша свободна: Open, Crowded или Saturated.

Одна команда:


patent "interactive CLI to kill whatever's on a port"


Инструмент ранжирует результаты через локальный semantic search, затем делает AI-вердикт через Ollama.

Всё работает локально: данные не уходят с вашей машины.

Хороший способ сэкономить месяц перед очередным pet project и быстро понять, не сделали ли вашу идею уже десять раз.

http://github.com/r14dd/patent
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥14🥰63🥴1🤗1
В Rust нашли смешной и неприятный кейс: несколько символов @ могут заставить rustc жрать десятки гигабайт памяти.

Автор копался в macro expansion и заметил, что парсер declarative macros в rustc ведёт себя как упрощённый Earley parser: он одновременно держит несколько возможных вариантов разбора макроса.

Обычно это нормально.

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

Результат:

- валидный Rust-код
- всего несколько десятков токенов @
- компиляция на n = 41 заняла около 80 секунд
- пиковая память дошла до 44 ГБ

Самое интересное: код не использует сложные выражения, типы или гигантские зависимости. Только macro_rules и фиксированные токены.

Главная мысль не в том, что «Rust сломан».

Главная мысль в другом: макросы в Rust - это почти отдельный язык внутри языка, и даже маленький паттерн может внезапно превратиться в тяжёлую задачу для компилятора.

Автор предлагает смотреть в сторону packrat-подхода с memoization, где состояние парсинга можно кэшировать и гарантировать линейное число шагов по input.len() * arm.len().

Красивый пример того, как в системном языке проблемы иногда прячутся не в unsafe, не в borrow checker и не в LLVM.

А в маленьком macro_rules, который выглядит безобидно.

Хорошее чтиво на выходные 🦀

bal-e.org/blog/2026/oops-cubic-macro/
🔥2710🤝8🥰2😁2😱1
Forwarded from Machinelearning
✔️ OpenAI стала платиновым участником Rust Foundation

Компания Сэма Альтмана выделит $600 000 на развитие языка.  Средства, идущие сверх ежегодного членского взноса, направят на поддержку целей проекта Rust, инновационной лаборатории, а также на прямое финансирование разработчиков открытого ПО.

Интересы OpenAI в совете директоров фонда будет представлять Предраг Груевски, технический специалист OpenAI и разработчик инструмента проверки совместимости версий cargo-semver-checks.

За 2 дня до официального вступления в фонд OpenAI распределила $160 000 через GitHub Sponsors. Целевые гранты получили разработчики открытых проектов, от которых зависят Astral и Codex.

@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥154🖕3
Как на самом деле работает .await: пишем свой async-рантайм на Rust с нуля

Если попросить среднего Rust-разработчика объяснить, что делает .await, в ответ обычно звучит что-то про «приостанавливает выполнение, пока не придут данные». Это верно ровно настолько же, насколько «компьютер думает» объясняет работу процессора. На самом деле за .await не стоит ни потока, ни приостановки в привычном смысле. Стоит обычный enum и вызов функции по указателю.

Я полгода писал async-код на tokio, искренне считая рантайм чернм ящиком, в который лучше не лезть. Сломался этот настрой в тот день, когда у меня в проде намертво зависла одна задача: по логам она обязана была проснуться, но не просыпалась. Я потерял на ней вечер, а причина оказалась в одной строчке про Waker, к которой мы ещё вернёмся. Тогда я плюнул и за пару вечеров написал свой рантайм с нуля - и оказалось, что весь фундамент умещается в голове за один присест и примерно в 200 строк кода.

После этого и тот баг стал очевидным, и исходники tokio начали читаться как книга, а не как заклинание.

https://habr.com/ru/articles/1050160/
👏269👍4🤯4
🔥 Продвинутый Rust без учебных игрушек

Базу уже прошли? Тогда следующий шаг - production-разработка.

На Stepik идет скидка 60% на продвинутый курс по Rust для тех, кто хочет не просто знать синтаксис, а строить реальные системы.

Внутри: async, unsafe, gRPC, lock-free, observability, Kafka, NATS, axum, tower, CI/CD и канареечный деплой.

Финальный проект - production-ready feed-сервис от архитектуры до релиза.

21 модуль, 84 урока, 400+ проверочных шагов.

Если хотите перейти от маленьких Rust-утилит к коммерческой разработке, сейчас хороший момент зайти: https://stepik.org/a/285608/pay
🖕133👍3🔥3
Rust теперь можно компилировать в JVM bytecode.

rustc_codegen_jvm - экспериментальный backend для компилятора Rust, который берёт Rust MIR и превращает его в .class файлы, а затем собирает runnable .jar под JVM 8+.

Что уже заявлено:

- генерация исполняемого .jar
- поддержка базового core
- if/else, match, for, while, loop
- structs, tuples, arrays, slices, enums
- traits, closures, dynamic dispatch
- function pointers, recursion, generics
- часть unsafe, включая unions
- оптимизации вроде constant folding, propagation и dead code elimination

Пайплайн выглядит так:

Rust frontend → MIR → OOMIR → JVM classfile → R8 → .jar

https://github.com/IntegralPilot/rustc_codegen_jvm
😱38💊16👍9🗿5😁31
👣 В Rust появился интересный подход к обработке ошибок - `eros`.

Обычно выбор такой:

anyhow — удобно, но теряется точная типизация ошибок.

thiserror — типобезопасно, но приходится писать enum и boilerplate.

eros пытается взять лучшее из обоих миров: typed error unions без ручного объявления enum.

Пример:


fn read() -> Result<String, ErrorUnion<(IoError, RecvError)>> {
// ...
}


Что это даёт:

• сохраняется полная информация о типах ошибок

• ошибки естественно композятся при вызове функций

• не нужно писать отдельные enum под каждый слой

• можно добавлять context по цепочке вызовов

• есть backtraces и интеграция с логированием

• zero-cost, когда ошибки не происходит

По сути, это попытка сделать error handling в Rust более удобным, не жертвуя строгой типизацией.

212 звёзд, свежий релиз v0.6.0, проект активно поддерживается.

GitHub:
http://github.com/mcmah309/eros
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🤔107🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Песочницы для агентов не должны каждый раз стартовать с нуля, когда агент создаёт новую ветку.

forkd — это runtime для sandbox-окружений AI-агентов на базе Firecracker microVM.

Он помогает быстрее ветвить и распараллеливать задачи: сначала один раз запускается «прогретый» родительский microVM, а затем дочерние окружения создаются из copy-on-write снапшотов памяти вместо холодного запуска каждой VM.

Ключевые возможности:

- Forking от прогретого родителя — дочерние окружения наследуют уже загруженные импорты, зависимости, JIT-состояние, веса моделей и кэши
- KVM-изолированные microVM — каждый дочерний sandbox работает как отдельный процесс Firecracker с собственной изоляцией
- Live BRANCH — можно поставить работающий sandbox на паузу, снять снапшот состояния «на лету» и продолжить выполнение. Для v0.4 заявлено p50-окно паузы исходного окружения 56 мс
- Цепочки diff-снапшотов — можно накладывать runtime-слои вроде numpy → pandas → sklearn без повторного копирования одного и того же базового образа
- Удобная daemon-поверхность — REST API, Python/TypeScript/MCP-клиенты, метрики Prometheus, JSON audit log и поддержка systemd

Проект open-source и распространяется под лицензией Apache License 2.0.

Ссылка в ответе 👇

https://github.com/deeplethe/forkd
4👍3🔥2🖕1
⚡️ Linux Roadmap: подробный практический курс от нуля до уверенного администратора

Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.

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

https://github.com/justxor/linuxfullroadmap/
Please open Telegram to view this post
VIEW IN TELEGRAM
💊9👍6🥰4🔥1🤔1👀1
⚡️ Интересный бенчмарк для C# и Windows-разработчиков.

Microsoft/windows-rs сравнил overhead WinRT language projections: Rust, C++ и C# вызывают один и тот же компонент через одинаковый ABI.

Результат грутсный для C#:

• Rust почти везде впереди.
• C++ близко.
• C# заметно отстаёт .

Особенно грустно выглядит на сценариях с активацией объектов, marshaling, QueryInterface и обработкой ошибок.

Native AOT тоже не спасает: он может улучшать startup, но не превращает C# в zero-overhead projection для таких вызовов.

Repo:
https://github.com/microsoft/windows-rs/blob/master/crates%2Fsamples%2Flang_perf%2Freadme.md
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥217👍4
Предрелизное тестирование 1.96.1

#rustlang #rust

https://blog.rust-lang.org/inside-rust/2026/06/27/1.96.1-prerelease/
🔥54👍3
Rust сегодня:

47 веб-фреймворков, 12 async runtime, 8 ORM, 6 logging crates и отдельный crate, который просто сообщает, что ты используешь не тот crate.
53🤣29👍3👾2🦄1
Вышел Rust 1.96.1


Что исправили:

• проблемы с retry и timeout в HTTP-клиенте Cargo
• miscompilation в MIR-оптимизации
• три CVE в libssh2, который используется внутри Cargo

Обновление стандартное:
rustup update stable
Патч на стабильность и улучшение безопасности.

rustup update stable

https://blog.rust-lang.org/2026/06/30/Rust-1.96.1/
👍129🔥6👏1