# ============================================================================== # BUILD_TOPOLOGY.toml - Build Topology Metadata for TheRock # ============================================================================== # # This file is the single source of truth for TheRock's build artifact structure. # It serves three primary purposes: # # 1. CMake Feature Generation: At configure time, topology_to_cmake.py reads # this file and generates therock_add_feature() calls for each artifact, # creating the THEROCK_ENABLE_* cache variables that control the build. # # 2. CI/CD Pipeline Sharding: The build_topology.py module parses this file # to compute artifact dependencies for sharded builds, determining which # artifacts need to be fetched from artifact storage before each stage. # # 3. Partial Source Checkouts: Source sets define which git submodules are # needed for each artifact group, enabling CI jobs to clone only the # submodules required for their build stage (via fetch_sources.py --stage). # # HIERARCHY: # - Source Sets - Groupings of git submodules for partial checkouts # - Build Stages - CI/CD pipeline jobs that build sets of artifact groups # - Artifact Groups - Logical groupings of related artifacts with shared deps # - Artifacts - Individual build outputs (the fundamental packaging unit) # # NAMING CONVENTIONS: # - Entity names (stages, groups, artifacts): lowercase with hyphens (e.g., "core-runtime") # - feature_name: UPPERCASE with underscores (e.g., "CORE_RUNTIME") - maps to THEROCK_ENABLE_* # - feature_group: UPPERCASE with underscores (e.g., "CORE") - maps to group options # - type values: lowercase (e.g., "generic", "per-arch", "target-neutral", "target-specific") # - platform values: lowercase (e.g., "windows", "linux") # # SCHEMA REFERENCE: # # [source_sets.] # description = "Human-readable description" # submodules = ["submodule1", "submodule2"] # Git submodule directory names # external_git_sources = [ # { name = "name", origin = "https://...", commit = "hash", path = "optional-sources/name" }, # ] # Optional, externally fetched git repos # disable_platforms = ["windows"] # Optional: platforms where disabled # # [build_stages.] # description = "Human-readable description" # artifact_groups = ["group1", "group2"] # Groups built in this stage # type = "generic" | "per-arch" # Optional, default "generic" # # [artifact_groups.] # description = "Human-readable description" # type = "generic" | "per-arch" # "per-arch" = built per GPU architecture # artifact_group_deps = ["dep1", "dep2"] # Optional, other groups this depends on # source_sets = ["set1", "set2"] # Optional, source sets needed for this group # # [artifacts.] # artifact_group = "group-name" # Required: which group this belongs to # type = "target-neutral" | "target-specific" # target-neutral: Built once with all architecture targets. Use for host-only # code, headers, or runtime libraries where a single multi-arch build # is preferred. # target-specific: Built separately per architecture family and kept separate # for distribution. Use for kernel libraries where sharded builds # improve CI parallelism and enable per-arch downloads. # artifact_deps = ["dep1", "dep2"] # Optional: other artifacts this depends on # feature_name = "FEATURE_NAME" # Optional: override auto-generated name # feature_group = "GROUP_NAME" # Optional: override auto-generated group # platform = "windows" # Optional: platform-specific artifact # disable_platforms = ["windows"] # Optional: platforms where disabled # disable_platforms_if_flags_not_set = { windows = "FOO" } # Optional: conditional platform disables # python_requires = ["-r path/to/req.txt", "pkg"] # Optional: pip install args # split_databases = ["rocblas", "hipblaslt"] # Optional: database handlers for kpack split # # ============================================================================== [metadata] version = "2.0" description = "TheRock artifact-based build topology" # ============================================================================== # SOURCE SETS - Submodule groupings for partial checkouts # ============================================================================== # Each source_set defines submodules needed for a category of builds. # Currently just lists submodules; can be extended later with sparse_checkout specs. # Names are chosen to align with fetch_sources.py flags where possible. [source_sets.base] description = "Base infrastructure submodules" submodules = ["half", "rocm-cmake"] [source_sets.compilers] description = "Compiler toolchain submodules" submodules = ["llvm-project", "HIPIFY", "spirv-llvm-translator"] [source_sets.debug-tools] description = "ROCm debug tools submodules" submodules = ["rocgdb"] [source_sets.rocm-systems] description = "ROCm systems monorepo (runtime, profiler, etc.)" submodules = ["rocm-systems"] [source_sets.optional-hrx] description = "Optional HRX source checkout" external_git_sources = [ { name = "hrx", origin = "https://github.com/ROCm/hrx.git", commit = "56e60cfdc8df89edd43f5ae507cd3fd7f5aafd03", path = "optional-sources/hrx" }, ] [source_sets.rocm-libraries] description = "ROCm libraries monorepo (math libs)" submodules = ["rocm-libraries"] [source_sets.math-libs] description = "Additional math library submodules" submodules = ["libhipcxx"] disable_platforms = ["linux", "windows"] [source_sets.ml-frameworks] description = "ML framework submodules" submodules = [] [source_sets.comm-libs] description = "Communication library submodules" submodules = [] [source_sets.storage-libs] description = "Storage library submodules" submodules = [] [source_sets.amd-mesa] description = "ROCm media submodules (Mesa for VA-API)" submodules = ["amd-mesa"] disable_platforms = ["windows"] [source_sets.media-libs] description = "ROCm media libraries submodules" submodules = [] disable_platforms = ["windows"] # ============================================================================== # BUILD STAGES - Pipeline jobs that build sets of artifact groups # ============================================================================== # These represent actual CI/CD pipeline jobs optimized for parallel execution # Note: Stage names are identifiers, not sequence indicators - many can run in parallel [build_stages.compiler-runtime] description = "Compiler, runtimes, and core profiling" artifact_groups = [ "third-party-sysdeps", "base", "compiler", "core-amdsmi", "core-runtime", "third-party-libs", "hip-runtime", "opencl-runtime", "profiler-core", "rocjitsu" ] [build_stages.wsl-rocdxg] description = "WSL-only ROCDXG bridge library" artifact_groups = ["wsl-rocdxg"] [build_stages.runtime-tests] description = "Runtime tests (parallel to math-libs, not on critical path)" artifact_groups = ["runtime-tests"] [build_stages.math-libs] description = "Math and ML libraries per architecture" artifact_groups = ["math-libs", "ml-libs"] type = "per-arch" [build_stages.comm-libs] description = "Communication libraries (generic, single job parallel to math-libs)" artifact_groups = ["comm-libs"] type = "generic" [build_stages.storage-libs] description = "Storage libraries (generic, single job parallel to math-libs)" artifact_groups = ["storage-libs"] type = "generic" [build_stages.debug-tools] description = "ROCm debug tools" artifact_groups = ["debug-tools"] [build_stages.dctools-core] description = "Data center tools with minimal dependencies" artifact_groups = ["dctools-core"] # Future stages # [build_stages.dctools-rocm] # description = "Data center tools that depend on ROCm libraries" # artifact_groups = ["dctools-rocm"] # depends_on = ["math-libs"] # Will need math/ML libraries [build_stages.profiler-apps] description = "Profiler applications (depends on profiler-core)" artifact_groups = ["profiler-apps"] [build_stages.media-libs] description = "Media Libraries" artifact_groups = ["media-libs"] # ============================================================================== # ARTIFACT GROUPS - Logical groupings of related artifacts # ============================================================================== # These define build dependencies and source requirements [artifact_groups.third-party-sysdeps] description = "Third-party system libraries bundled for portable distribution" type = "generic" [artifact_groups.third-party-libs] description = "Third-party libraries (typically internal dependencies, not distributed as sysdeps are)" type = "generic" artifact_group_deps = ["compiler"] source_sets = [] # No submodules - uses vendored/in-tree deps [artifact_groups.base] description = "Base ROCm infrastructure and CMake tools" type = "generic" artifact_group_deps = [] # TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt) source_sets = ["base", "rocm-systems"] [artifact_groups.core-runtime] description = "Core runtime (ROCR-Runtime, rocminfo)" type = "generic" artifact_group_deps = ["base", "third-party-sysdeps"] source_sets = ["rocm-systems"] [artifact_groups.wsl-rocdxg] description = "WSL-only ROCDXG bridge library" type = "generic" artifact_group_deps = ["base"] source_sets = ["rocm-systems"] [artifact_groups.core-amdsmi] description = "AMD SMI tool (amdsmi)" type = "generic" artifact_group_deps = ["base", "third-party-sysdeps", "compiler"] source_sets = ["rocm-systems"] [artifact_groups.compiler] description = "AMD LLVM toolchain and compiler infrastructure" type = "generic" artifact_group_deps = ["third-party-sysdeps"] source_sets = ["compilers"] [artifact_groups.debug-tools] description = "ROCm debug tools" type = "generic" artifact_group_deps = ["compiler", "third-party-sysdeps"] # TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt) source_sets = ["debug-tools", "rocm-systems"] [artifact_groups.hip-runtime] description = "HIP runtime" type = "generic" artifact_group_deps = ["core-runtime", "compiler"] source_sets = ["rocm-systems"] # clr is in rocm-systems [artifact_groups.opencl-runtime] description = "OpenCL runtime" type = "generic" artifact_group_deps = ["core-runtime", "compiler"] source_sets = ["rocm-systems"] # clr is in rocm-systems [artifact_groups.runtime-tests] description = "Runtime tests (hip-tests, rocrtst)" type = "generic" artifact_group_deps = ["hip-runtime", "opencl-runtime", "core-runtime"] source_sets = ["rocm-systems"] [artifact_groups.math-libs] description = "Math libraries (BLAS, FFT, RAND, etc.)" type = "per-arch" # Built per GPU architecture artifact_group_deps = ["hip-runtime", "profiler-core"] # TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt) source_sets = ["rocm-libraries", "rocm-systems", "math-libs"] [artifact_groups.ml-libs] description = "Machine learning libraries" type = "per-arch" artifact_group_deps = ["math-libs", "profiler-core"] source_sets = ["rocm-libraries", "ml-frameworks"] [artifact_groups.comm-libs] description = "Communication libraries" type = "generic" artifact_group_deps = ["hip-runtime"] # TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt) source_sets = ["comm-libs", "rocm-systems"] [artifact_groups.storage-libs] description = "Storage libraries" type = "generic" artifact_group_deps = ["hip-runtime"] source_sets = ["storage-libs", "rocm-systems"] [artifact_groups.profiler-core] description = "Core profiling libraries and annotation support" type = "generic" artifact_group_deps = ["core-runtime"] source_sets = ["rocm-systems"] # rocprofiler-sdk is in rocm-systems [artifact_groups.dctools-core] description = "Data center management tools with minimal dependencies" type = "generic" artifact_group_deps = ["core-runtime", "core-amdsmi", "profiler-core"] # TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt) source_sets = ["base", "rocm-systems"] # RDC uses amdsmi from core-amdsmi # Future artifact groups # [artifact_groups.dctools-rocm] # description = "Data center tools that depend on ROCm libraries" # type = "generic" # artifact_group_deps = ["math-libs", "ml-libs", "profiler-core"] [artifact_groups.profiler-apps] description = "Profiler applications and analysis tools" type = "generic" artifact_group_deps = ["profiler-core", "compiler", "core-amdsmi"] source_sets = ["rocm-systems"] [artifact_groups.media-libs] description = "Media Libraries" type = "generic" artifact_group_deps = ["third-party-sysdeps", "base", "core-runtime", "hip-runtime"] source_sets = ["amd-mesa", "rocm-systems"] [artifact_groups.rocjitsu] description = "ROCm emulation, virtualization, and instrumentation tools" type = "generic" artifact_group_deps = ["third-party-sysdeps"] source_sets = ["rocm-systems"] disable_platforms = ["windows"] # ============================================================================== # ARTIFACTS - The actual build outputs that can be transmitted between stages # ============================================================================== # Artifacts are the fundamental packaging units # Each artifact produces components: dbg, dev, doc, lib, run, test # --- Sysdeps: Bundled system libraries --- # Libraries built from source with SONAME rewriting and symbol versioning # for portable distribution. Installed into lib/rocm_sysdeps/. # See docs/development/dependencies.md. [artifacts.sysdeps] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] # No dependencies on other artifacts feature_group = "CORE" # Part of core, enabled by default [artifacts.sysdeps-amd-mesa] artifact_group = "media-libs" type = "target-neutral" artifact_deps = ["sysdeps"] feature_group = "MEDIA_LIBS" # Controlled by THEROCK_ENABLE_MEDIA_LIBS disable_platforms = ["windows"] [artifacts.sysdeps-expat] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-gmp] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-mpfr] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = ["sysdeps-gmp"] # mpfr depends on gmp feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-ncurses] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-libmnl] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-util-linux] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-libnl] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-libpciaccess] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.sysdeps-hwloc] artifact_group = "third-party-sysdeps" type = "target-neutral" artifact_deps = ["sysdeps", "sysdeps-libpciaccess"] # hwloc depends on numactl (in core sysdeps) and libpciaccess feature_group = "CORE" disable_platforms = ["windows"] # --- Third-party libraries --- # Unlike third-party-sysdeps, these libraries are not given special treatment for portable distribution. [artifacts.host-blas] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "HOST_MATH" # Controlled by THEROCK_ENABLE_HOST_MATH (OFF by default) [artifacts.host-suite-sparse] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = ["host-blas"] # SuiteSparse depends on BLAS feature_name = "HOST_SUITE_SPARSE" feature_group = "HOST_MATH" # Controlled by THEROCK_ENABLE_HOST_MATH (OFF by default) disable_platforms = ["windows"] [artifacts.elfio] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "CORE" disable_platforms = ["windows"] [artifacts.fftw3] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "HOST_MATH" # Controlled by THEROCK_ENABLE_HOST_MATH (OFF by default) [artifacts.flatbuffers] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "CORE" [artifacts.fmt] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "CORE" [artifacts.nlohmann-json] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "CORE" [artifacts.spdlog] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = ["amd-llvm"] feature_group = "CORE" [artifacts.openmpi] artifact_group = "third-party-libs" type = "target-neutral" artifact_deps = [] feature_group = "CORE" # --- Base Infrastructure --- [artifacts.base] artifact_group = "base" type = "target-neutral" artifact_deps = [] feature_group = "CORE" # Part of core, enabled by default # --- Compiler Artifacts --- [artifacts.amd-llvm] artifact_group = "compiler" type = "target-neutral" artifact_deps = ["sysdeps"] feature_name = "COMPILER" feature_group = "ALL" [artifacts.hipify] artifact_group = "compiler" type = "target-neutral" artifact_deps = ["amd-llvm"] # Built on top of amd-llvm feature_group = "ALL" # --- Runtime Artifacts --- [artifacts.core-runtime] artifact_group = "core-runtime" type = "target-neutral" artifact_deps = ["base", "sysdeps", "amd-llvm"] feature_name = "CORE_RUNTIME" feature_group = "CORE" disable_platforms_if_flags_not_set = { windows = "HSA_WINDOWS_SHARED_RUNTIME" } test_artifacts = ["core-hiptests", "rocrtst"] # When building ROCR, also build hip-tests and rocrtst [artifacts.wsl-rocdxg] artifact_group = "wsl-rocdxg" type = "target-neutral" artifact_deps = ["core-hip"] feature_name = "WSL_ROCDXG" feature_group = "WSL" [artifacts.core-amdsmi] artifact_group = "core-amdsmi" type = "target-neutral" artifact_deps = ["base", "sysdeps", "sysdeps-libnl", "sysdeps-libmnl", "amd-llvm"] feature_name = "CORE_AMDSMI" feature_group = "CORE" disable_platforms = ["windows"] [artifacts.core-kpack] artifact_group = "hip-runtime" type = "target-neutral" artifact_deps = ["sysdeps"] feature_name = "KPACK" feature_group = "CORE" [artifacts.core-hip] artifact_group = "hip-runtime" type = "target-neutral" artifact_deps = ["core-runtime", "amd-llvm", "core-kpack"] feature_name = "HIP_RUNTIME" feature_group = "CORE" # Part of core, enabled by default test_artifacts = ["core-hiptests"] # When building HIP, also build hip-tests [artifacts.core-ocl-icd] artifact_group = "opencl-runtime" type = "target-neutral" artifact_deps = ["core-runtime", "amd-llvm"] feature_name = "OCL_ICD" feature_group = "CORE" # Part of core, enabled by default [artifacts.core-ocl] artifact_group = "opencl-runtime" type = "target-neutral" artifact_deps = ["core-runtime", "amd-llvm", "core-ocl-icd"] feature_name = "OCL_RUNTIME" feature_group = "CORE" # Part of core, enabled by default [artifacts.rocrtst] artifact_group = "runtime-tests" type = "target-neutral" artifact_deps = ["core-runtime", "core-ocl", "core-amdsmi", "sysdeps-hwloc"] feature_name = "CORE_RUNTIME_TESTS" feature_group = "CORE" disable_platforms = ["windows"] [artifacts.core-hipinfo] artifact_group = "hip-runtime" type = "target-neutral" platform = "windows" artifact_deps = ["core-hip"] feature_group = "CORE" # Part of core, enabled by default [artifacts.core-hiptests] artifact_group = "runtime-tests" type = "target-neutral" artifact_deps = ["core-hip"] feature_group = "CORE" # Part of core, enabled by default # --- Math Libraries (per-arch) --- [artifacts.blas] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "core-amdsmi", "host-blas", "host-suite-sparse", "rocprofiler-sdk", "spdlog"] split_databases = ["rocblas", "hipblaslt", "hipsparselt"] [artifacts.rand] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip"] [artifacts.fft] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "fftw3", "rand", "rocprofiler-sdk"] [artifacts.prim] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "rand"] [artifacts.sparse] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["blas", "prim"] [artifacts.solver] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["blas", "prim", "sparse", "host-suite-sparse"] [artifacts.rocalution] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "blas", "prim", "rand", "sparse"] [artifacts.rocwmma] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "blas"] [artifacts.composable-kernel] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip"] [artifacts.hiptensor] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "composable-kernel"] [artifacts.libhipcxx] artifact_group = "math-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "amd-llvm"] disable_platforms = ["linux", "windows"] [artifacts.hipthreads] # target-neutral: libhipthreads.a is a static archive of device bitcode that is # identical across per-arch shards. Built for all targets once. artifact_group = "math-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "amd-llvm", "libhipcxx"] disable_platforms = ["linux", "windows"] [artifacts.support] artifact_group = "math-libs" type = "target-neutral" artifact_deps = [] # --- ML Libraries (per-arch) --- [artifacts.miopen] artifact_group = "ml-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "blas", "composable-kernel", "rand", "rocprofiler-sdk"] split_databases = ["miopen"] [artifacts.hipdnn] artifact_group = "ml-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "spdlog"] [artifacts.hipdnn-integration-tests] artifact_group = "ml-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "hipdnn"] [artifacts.miopenprovider] artifact_group = "ml-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "miopen", "hipdnn", "hipdnn-integration-tests"] [artifacts.hipblasltprovider] artifact_group = "ml-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "blas", "hipdnn", "hipdnn-integration-tests"] [artifacts.hipdnn-samples] artifact_group = "ml-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "miopen", "hipdnn", "miopenprovider"] [artifacts.hipkernelprovider] artifact_group = "ml-libs" # hip-kernel-provider is a device lib: the rocKE engine ships per-arch AOT content # (kpack + manifest) under engines/arch_content/rocke//, so split it per-arch. type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "hipdnn", "hipdnn-integration-tests"] split_databases = ["hipkernelprovider"] # --- Media Integration --- [artifacts.rocdecode] artifact_group = "media-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "base", "sysdeps", "sysdeps-amd-mesa"] feature_group = "MEDIA_LIBS" # Controlled by THEROCK_ENABLE_MEDIA_LIBS disable_platforms = ["windows"] [artifacts.rocjpeg] artifact_group = "media-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "base", "sysdeps", "sysdeps-amd-mesa"] feature_group = "MEDIA_LIBS" # Controlled by THEROCK_ENABLE_MEDIA_LIBS disable_platforms = ["windows"] # --- Communication Libraries (per-arch) --- [artifacts.rccl] artifact_group = "comm-libs" type = "target-specific" artifact_deps = ["core-runtime", "core-hip", "hipify", "rocprofiler-sdk", "core-amdsmi", "openmpi"] disable_platforms = ["windows"] [artifacts.rocshmem] # target-neutral: rocshmem embeds device code via .hip_fatbin ELF sections # rather than the __CudaFatBinaryWrapper format (.hipFatBinSegment), so kpack # injection is not supported. Built for all targets to make upload races harmless. artifact_group = "comm-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "sysdeps"] disable_platforms = ["windows"] # --- Storage Libraries --- [artifacts.hipfile] artifact_group = "storage-libs" type = "target-neutral" artifact_deps = ["core-runtime", "core-hip", "sysdeps", "sysdeps-util-linux"] disable_platforms = ["windows"] # --- Profiler Tools --- [artifacts.aqlprofile] artifact_group = "profiler-core" type = "target-neutral" artifact_deps = ["core-runtime"] feature_group = "PROFILER" disable_platforms = ["windows"] [artifacts.rocprofiler-sdk] artifact_group = "profiler-core" type = "target-neutral" artifact_deps = ["core-runtime", "base", "aqlprofile", "elfio"] # rocprofiler-register is in base feature_name = "ROCPROFV3" feature_group = "PROFILER" disable_platforms = ["windows"] [artifacts.rocprofiler-compute] artifact_group = "profiler-core" type = "target-neutral" artifact_deps = ["rocprofiler-sdk", "openmpi"] feature_group = "PROFILER" disable_platforms = ["windows"] [artifacts.rocprofiler-systems] artifact_group = "profiler-apps" type = "target-neutral" artifact_deps = ["amd-llvm", "core-hip", "rocprofiler-sdk", "core-amdsmi", "spdlog", "openmpi"] feature_name = "ROCPROFSYS" feature_group = "PROFILER" disable_platforms = ["windows"] [artifacts.rocprofiler-systems-examples] artifact_group = "profiler-apps" type = "target-neutral" artifact_deps = ["rocprofiler-systems"] feature_group = "PROFILER" disable_platforms = ["windows"] # --- Data Center Tools --- [artifacts.rdc] artifact_group = "dctools-core" type = "target-neutral" artifact_deps = ["core-hip", "rocprofiler-sdk", "sysdeps", "core-amdsmi"] feature_group = "DC_TOOLS" # Part of DC tools, enabled by default via THEROCK_ENABLE_ALL disable_platforms = ["windows"] # Future dctools-rocm artifacts will go here # [artifacts.some-future-tool] # artifact_group = "dctools-rocm" # type = "target-neutral" # artifact_deps = ["blas", "miopen", "rocprofiler-sdk"] # --- ROCm Debug Tools --- [artifacts.amd-dbgapi] artifact_group = "debug-tools" type = "target-neutral" artifact_deps = ["amd-llvm", "sysdeps"] feature_group = "DEBUG_TOOLS" # Part of DEBUG_TOOLS, enabled by default via THEROCK_ENABLE_ALL [artifacts.rocr-debug-agent] artifact_group = "debug-tools" type = "target-neutral" artifact_deps = ["amd-llvm", "core-runtime", "amd-dbgapi", "sysdeps"] feature_group = "DEBUG_TOOLS" # Part of DEBUG_TOOLS, enabled by default via THEROCK_ENABLE_ALL disable_platforms = ["windows"] [artifacts.rocr-debug-agent-tests] artifact_group = "debug-tools" type = "target-neutral" artifact_deps = ["rocr-debug-agent", "core-hip"] feature_group = "DEBUG_TOOLS" # Part of DEBUG_TOOLS, enabled by default via THEROCK_ENABLE_ALL disable_platforms = ["windows"] [artifacts.rocgdb] artifact_group = "debug-tools" type = "target-neutral" artifact_deps = ["amd-llvm", "amd-dbgapi", "sysdeps-gmp", "sysdeps-mpfr", "sysdeps-expat", "sysdeps-ncurses"] feature_group = "DEBUG_TOOLS" # Part of DEBUG_TOOLS, enabled by default via THEROCK_ENABLE_ALL disable_platforms = ["windows"] # --- ROCm Emulation Tools --- [artifacts.rocjitsu] artifact_group = "rocjitsu" type = "target-neutral" artifact_deps = [] feature_group = "EMULATION" disable_platforms = ["windows"] [artifacts.rocjitsu-hotswap] artifact_group = "rocjitsu" type = "target-neutral" artifact_deps = ["rocjitsu"] feature_group = "EMULATION" disable_platforms = ["windows"] [artifacts.mirage] artifact_group = "rocjitsu" type = "target-neutral" artifact_deps = [] feature_group = "EMULATION" disable_platforms = ["windows"]