CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
"""
|
|
rocm-kpack: Binary transformation tools for ROCm kernel packaging.
|
|
|
|
This package provides utilities for transforming HIP fat binaries to work
|
|
with externally packaged GPU kernels (kpack files). It supports both ELF
|
|
(Linux) and PE/COFF (Windows) binary formats.
|
|
|
|
The generic API automatically detects binary format and dispatches to the
|
|
appropriate implementation:
|
|
|
|
from rocm_kpack import kpack_offload_binary, read_kpack_ref_marker
|
|
|
|
# Transform any fat binary (ELF or PE/COFF)
|
|
result = kpack_offload_binary(input_path, output_path, ...)
|
|
|
|
# Read marker from transformed binary
|
|
marker = read_kpack_ref_marker(binary_path)
|
|
|
|
For format-specific operations, use the subpackages directly:
|
|
|
|
from rocm_kpack.elf import ElfSurgery, kpack_offload_binary
|
|
from rocm_kpack.coff import CoffSurgery, kpack_offload_binary
|
|
"""
|
|
|
|
from .format_detect import (
|
|
detect_binary_format,
|
|
is_elf_binary,
|
|
is_pe_binary,
|
|
UnsupportedBinaryFormat,
|
|
)
|
|
from .kpack_transform import (
|
|
kpack_offload_binary,
|
|
read_kpack_ref_marker,
|
|
is_fat_binary,
|
|
NotFatBinaryError,
|
|
)
|
|
|
|
__all__ = [
|
|
# Format detection
|
|
"detect_binary_format",
|
|
"is_elf_binary",
|
|
"is_pe_binary",
|
|
"UnsupportedBinaryFormat",
|
|
# Generic kpack transform
|
|
"kpack_offload_binary",
|
|
"read_kpack_ref_marker",
|
|
"is_fat_binary",
|
|
"NotFatBinaryError",
|
|
]
|