LINUX.ORG.RU
ФорумTalks

AMD внедряет Rust в свои графические драйвера

 , , ,


0

3

Собственно, сабж: https://www.phoronix.com/news/AMD-Rust-Deep-Into-GPU-Stack .

AMD создает то, что они называют «элитной» командой разработчиков для внедрения кода Rust «глубоко в стек графических процессоров» от прошивки до драйверов, шейдерных компиляторов и другого программного обеспечения графических процессоров в Rust.

Ура!!! Rust рулит!!! 🦀

★★★★★
Ответ на: комментарий от iZEN

Это чем компилируемый язык программирования «bloatware»? Вы ещё скажите, что Паскаль - «bloatware».

Между прочим, тот же C++ дальше от Unixway'я чем Rust хотя бы потому, что C++ перегружен тонной абстракций, которых нет в Rust'е.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от PPP328

А их, внезапно, не обязательно использовать.

Разработчики Rust'а специально не включили в состав языка батарейки, чтобы каждый мог выбрать их себе по вкусу или даже написать самостоятельно.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)

Честно говоря, вообще пофиг. Людям со стороны всё равно это не имело значение — никто не слал патчей в графические драйвера AMD на C, никто не будет слать и на Rust. Ничего не изменилось. Если во внутренней разработке будет меньше UB и больше чего-то вменяемого, пускай даже оно не ведёт к ошибкам или их отсутствию, но разгружает программиста немного, то это, пожалуй, плюс. Пускай будет.

CrX ★★★★★
()
Ответ на: комментарий от DarkAmateur

Форков llama.cpp с различными улучшениями намного больше, чем форков ollama.

einhander ★★★★★
()
Ответ на: комментарий от DarkAmateur

ollama появилась раньше, по ней больше гайдов, и оно тоже работает. Если уже осилил llmama.cpp, то смысла тебе смотреть альтернативы нет никакого.

CrX ★★★★★
()
Ответ на: комментарий от DarkAmateur

А llama.cpp у меня получалось только на CPU гонять. Задействовать GPU она у меня упорно не хотела. В те времена в репозитории ALT Linux'а ещё не было олламы, а при попытке поставить её самостоятельно она тянула тонну зависимостей и не заводилась у меня. А тут смотрю - о, появилась в репозитории. Ставлю, смотрю - нашла и подхватила GPU.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Ну, я llama.cpp выбрал именно из-за того, что мой Radeon завёлся без танцев с бубном, собственно, Windows выбран по тем же причинам. Теперь это в прошлом.

DarkAmateur ★★★★★
()
Ответ на: комментарий от saahriktu

Это чем компилируемый язык программирования «bloatware»?

Вы пробовали его собрать? rust 1.97.1 для своей сборки требует более 32 ГБ оперативной памяти и колоссального процессорного времени, исчисляемого десятками минут. (Для сравнения, сопоставимый по сложности openjdk 26.0.2 требует около 5 ГБ и четыре минуты на сборку в той же аппаратной конфигурации).

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Я видел бинарники GCC на многие гигабайты (я сейчас вообще про всё то, что компилируется при его компиляции, включая библиотеки). И почему нет? Даже в Генте компилятор не надо компилировать каждый раз. А в бинарных дистрибутивах вообще можно просто поставить пакеты с уже собранными компиляторами.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Я видел бинарники GCC на многие гигабайты

Звучит как монолог Roy Batty :)

Dimez ★★★★★
()
Ответ на: комментарий от iZEN

Это чем компилируемый язык программирования «bloatware»?

Вы пробовали его собрать? rust 1.97.1 для своей сборки требует более 32 ГБ оперативной памяти и колоссального процессорного времени, исчисляемого десятками минут. (Для сравнения, сопоставимый по сложности openjdk 26.0.2 требует около 5 ГБ и четыре минуты на сборку в той же аппаратной конфигурации).

Типа LLVM для своей компиляции памяти не требует и сборка длится 26 секунд…

VIT ★★★
()
Ответ на: комментарий от saahriktu

Я видел бинарники GCC на многие гигабайты (я сейчас вообще про всё то, что компилируется при его компиляции, включая библиотеки). И почему нет?

Я — про сопоставимую сложность технологий защиты памяти компилируемых приложений.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от CrX

никто не слал патчей в графические драйвера AMD на C

Дежурно напоминаю, что графическую часть драйверов AMD переписала полностью коллабора для стима на базе месы.

А в ядрёной части прудом пруди коммитов от igalia и других участников разработки ядра.

