Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion .github/workflows/multi_arch_build_portable_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
# 5. debug-tools (generic) - amd-dbgapi, rocr-debug-agent, rocgdb (parallel to math-libs)
# 6. dctools-core (generic) - RDC (parallel to math-libs)
# 7. profiler-apps (generic) - rocprofiler-systems (parallel to math-libs)
# 8. media-libs (generic) - sysdeps-amd-mesa, rocdecode, rocjpeg
# 8. iree-compiler (generic) - IREE compiler (parallel to math-libs)
# 9. fusilli-libs (generic) - Fusilli hipdnn provider (after math-libs + iree-compiler)
# 10. media-libs (generic) - sysdeps-amd-mesa, rocdecode, rocjpeg

name: Multi-Arch Build (Linux)

Expand Down Expand Up @@ -178,6 +180,40 @@ jobs:
contents: read
id-token: write

# ==========================================================================
# STAGE: iree-compiler (generic, parallel to math-libs)
# ==========================================================================
iree-compiler:
needs: compiler-runtime
uses: ./.github/workflows/multi_arch_build_portable_linux_artifacts.yml
secrets: inherit
with:
stage_name: iree-compiler
stage_display_name: "Stage - IREE Compiler"
timeout_minutes: 90 # 1.5 hours - iree is not _yet_ building with a common llvm, it includes its own.
dist_amdgpu_families: ${{ inputs.dist_amdgpu_families }}
rocm_package_version: ${{ inputs.rocm_package_version }}
permissions:
contents: read
id-token: write

# ==========================================================================
# STAGE: fusilli-libs (generic, after math-libs + iree-compiler)
# ==========================================================================
fusilli-libs:
needs: [compiler-runtime, math-libs, iree-compiler]
uses: ./.github/workflows/multi_arch_build_portable_linux_artifacts.yml
secrets: inherit
with:
stage_name: fusilli-libs
stage_display_name: "Stage - Fusilli Libs"
timeout_minutes: 60 # 1 hour
dist_amdgpu_families: ${{ inputs.dist_amdgpu_families }}
rocm_package_version: ${{ inputs.rocm_package_version }}
permissions:
contents: read
id-token: write

# ==========================================================================
# STAGE: media-libs (generic)
# ==========================================================================
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
url = https://github.com/ROCm/rocprof-trace-decoder.git
[submodule "rocm-libraries"]
path = rocm-libraries
url = https://github.com/ROCm/rocm-libraries
url = git@github.com:AaronStGeorge/rocm-libraries.git
branch = develop
[submodule "rocm-systems"]
path = rocm-systems
Expand All @@ -39,7 +39,7 @@
branch = main
[submodule "fusilli"]
path = iree-libs/fusilli
url = https://github.com/iree-org/fusilli.git
url = git@github.com:AaronStGeorge/fusilli.git
branch = main
[submodule "rocm-kpack"]
path = base/rocm-kpack
Expand Down
30 changes: 22 additions & 8 deletions BUILD_TOPOLOGY.toml
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,13 @@ artifact_groups = ["dctools-core"]
# artifact_groups = ["dctools-rocm"]
# depends_on = ["math-libs"] # Will need math/ML libraries

[build_stages.iree-libs]
description = "IREE and Fusilli integration"
artifact_groups = ["iree-libs"]
[build_stages.iree-compiler]
description = "IREE compiler (parallel to math-libs)"
artifact_groups = ["iree-compiler"]

[build_stages.fusilli-libs]
description = "Fusilli hipdnn provider (needs math-libs + iree-compiler)"
artifact_groups = ["fusilli-libs"]

[build_stages.profiler-apps]
description = "Profiler applications (depends on profiler-core)"
Expand Down Expand Up @@ -298,11 +302,19 @@ type = "generic"
artifact_group_deps = ["profiler-core", "compiler", "core-amdsmi"]
source_sets = ["rocm-systems", "profiler-extras"] # rocprofiler-systems + trace decoder

[artifact_groups.iree-libs]
description = "IREE and Fusilli integration"
[artifact_groups.iree-compiler]
description = "IREE compiler"
type = "generic"
artifact_group_deps = ["hip-runtime"]
source_sets = ["iree-libs"]
# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["iree-libs", "rocm-systems"]

[artifact_groups.fusilli-libs]
description = "Fusilli hipdnn provider"
type = "generic"
artifact_group_deps = ["hip-runtime", "iree-compiler"]
# TODO: rocm-systems included for projects/hip/VERSION (see CMakeLists.txt)
source_sets = ["iree-libs", "rocm-libraries", "rocm-systems"]

