mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.5K
active users

#RustLanguage

0 posts0 participants0 posts today

Today's log for trying to get fiss (my Rust CLI for duplicating some of TaskWarrior's functionality using Forgejo issues) doing something useful. Tonight's goal is to get fiss list showing a list of issues to subscribe forge projects which no regards for filtering.

It's a weekday and I need to figure out how to assemble a weight machine, so hopefully this won't take wrong.

Narrator: Dylan was wrong, of course.

The rest will be unlisted.

Was tinkering with the Rust concept of 'forcing' a larger size integer type into a smaller size type* and I could not figure out why the compiler seemed to keep complaining even after I applied the suggested hint.

gist.github.com/rust-play/53ff

x + y is the return expression** and I needed to call try_into() on the whole thing and the following is (now) obviously calling it on the y.

x + y.try_into().unwrap()

So now this works...

(x + y).try_into().unwrap()

* - I would not program this way, trying to stuff something larger into something smaller, but just for the exercise of it

** - is 'expression' the correct term here?

GistCode shared from the Rust PlaygroundCode shared from the Rust Playground. GitHub Gist: instantly share code, notes, and snippets.

Анджей Яник (Andrzej Janik) представил обновление проекта ZLUDA, развивающего открытую реализацию технологии CUDA. Целью проекта является предоставление возможности запуска немодифицированных приложений CUDA на системах с GPU, отличных от GPU NVIDIA, с производительностью, близкой к производительности приложений, выполняемых без прослоек. Код проекта распространяется под лицензиями MIT и Apache 2.0.

ZLUDA 4 преподносится как первый выпуск, сформированный после чистки кодовой базы от кода, разработанного во время работы Анджея в компании AMD. С 2022 года Анджей работал в AMD над созданием слоя для совместимости GPU AMD с CUDA, но в 2024 году проект был свернут. В соответствии с условиями контракта и после получения разрешения на публикацию от представителя AMD, Анджей открыл код наработок, созданных во время работы в AMD и позволяющих выполнять CUDA-приложения поверх стека ROCm и runtime HIP (Heterogeneous-computing Interface for Portability). В октябре Анджей был вынужден убрать код из открытого доступа после письма от юристов, давших понять, что разрешение в ходе переписки по email не имеет юридической силы.

Новая редакция ZLUDA сформирована на основе кодовой базы, существовавшей до начала работы Анджея в AMD, не привязана к конкретным GPU и сосредоточена на выполнении приложений, использующих CUDA для ускорения задач, связанных с машинным обучением и искусственным интеллектом. Проект пока ограничивается работой на GPU AMD, но в дальнейшем будет адаптирован для GPU Intel. Выпуск ZLUDA 4 написан на языке Rust и ориентирован на выполнение тестового набора Geekbench 5.

Новая версия включает новый парсер для PTX, промежуточного языка, используемого в GPU NVIDIA. Выпуск также примечателен уходом от эмуляции специфичных для GPU NVIDIA инструкций инкремента и декремента по модулю, вместо которых теперь вызываются аналогичные инструкции GPU AMD. Указанные изменения позволили добиться повышения производительности при прохождении теста Geekbench примерно на 10%, по сравнению с OpenCL и веткой ZLUDA 3.

Хештеги:
#ZLUDA #CUDA #OpenSource #AndrzejJanik #GPU #MachineLearning #ArtificialIntelligence #RustLanguage #AMD #ROCm #HIP #OpenCL #Geekbench #TechUpdate #SoftwareDevelopment #CrossPlatform
Библиография:
**Яник, Анджей.** (2024). Обновление проекта ZLUDA. [Интернет-ресурс].
**CUDA и ROCm.** Heterogeneous-computing Interface for Portability: технологии и использование. Apache Software Foundation.
**Geekbench 5.** Кроссплатформенный тест производительности.
**Rust Language.** Программирование на Rust: особенности и преимущества.
**AMD GPU.** ROCm и его возможности. Технический обзор.
Если нужна дополнительная доработка, уточните, пожалуйста!

Проект поддерживает Windows и Linux, MacOS не поддерживается
github.com/vosen/ZLUDA/

pocketnet.app/lms_art?s=4e1db2

Realized recently that you can get a decent approximation of lazy_static without any additional dependencies thanks to std's existing once stuff, something like this:

fn DB() -> &Connection {
   static CON: OnceCell = OnceCell::new();
   CON.get_or_init(|| { ... })
}
It's a pretty clean pattern that's easy to read I think, and doesn't require adding a dependency for the one or two lazy variables most projects need. It will be nice when stable gets actual Lazy/LazyCell though.

#rust #rustlanguage

Because I hate myself, I'm now working on rust bindings for the NXDK project. We'll see how much progress I can get done. Right now, I want to finish implementing the HAL.
Thanks to antangelo for making a lot of the boilerplate code and a couple of the HAL functions in the original. I couldn't have started this without forking.
github.com/the-pink-hacker/nxd
#NXDK #Xbox #OriginalXbox #OGXbox #Rust #RustLang #RustLanguage #OpenSource

GitHubGitHub - the-pink-hacker/nxdk-rs: Rust support for NXDKRust support for NXDK. Contribute to the-pink-hacker/nxdk-rs development by creating an account on GitHub.

Top 10 highest-paid skills in tech. Indeed published a list of the top ten tech skills with the highest pay, and also provided a short look at the tech job market, indicating it's not as negative as some might believe:
- Generative AI
- SoC (System-on-chip)
- Deep learning/the subset of machine learning methods
- Torch/an open-source machine learning library
- PyTorch/a machine learning framework based on the Torch library
- Computer vision/a field of computer science
- SystemVerilog/a hardware description and hardware verification language
- Mesos/Apache Mesos is an open-source project to manage computer clusters
- Rust/a general-purpose programming language
- Elixir/a functional, concurrent, high-level general-purpose programming language

indeed.com/career-advice/news/