pub struct FastVideoInstaller { /* private fields */ }Expand description
FastVideo installer.
Implementations§
Source§impl FastVideoInstaller
impl FastVideoInstaller
pub fn new(config: FastVideoConfig) -> Self
Sourcepub fn build_commands(&self) -> Vec<ShellCommand>
pub fn build_commands(&self) -> Vec<ShellCommand>
Build the sequence of commands to install FastVideo with ROCm support.
pub fn mkdir_build_dir(&self) -> ShellCommand
pub fn git_clone(&self) -> ShellCommand
pub fn git_checkout(&self) -> ShellCommand
Sourcepub fn git_submodule_init(&self) -> ShellCommand
pub fn git_submodule_init(&self) -> ShellCommand
Initialize git submodules (cutlass, ThunderKittens).
Sourcepub fn patch_cmake(&self) -> ShellCommand
pub fn patch_cmake(&self) -> ShellCommand
Patch source files to remove flash_attn_rocm.cpp from the build.
The feature/rocm-gfx11-support branch includes flash_attn_rocm.cpp
which depends on AMD’s composable_kernel MHA device implementations.
The CK submodule at the required commit (5ff2d64) is incompatible with
the current HIP compiler — it fails with missing CUDA builtins
(threadIdx/blockDim), missing standard library includes, and
template deduction errors in device_grouped_mha_bwd_*_v2.hpp.
Three patches are applied:
- Remove
flash_attn_rocm.cppfrom CMakeLists.txt source list - Remove
#include "attention/flash_attn_rocm.cpp"and the forward declarations formha_varlen_fwd/mha_varlen_bwdfromcommon_extension.cpp(lines 4-23) - Remove pybind11 bindings for
flash_attn_varlen_fwd/_bwdfromcommon_extension.cpp
The rest of fastvideo-kernel (gemm, norm, quant) compiles correctly.
Sourcepub fn install_build_deps(&self) -> ShellCommand
pub fn install_build_deps(&self) -> ShellCommand
Install build dependencies (scikit-build-core, cmake, ninja).
Uses python -m pip install with --break-system-packages when needed,
matching the pattern used by Triton, AITER, and other source-build installers.
Sourcepub fn pip_install_kernel(&self) -> ShellCommand
pub fn pip_install_kernel(&self) -> ShellCommand
Build and install fastvideo-kernel with ROCm support.
Sets CMAKE_ARGS for ROCm:
-DCMAKE_HIP_ARCHITECTURES=<gpu_arch>-DFASTVIDEO_KERNEL_BUILD_TK=OFF(ThunderKittens not supported on ROCm)-DGPU_BACKEND=ROCM
Uses pip install --no-build-isolation --no-deps . matching the upstream
build.sh, with --no-deps added to enforce the No-CUDA hard-prime tenet
(prevents pip from resolving/overriding the ROCm torch). Runtime deps are
installed explicitly and filtered via the unified nvidia_blocklist.
pub fn cleanup(&self) -> ShellCommand
Trait Implementations§
Source§impl Clone for FastVideoInstaller
impl Clone for FastVideoInstaller
Source§fn clone(&self) -> FastVideoInstaller
fn clone(&self) -> FastVideoInstaller
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FastVideoInstaller
impl Debug for FastVideoInstaller
Auto Trait Implementations§
impl Freeze for FastVideoInstaller
impl RefUnwindSafe for FastVideoInstaller
impl Send for FastVideoInstaller
impl Sync for FastVideoInstaller
impl Unpin for FastVideoInstaller
impl UnsafeUnpin for FastVideoInstaller
impl UnwindSafe for FastVideoInstaller
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more