LamerOk ★★★★★
()
Ответ на: комментарий от saahriktu
> pkg info gcc16
gcc16-16.1.0_3
Name           : gcc16
Version        : 16.1.0_3
Installed on   : Sat Sep  5 20:09:37 2026 MSK
Origin         : lang/gcc16
Architecture   : FreeBSD:15:amd64
Prefix         : /usr/local
Categories     : lang
Licenses       : GPLv3, GPLv3RLE
Maintainer     : salvadore@FreeBSD.org
WWW            : https://gcc.gnu.org
Comment        : GNU Compiler Collection 16
Options        :
	GRAPHITE       : off
	LTO_BOOTSTRAP  : off
	MULTILIB       : on
	STANDARD_BOOTSTRAP: off
Shared Libs required:
	libc++.so.1
	libc.so.7
	libc.so.7:32
	libcxxrt.so.1
	libdl.so.1
	libdl.so.1:32
	libgmp.so.10
	libm.so.5
	libm.so.5:32
	libmpc.so.3
	libmpfr.so.6
	librt.so.1
	librt.so.1:32
	libthr.so.3
	libthr.so.3:32
	libz.so.6
Shared Libs provided:
	libasan.so.8
	libasan.so.8:32
	libatomic.so.1
	libatomic.so.1:32
	libcc1.so.0
	libgcc_s.so.1
	libgcc_s.so.1:32
	libgfortran.so.5
	libgfortran.so.5:32
	libgomp.so.1
	libgomp.so.1:32
	libitm.so.1
	libitm.so.1:32
	libquadmath.so.0
	libquadmath.so.0:32
	libstdc++.so.6
	libstdc++.so.6:32
	libubsan.so.1
	libubsan.so.1:32
Annotations    :
	FreeBSD_version: 1501502
	cpe            : cpe:2.3:a:gnu:gcc:16.1.0:::::freebsd15:x64:3
Flat size      : 355MiB
Description    :
GCC, the GNU Compiler Collection, supports a number of languages.
This port installs the C, C++, and Fortran front ends as gcc16, g++16,
and gfortran16, respectively.

— 7 минут на сборку.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

И чо? Си - это ассемблер высокого уровня. Why not?

Rust решает принципиально иные задачи. И тут в первую очередь надо ставить вопрос «А зачем вообще его внедряют?».

Если C/C++ даёт свободу стрелять себе по ногам, то Rust даёт свободу сосредоточиться на логике, а не на управлении памятью. Последнее как раз и может упрощать сопровождение таких сложных систем как драйвера современных GPU.

saahriktu ★★★★★
() автор топика

Rust очень хороший язык, но почемуто он притягивает идиотов, код на rust что встречался отвратительный, может этот недостаток ai исправит.

s-warus ★★★★★
()
Ответ на: комментарий от s-warus

Я в прежние времена юзал LFS. А там стандартно всё сначала собирается с отладочной информацией, устанавливается, а только потом strip'ается по желанию. А эта отладочная информация GCC не 5 копеек весит.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от VIT
> pkg info llvm23
llvm23-23.1.0
Name           : llvm23
Version        : 23.1.0
Installed on   : Sat Sep  5 20:37:15 2026 MSK
Origin         : devel/llvm23
Architecture   : FreeBSD:15:amd64
Prefix         : /usr/local
Categories     : devel lang
Licenses       : MIT, BSD3CLAUSE, PD, LLVM, LLVM2, REGEX
Maintainer     : brooks@FreeBSD.org
WWW            : https://llvm.org/
Comment        : LLVM and Clang
Options        :
	BE_AMDGPU      : on
	BE_FREEBSD     : off
	BE_NATIVE      : off
	BE_STANDARD    : on
	BE_WASM        : on
	CLANG          : on
	COMPILER_RT    : on
	DOCS           : off
	EXTRAS         : on
	FLANG          : off
	LIT            : on
	LLD            : on
	LLDB           : off
	MLIR           : on
	OPENMP         : on
	POLLY          : on
	PYCLANG        : on
	STATIC_LIBS    : on
Shared Libs required:
	libc++.so.1
	libc.so.7
	libcxxrt.so.1
	libdl.so.1
	libexecinfo.so.1
	libgcc_s.so.1
	libm.so.5
	librt.so.1
	libthr.so.3
	libz.so.6
	libzstd.so.1
Shared Libs provided:
	libLLVM.so.23.1
	libLTO.so.23.1
	libMLIR.so.23.1
	libMLIRExecutionEngineShared.so.23.1
	libRemarks.so.23.1
	libarcher.so
	libclang-cpp.so.23.1
	libclang.so.23.1
	libmlir_arm_runner_utils.so.23.1
	libmlir_arm_sme_abi_stubs.so.23.1
	libmlir_async_runtime.so.23.1
	libmlir_c_runner_utils.so.23.1
	libmlir_float16_utils.so.23.1
	libmlir_runner_utils.so.23.1
	libomp.so
Annotations    :
	FreeBSD_version: 1501502
	cpe            : cpe:2.3:a:llvm:llvm:23.1.0:::::freebsd15:x64
	flavor         : default
Flat size      : 1.89GiB
Description    :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.

This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.

— 28 минут на сборку.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

когда ты rust поймал за этим, ты хоть скажи что ты под этим подразумеваешь

s-warus ★★★★★
()
Последнее исправление: s-warus (всего исправлений: 1)
Ответ на: комментарий от iZEN

Как бы, времена ассемблера и первых Pentium'ов уже давно позади. Вы вообще видели сколько памяти кушает тот же Chromium? А он написан на C++, не на Rust'е, но под современные юзкейсы. Никто не будет кодить на ассемблере веками под сегодняшние задачи. Через те века будут совершенно другие юзкейсы. Они тут и за 30 лет значительно поменялись. И о чём тогда вообще разговор? Есть определённая плата за то, чтобы решать современные задачи именно сегодня, а не через полвека. И эта плата - потребление ресурсов RAM и CPU.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Rust решает принципиально иные задачи. И тут в первую очередь надо ставить вопрос «А зачем вообще его внедряют?».

Очень правильный вопрос!

Очевидно, внедряют по просьбе маркетологов или политиков. И задачи соответствующие.

firkax ★★★★★
()
Ответ на: комментарий от saahriktu

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

firkax ★★★★★
()
Ответ на: комментарий от saahriktu

И эта плата - потребление ресурсов RAM и CPU.

Жаль, что ничего не делается для уменьшения сложности новых языковых сред, а всё время наслаиваются друг на друга какие-то слои абстракции, которые со временем приходят в негодность из-за сложности сопровождения.

iZEN ★★★★★
()
Ответ на: комментарий от PPP328

а в тонне лефтпадов от школьников, который каждый растер за собой тянет.

согласен. потому что нету rust_essential, по типу build_essential в дебиановской нотации.

etwrq ★★★★★
()
Ответ на: комментарий от saahriktu

Как бы, времена ассемблера и первых Pentium’ов уже давно позади. Вы вообще видели сколько памяти кушает тот же Chromium? А он написан на C++, не на Rust’е, но под современные юзкейсы.

В том числе поэтому я отказался от сборки и сопровождения Chromium — в последний год слишком незначительные изменения потребовали несопоставимо больших аппаратных и временных затрат на их внедрение.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

всё время наслаиваются друг на друга какие-то слои абстракции

Они не просто наслаиваются. Архитектуры со временем переосмысливаются и перерабатываются.

В частности, Rust как раз и решает задачу, чтобы в языке было в разы меньше абстракций чем в том же C++.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Даже в Генте компилятор не надо компилировать каждый раз.

Ну, если быть совсем точным, стабильные ебилды Mesa и Firefox появляются реже, чем стабильные ебилды Rust :) Поэтому по умолчанию используются готовые бинарники.

question4 ★★★★★
()
Ответ на: комментарий от iZEN

— 28 минут на сборку.

Отлично, а сколько времени на этом оборудовании собирается rust-1.97.1? Ну чтобы быть поконкретнее, чем «десятки минут»?

VIT ★★★
()
Ответ на: комментарий от firkax

Когда-нить свой компилятор доделаю

Он же тоже будет ненужно.

moonmadness
()
Ответ на: комментарий от iZEN

То, что они без llvm уже сто лет не работают ничего?

Shadow ★★★★★
()
Ответ на: комментарий от iZEN

от сборки и сопровождения Chromium

Так firefox меньше и быстрее... Почему бы им не пользоваться?

Shadow ★★★★★
()
Ответ на: комментарий от iZEN

сопоставимый по сложности openjdk 26.0.2

Точно? А если graalvm?

Shadow ★★★★★
()
Ответ на: комментарий от firkax

Ну понятно. Что здесь скажешь? Когда столкнётесь с необычным трактованием стандартов, необычной кодогенерацией, игнорированием своих собственных опций и расширений, упрямством в применении запрещённых оптимизаций, отсутствием нужных инструкций, отсутствием поддержки нужного оборудования, и вообще пониманием, что конкуренция - это всё-таки хорошо, дайте знать! А пока успеха со своим изделием, надеюсь оно станет так же востребованным, как LLVM.

VIT ★★★
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.