[artifact_groups.media-libs]
description = "Media Libraries"
Expand Down Expand Up @@ -586,16 +598,18 @@ artifact_deps = ["core-runtime", "core-hip", "miopen", "hipdnn", "miopenprovider
# --- IREE Integration ---

[artifacts.iree-compiler]
artifact_group = "iree-libs"
artifact_group = "iree-compiler"
type = "target-neutral"
artifact_deps = ["core-hip"]
disable_platforms = ["windows"]
feature_group = "IREE_LIBS"

[artifacts.fusilliprovider]
artifact_group = "iree-libs"
artifact_group = "fusilli-libs"
type = "target-neutral"
artifact_deps = ["core-runtime", "core-hip", "hipdnn", "iree-compiler"]
disable_platforms = ["windows"]
feature_group = "IREE_LIBS"

# --- Media Integration ---

Expand Down
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,7 @@ option(THEROCK_ENABLE_DC_TOOLS "Enable building of data center tools" "${THEROCK
option(THEROCK_ENABLE_MEDIA_LIBS "Enable building of Media libraries" "${THEROCK_ENABLE_ALL}")
option(THEROCK_ENABLE_HOST_MATH "Build all bundled host math libraries by default" OFF)
option(THEROCK_RESET_FEATURES "One-shot flag which forces all feature flags to their default state for this configuration run" OFF)
# TODO(iree-org/fusilli/issues/57): Enable fusilli build once multi-arch support lands.
option(THEROCK_ENABLE_IREE_LIBS "Enable building of IREE libraries" OFF)
option(THEROCK_ENABLE_IREE_LIBS "Enable building of IREE libraries" "${THEROCK_ENABLE_ALL}")

################################################################################
# Artifact-based features are auto-generated from BUILD_TOPOLOGY.toml
Expand Down
16 changes: 8 additions & 8 deletions build_tools/github_actions/fetch_test_configurations.py
Original file line number Diff line number Diff line change
Expand Up @@ -355,14 +355,14 @@ def _get_script_path(script_name: str) -> str:
},
# TODO(iree-org/fusilli/issues/57): Enable fusilli tests once build is
# enabled by default.
# "fusilliprovider": {
# "job_name": "fusilliprovider",
# "fetch_artifact_args": "--hipdnn --fusilliprovider --iree-compiler --tests",
# "timeout_minutes": 15,
# "test_script": f"python {_get_script_path('test_fusilliprovider.py')}",
# "platform": ["linux"],
# "total_shards": 1,
# },
"fusilliprovider": {
"job_name": "fusilliprovider",
"fetch_artifact_args": "--hipdnn --fusilliprovider --iree-compiler --tests",
"timeout_minutes": 15,
"test_script": f"python {_get_script_path('test_fusilliprovider.py')}",
"platform": ["linux"],
"total_shards": 1,
},
# hipBLASLt provider tests
"hipblasltprovider": {
"job_name": "hipblasltprovider",
Expand Down
8 changes: 7 additions & 1 deletion iree-libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
##############################################################################
if(THEROCK_ENABLE_IREE_COMPILER)
therock_cmake_subproject_declare(iree-compiler
# IREE compiler has general support for many GPUs/backends and doesn't
# compile device code. The build infrastructure requires generic stages to
# pass through DIST_AMDGPU_TARGETS even if the list isn't used by the
# underlying project.
USE_DIST_AMDGPU_TARGETS
NO_MERGE_COMPILE_COMMANDS
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/iree-compiler"
EXTERNAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/iree"
Expand Down Expand Up @@ -83,7 +88,7 @@ if(THEROCK_ENABLE_FUSILLIPROVIDER)
##############################################################################
therock_cmake_subproject_declare(fusilliprovider
USE_DIST_AMDGPU_TARGETS
EXTERNAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fusilli/plugins/hipdnn-plugin"
EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/dnn-providers/fusilli-provider"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/fusilliprovider"
BACKGROUND_BUILD
CMAKE_ARGS
Expand Down Expand Up @@ -112,6 +117,7 @@ if(THEROCK_ENABLE_FUSILLIPROVIDER)
therock_cmake_subproject_activate(fusilliprovider)

therock_provide_artifact(fusilliprovider
TARGET_NEUTRAL
DESCRIPTOR artifact-fusilliprovider.toml
COMPONENTS
dbg
Expand Down
2 changes: 1 addition & 1 deletion iree-libs/fusilli
Submodule fusilli updated 169 files
2 changes: 1 addition & 1 deletion iree-libs/iree
Submodule iree updated 1191 files
2 changes: 1 addition & 1 deletion rocm-libraries
Submodule rocm-libraries updated 493 files
Loading