Random Rust Dev
469 subscribers
194 photos
59 videos
3 files
44 links
Разработка на языке Rust.
Пишу простыни со своими мыслями о Rust и проектах на нем.
Download Telegram
Сегодня отвел старшую дочку в 1й класс.
А завтра первые уроки будут.
Волнуюсь за неё больше, чем когда сам пошёл в школу.
👍14❤6😁2
Media is too big
VIEW IN TELEGRAM
После нескольких попыток не делать движок, я снова делаю дальше Аркану.

Сегодня на ней можно написать Арканоид в 600 строк.

Дальше буду делать редактор сцены настоящим. Потому что пока что там только посмотреть можно.
❤7👀3👍2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Вот вам для важных переговоров
👍1👎1
На 3й месяц активного использования ИИ для кодинга я примерно такую стратегию вывел.

Я больше не пишу одноразовый код. Совсем. ИИшка может делать тяп ляп не хуже меня и сильно быстрее.

Я так же использую ИИ для экспериментального кода. Если я ещё не представляю как надо, то очень эффективно получается. Слоп в принципе работает, но я четко вижу как не надо делать и почему в этом коде. Приходит просветление и с ним осознание, как надо делать. И руки чешутся взять и переписать.

Ну и последняя категория - бойлерплейт или подобный код, где есть только один способ его написать. Проверяю конечно. Но чаще всего я написал бы то же самое.

А сегодня я задал ИИ решить ту же задачу в пете, которую я уже решал на работе.
Если бы я руками это написал был бы копирайт инфринджмент. А так это не я, это слопмашинка виновата :)
😁8👍5❤1
Чуть не забыл.

Поздравлчю всех с днём промпт-инженера!
❤15😭10🤮4
Сегодня снова загадка.

Вот в этом коде будет ли соптимизирован bound check в последнем выражении в релизе?

fn foo<T>(slice: &[T], a: usize, b: usize) -> &[T] {
assert!(slice.len() >= a + b);
&slice[slice.len() - a - b..][..b]
}


upd: исправил код
❤2
Я попросил GPT Astra повысить производительность Alkahest.

GPT смог прогнать профайлер и утверждал, что тут ничего не поделать.

Это оптимизация, написанная вручную.

Навыки программирования ещё не совсем бесполезны.
🔥9❤2👍2
Скелетор злодей, но не врун
😁19❤2
И всё же ИИ отличная штука.
Никакой поисковик не мог мне дать ответ на вопрос, почему шуршит GPU, а CPU не шуршит.
🌚3😈2❤1
Экспериментирую с Codex+Aseprite.

И знаете что? А ничё так он рисует. Но не сразу. Совсем не сразу.


Я дал ему концептарт персонажа и он просто накидал корявых пикселей.

Я просил исправить, но итерации шли медленно.

Я поставил ему /goal, приказав самому искать проблемы и фиксить по кругу, пока он не найдёт ни одной.

Стало лучше.

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

Пример сгенерированных референсных поз для анимации шага ниже.

Финальный результат тоже выложу.
❤3😢2👍1👎1
Ему не понравилось, поэтому он сам взял и нашёл картинки с манекеном и сгенерировал волчару поверх манекена 🤯
😁3😢1
Волчара подрос, поэтому он ищет как починить пропорции.
Кажется я загазлайтил своего гпт не слопить больше.
Кстати, это Sol-6.1 Medium. Он пашет со вчерашнего вечера и пока что съел лишь 7% от недельного Pro лимита.
❤2👍1
Для сравнения Astra выжрала недельный лимит за 4 часа работы в Blender
❤‍🔥1
В mev теперь есть IO.

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

Меньше копий богу копий.

Современный пайплайн загрузки текстуры - загружаем байтики с диска в GPU buffer, расжимаем чанки паралельно в 64+ потока... да это ж веса нейронки и фичи хэшгрида, где же картинка?
Правильно, запускаем инференс и получаем текстуру.
Или инферим тексель прямо во время рендеринга, если железка позволяет.
🔥2😁1
Пробую делать нейроматериалы на mev.

Начал с image fitting.

Картинка сжата в 1.5% от размера оригинала.

В mev добавлен модуль, который генерирует compute kernel для заданных параметров нейросетки и энкодера.

В нём и forward, и backward функции с батчингом.

Это позволяет запускать ML штуки прямо во время рендеринга.

Будет добавлены кооп векторы для максимального перформанса.