diff --git a/.azuredevops/components/MIOpen.yml b/.azuredevops/components/MIOpen.yml index 19b8f7ad6..2eba5020e 100644 --- a/.azuredevops/components/MIOpen.yml +++ b/.azuredevops/components/MIOpen.yml @@ -123,7 +123,7 @@ jobs: - template: /.azuredevops/variables-global.yml - name: ROCM_PATH value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.HIGH_BUILD_POOL }} + pool: ${{ variables.MEDIUM_BUILD_POOL }} workspace: clean: all steps: diff --git a/.azuredevops/components/hipBLASLt.yml b/.azuredevops/components/hipBLASLt.yml index b925cab64..5afc3f2fe 100644 --- a/.azuredevops/components/hipBLASLt.yml +++ b/.azuredevops/components/hipBLASLt.yml @@ -81,12 +81,12 @@ parameters: - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a } - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 } - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 } + #- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 } - { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 } - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a } - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 } - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 } - - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 } + #- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 } testJobs: - { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx90a } diff --git a/.azuredevops/components/hipSPARSE.yml b/.azuredevops/components/hipSPARSE.yml index ee64237a0..cc97bd3fd 100644 --- a/.azuredevops/components/hipSPARSE.yml +++ b/.azuredevops/components/hipSPARSE.yml @@ -69,7 +69,7 @@ parameters: - { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } + #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: ubuntu2204, packageManager: apt, target: gfx1100 } testJobs: - { os: ubuntu2204, packageManager: apt, target: gfx942 } diff --git a/.azuredevops/components/hipSPARSELt.yml b/.azuredevops/components/hipSPARSELt.yml index 0780909be..0ec046ed3 100644 --- a/.azuredevops/components/hipSPARSELt.yml +++ b/.azuredevops/components/hipSPARSELt.yml @@ -113,7 +113,8 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml parameters: checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} + # ignore sparse checkout for monorepo case, we want access to hipblaslt directory + # sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml parameters: checkoutRef: ${{ parameters.checkoutRef }} @@ -130,7 +131,10 @@ jobs: displayName: Create temp folder for external dependencies # hipSPARSELt already has a CMake script for external deps, so we can just run that # https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt - - script: cmake $(Pipeline.Workspace)/s/deps + - ${{ if ne(parameters.sparseCheckoutDir, '') }}: + script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps + ${{ else }}: + script: cmake $(Pipeline.Workspace)/s/deps displayName: Configure hipSPARSELt external dependencies workingDirectory: $(Pipeline.Workspace)/deps - script: make @@ -155,6 +159,9 @@ jobs: -DROCM_PATH=$(Agent.BuildDirectory)/rocm -DBUILD_CLIENTS_TESTS=ON -GNinja + ${{ if ne(parameters.sparseCheckoutDir, '') }}: + cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt + cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml parameters: componentName: ${{ parameters.componentName }} diff --git a/.azuredevops/components/llvm-project.yml b/.azuredevops/components/llvm-project.yml index 52e2f8277..aa7db4cbd 100644 --- a/.azuredevops/components/llvm-project.yml +++ b/.azuredevops/components/llvm-project.yml @@ -30,7 +30,7 @@ parameters: default: buildJobs: - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } + # - { os: ubuntu2404, packageManager: apt } - { os: almalinux8, packageManager: dnf } jobs: diff --git a/.azuredevops/components/rccl.yml b/.azuredevops/components/rccl.yml index 861d6afab..1d3c9d0d5 100644 --- a/.azuredevops/components/rccl.yml +++ b/.azuredevops/components/rccl.yml @@ -76,7 +76,7 @@ jobs: - template: /.azuredevops/variables-global.yml - name: HIP_ROCCLR_HOME value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.HIGH_BUILD_POOL }} + pool: ${{ variables.MEDIUM_BUILD_POOL }} workspace: clean: all steps: diff --git a/.azuredevops/components/rocBLAS.yml b/.azuredevops/components/rocBLAS.yml index 44a70258f..4fb70d380 100644 --- a/.azuredevops/components/rocBLAS.yml +++ b/.azuredevops/components/rocBLAS.yml @@ -84,12 +84,12 @@ parameters: - { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } + #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: almalinux8, packageManager: dnf, target: gfx942 } - { os: almalinux8, packageManager: dnf, target: gfx90a } - { os: almalinux8, packageManager: dnf, target: gfx1201 } - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } + #- { os: almalinux8, packageManager: dnf, target: gfx1030 } testJobs: - { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx90a } diff --git a/.azuredevops/components/rocSOLVER.yml b/.azuredevops/components/rocSOLVER.yml index 7df336991..3001e431e 100644 --- a/.azuredevops/components/rocSOLVER.yml +++ b/.azuredevops/components/rocSOLVER.yml @@ -74,12 +74,12 @@ parameters: - { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } + #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: almalinux8, packageManager: dnf, target: gfx942 } - { os: almalinux8, packageManager: dnf, target: gfx90a } - { os: almalinux8, packageManager: dnf, target: gfx1201 } - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } + #- { os: almalinux8, packageManager: dnf, target: gfx1030 } testJobs: - { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx90a } diff --git a/.azuredevops/components/rocSPARSE.yml b/.azuredevops/components/rocSPARSE.yml index 6fc4cfed3..09639b065 100644 --- a/.azuredevops/components/rocSPARSE.yml +++ b/.azuredevops/components/rocSPARSE.yml @@ -73,7 +73,7 @@ parameters: - { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } + #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } testJobs: - { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx90a } diff --git a/.azuredevops/components/rocWMMA.yml b/.azuredevops/components/rocWMMA.yml index 5f169e8f8..f94028ef0 100644 --- a/.azuredevops/components/rocWMMA.yml +++ b/.azuredevops/components/rocWMMA.yml @@ -70,7 +70,7 @@ jobs: variables: - group: common - template: /.azuredevops/variables-global.yml - pool: ${{ variables.HIGH_BUILD_POOL }} + pool: ${{ variables.MEDIUM_BUILD_POOL }} workspace: clean: all steps: diff --git a/.azuredevops/templates/steps/miopen-get-ck-build.yml b/.azuredevops/templates/steps/miopen-get-ck-build.yml index 23daa1d77..6c6d44407 100644 --- a/.azuredevops/templates/steps/miopen-get-ck-build.yml +++ b/.azuredevops/templates/steps/miopen-get-ck-build.yml @@ -69,20 +69,29 @@ steps: RETRIES=0 MAX_RETRIES=5 - until wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip; do - RETRIES=$((RETRIES+1)) - if [[ $RETRIES -ge $MAX_RETRIES ]]; then - echo "Failed to download CK artifact after $MAX_RETRIES attempts." - exit 1 + SUCCESS=false + while [ $RETRIES -lt $MAX_RETRIES ]; do + wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip && \ + unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory) && \ + mkdir -p $(Agent.BuildDirectory)/rocm && \ + tar -zxvf $(System.ArtifactsDirectory)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm && \ + rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel* + + if [ $? -eq 0 ]; then + SUCCESS=true + echo "Successfully downloaded CK." + break + else + RETRIES=$((RETRIES + 1)) + echo "Failed to download CK on attempt $RETRIES/$MAX_RETRIES, retrying..." + sleep 1 fi - echo "Download failed, retrying ($RETRIES/$MAX_RETRIES)..." - sleep 5 done - unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory) - mkdir -p $(Agent.BuildDirectory)/rocm - tar -zxvf $(System.ArtifactsDirectory)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm - rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel* + if [ "$SUCCESS" = false ]; then + echo "ERROR: failed to download CK after $MAX_RETRIES attempts." + exit 1 + fi if [[ $EXIT_CODE -ne 0 ]]; then BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"') diff --git a/default.xml b/default.xml index e44d77b06..74f068837 100644 --- a/default.xml +++ b/default.xml @@ -1,7 +1,7 @@ - diff --git a/docs/how-to/build-rocm.rst b/docs/how-to/build-rocm.rst index a372a950d..6067874ab 100644 --- a/docs/how-to/build-rocm.rst +++ b/docs/how-to/build-rocm.rst @@ -19,5 +19,6 @@ The general steps to build ROCm are: #. Run the build command Because the ROCm stack is constantly evolving, the most current instructions are stored with the source code in GitHub. -For detailed build instructions, see `Getting and Building ROCm from Source `. +For detailed build instructions, see `Getting and Building ROCm from Source `_. + diff --git a/tools/autotag/components.xml b/tools/autotag/components.xml index d08d2b6c7..97663cfbc 100644 --- a/tools/autotag/components.xml +++ b/tools/autotag/components.xml @@ -1,7 +1,7 @@ - diff --git a/tools/rocm-build/rocm-6.4.3.xml b/tools/rocm-build/rocm-6.4.3.xml new file mode 100644 index 000000000..7d3710a87 --- /dev/null +++ b/tools/rocm-build/rocm-6.4.3.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +