Skip to main content

Module components

Module components 

Source
Expand description

Native Rust installer modules for major components.

Each module ports the corresponding shell installer script, constructing the correct system/pip commands matching the original script behavior. All modules use installers::common:: for shared operations (package manager, distro detection, ROCm env, etc.).

§Dispatch Architecture (VAL-INSTALL-031, VAL-INSTALL-032, VAL-INSTALL-038)

is_native_component(id) returns true for all native components. get_dependencies(id) returns the declared dependency IDs for a component. topological_sort(ids) returns components in dependency order.

§Validation Assertions

  • VAL-INSTALL-001: ROCm installer correct package commands
  • VAL-INSTALL-002: ROCm channel selection correct version pins
  • VAL-INSTALL-003: PyTorch installer correct wheel selection
  • VAL-INSTALL-004: Triton installer correct pip command
  • VAL-INSTALL-005: MPI4Py installer detects system MPI
  • VAL-INSTALL-006: DeepSpeed installer correct pip command
  • VAL-INSTALL-007: ML Stack Core installer correct pip command
  • VAL-INSTALL-008: Flash Attention correct cmake command
  • VAL-INSTALL-009: Flash Attention correct make command
  • VAL-INSTALL-010: ONNX Runtime correct cmake command
  • VAL-INSTALL-011: ONNX Runtime pip install from build output
  • VAL-INSTALL-012: Megatron correct git clone
  • VAL-INSTALL-013: Megatron correct pip install post-clone
  • VAL-INSTALL-015: vLLM correct git clone and pip install
  • VAL-INSTALL-016: AITER correct git clone and pip install
  • VAL-INSTALL-017: bitsandbytes correct pip command
  • VAL-INSTALL-018: ROCm SMI correct package command
  • VAL-INSTALL-019: MIGraphX correct pip command
  • VAL-INSTALL-020: PyTorch Profiler correct pip command
  • VAL-INSTALL-021: W&B correct pip command
  • VAL-INSTALL-022: vLLM Studio correct git clone
  • VAL-INSTALL-023: ComfyUI correct git clone and pip install
  • VAL-INSTALL-024: text-generation-webui correct git clone
  • VAL-INSTALL-025: App installers correct target directory
  • VAL-INSTALL-026: Repair invokes correct sub-installers in order
  • VAL-INSTALL-027: Repair propagates individual failures
  • VAL-INSTALL-028: Permanent env creates correct venv and symlinks
  • VAL-INSTALL-029: AMD GPU drivers correct package command
  • VAL-INSTALL-030: MIGraphX Python correct pip command
  • VAL-INSTALL-031: installer.rs no bash subprocess for ported components
  • VAL-INSTALL-032: installer.rs dispatches to correct Rust module per ID
  • VAL-INSTALL-038: state.rs supports native module routing
  • VAL-INSTALL-039: All 35 components reference correct Rust modules
  • VAL-INSTALL-040: Non-installer components unchanged
  • VAL-INSTALL-041: Megatron declares dependency on PyTorch and MPI4Py
  • VAL-INSTALL-042: vLLM declares dependency on PyTorch
  • VAL-INSTALL-043: DeepSpeed declares dependency on PyTorch
  • VAL-INSTALL-044: Flash Attention declares dependency on PyTorch and ROCm
  • VAL-INSTALL-045: ONNX Runtime declares dependency on ROCm
  • VAL-INSTALL-046: AITER declares dependency on PyTorch and ROCm
  • VAL-INSTALL-047: ComfyUI declares dependency on PyTorch
  • VAL-INSTALL-048: Dependency graph is acyclic
  • VAL-INSTALL-049: installer.rs respects dependency ordering
  • VAL-INSTALL-051: All installer modules have unit tests
  • VAL-INSTALL-052: installer.rs integration tests exist

Re-exports§

pub use aiter::AiterConfig;
pub use aiter::AiterInstaller;
pub use amdgpu_drivers::AmdgpuConfig;
pub use amdgpu_drivers::AmdgpuInstaller;
pub use bitsandbytes_multi::BitsAndBytesConfig;
pub use bitsandbytes_multi::BitsAndBytesInstaller;
pub use comfyui::ComfyuiConfig;
pub use comfyui::ComfyuiInstaller;
pub use deepspeed::DeepSpeedConfig;
pub use deepspeed::DeepSpeedInstaller;
pub use flash_attention_ck::FlashAttentionConfig;
pub use flash_attention_ck::FlashAttentionInstaller;
pub use flash_attention_ck::GpuArch;
pub use llama_cpp::LlamaCppConfig;
pub use llama_cpp::LlamaCppInstaller;
pub use megatron::MegatronConfig;
pub use megatron::MegatronInstaller;
pub use migraphx_multi::MigraphxConfig;
pub use migraphx_multi::MigraphxInstaller;
pub use migraphx_multi::MigraphxSupport;
pub use migraphx_python::InstallMethod as MigraphxPythonInstallMethod;
pub use migraphx_python::MigraphxPythonConfig;
pub use migraphx_python::MigraphxPythonInstaller;
pub use ml_stack::MlStackConfig;
pub use ml_stack::MlStackInstaller;
pub use mpi4py::Mpi4PyConfig;
pub use mpi4py::Mpi4PyInstaller;
pub use mpi4py::MpiImplementation;
pub use onnxruntime::HipArchs;
pub use onnxruntime::OnnxRuntimeConfig;
pub use onnxruntime::OnnxRuntimeInstaller;
pub use permanent_env::PermanentEnvConfig;
pub use permanent_env::PermanentEnvInstaller;
pub use pytorch::PyTorchConfig;
pub use pytorch::PyTorchInstaller;
pub use pytorch::TorchChannel;
pub use pytorch_profiler::PytorchProfilerConfig;
pub use pytorch_profiler::PytorchProfilerInstaller;
pub use repair::RepairConfig;
pub use repair::RepairInstaller;
pub use repair::RepairResult;
pub use repair::RepairStep;
pub use rocm::RocmChannel;
pub use rocm::RocmConfig;
pub use rocm::RocmInstallType;
pub use rocm::RocmInstaller;
pub use rocm_smi::RocmSmiInstaller;
pub use textgen::TextgenConfig;
pub use textgen::TextgenInstaller;
pub use triton::TritonBranch;
pub use triton::TritonConfig;
pub use triton::TritonInstaller;
pub use vllm_multi::VllmConfig;
pub use vllm_multi::VllmInstaller;
pub use vllm_studio::VllmStudioConfig;
pub use vllm_studio::VllmStudioInstaller;
pub use wandb::WandbConfig;
pub use wandb::WandbInstaller;

Modules§

aiter
AITER installer — ports scripts/install_aiter.sh.
amdgpu_drivers
AMD GPU drivers installer — ports scripts/install_amdgpu_drivers.sh.
bitsandbytes_multi
bitsandbytes installer — ports scripts/install_bitsandbytes_multi.sh.
comfyui
ComfyUI installer — ports scripts/install_comfyui.sh.
deepspeed
DeepSpeed installer — ports scripts/install_deepspeed.sh.
fastvideo
FastVideo installer — native Rust build for ROCm gfx11 support.
flash_attention_ck
Flash Attention CK installer — ports scripts/install_flash_attention_ck.sh.
llama_cpp
llama.cpp-turboquant-hip installer — native Rust CMake source build.
megatron
Megatron-LM installer — ports scripts/install_megatron.sh.
migraphx_multi
MIGraphX installer — ports scripts/install_migraphx_multi.sh.
migraphx_python
MIGraphX Python bindings installer — ports scripts/install_migraphx_python.sh.
ml_stack
ML Stack Core installer — ports scripts/install_ml_stack.sh.
mpi4py
MPI4Py installer — ports scripts/install_mpi4py.sh.
onnxruntime
ONNX Runtime installer — ports scripts/build_onnxruntime_multi.sh.
permanent_env
Permanent ROCm environment setup — ports scripts/setup_permanent_rocm_env.sh.
pytorch
PyTorch installer — ports scripts/install_pytorch_rocm.sh.
pytorch_profiler
PyTorch Profiler installer — ports scripts/install_pytorch_profiler.sh.
rccl
Targeted workaround for the ROCm 7.2.1+ RCCL compiler regression.
repair
Repair ML Stack utility — ports scripts/repair_ml_stack.sh.
rocm
ROCm installer — ports scripts/install_rocm.sh.
rocm_smi
ROCm SMI installer — ports scripts/install_rocm_smi.sh.
textgen
text-generation-webui installer — ports scripts/install_textgen.sh.
triton
Triton installer — ports scripts/install_triton_multi.sh.
vllm_multi
vLLM installer — ports scripts/install_vllm_multi.sh.
vllm_studio
vLLM Studio installer — ports scripts/install_vllm_studio.sh.
wandb
W&B (Weights & Biases) installer — ports scripts/install_wandb.sh.

Constants§

NATIVE_COMPONENT_IDS
The set of all component IDs that have been ported to native Rust.

Functions§

get_dependencies
Dependency declarations for each native installer component.
is_native_component
Returns true if the given component ID has been ported to native Rust and should be dispatched through the Rust installer path instead of spawning a bash subprocess.
topological_sort
Sort component IDs in topological order so dependencies are installed before dependents.