Merge pull request #3552 from samjwu/update62x

Update roc-6.2.x branch
This commit is contained in:
Sam Wu
2024-08-08 13:36:32 -06:00
committed by GitHub
11 changed files with 84 additions and 37 deletions
+1
View File
@@ -69,6 +69,7 @@ jobs:
dependencySource: fixed
fixedComponentName: half
fixedPipelineIdentifier: $(half560-pipeline-id)
latestFromBranch: false
# CI case: download latest default branch build
- ${{ if eq(parameters.checkoutRef, '') }}:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
+9 -1
View File
@@ -37,6 +37,12 @@ jobs:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -65,6 +71,8 @@ jobs:
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DGPU_TARGETS=gfx942
-DGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
+5 -5
View File
@@ -245,8 +245,8 @@ jobs:
DESIRED_DEVTOOLSET=$(DESIRED_DEVTOOLSET)
bash ./manywheel/build_rocm.sh
workingDirectory: $(Build.SourcesDirectory)/builder
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: /remote
contentsString: 'wheelhouserocm*/torch*.whl'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- task: PublishPipelineArtifact@1
displayName: 'ROCm pytorch wheel file Publish'
retryCountOnTaskFailure: 3
inputs:
targetPath: /remote/wheelhouserocm$(ROCM_VERSION)
@@ -9,9 +9,15 @@ parameters:
- name: useDefaultBranch
type: boolean
default: true
- name: latestFromBranch
type: boolean
default: true
- name: extractToMnt
type: boolean
default: false
- name: fileFilter
type: string
default: ''
- name: defaultBranchList
type: object
default:
@@ -21,7 +27,7 @@ parameters:
aomp: aomp-dev
clr: develop
composable_kernel: develop
half: master
half: rocm
HIP: develop
hipBLAS: develop
hipBLASLt: develop
@@ -42,7 +48,7 @@ parameters:
rocAL: develop
rocALUTION: develop
rocBLAS: develop
ROCdbgapi : amd-master
ROCdbgapi : amd-staging
rocDecode: develop
rocFFT: develop
rocgdb: amd-staging
@@ -67,10 +73,6 @@ parameters:
roctracer: amd-master
rocWMMA: develop
rpp: master
- name: componentsFailureOkay
type: object
default:
- rocm-cmake
# BELOW REQUIRED IF useDefaultBranch false
- name: branchName
type: string
@@ -84,11 +86,15 @@ steps:
project: ROCm-CI
definition: ${{ parameters.pipelineId }}
specificBuildWithTriggering: true
itemPattern: '**/*${{ parameters.fileFilter }}*'
${{ if eq(parameters.latestFromBranch, true) }}:
${{ if notIn(parameters.componentName, 'aomp', 'clr', 'rocMLIR') }}: # remove this once these pipelines are functional + up-to-date
buildVersionToDownload: latestFromBranch # default is 'latest'
${{ if eq(parameters.useDefaultBranch, true) }}:
branchName: ${{ parameters.defaultBranchList[parameters.componentName] }}
branchName: refs/heads/${{ parameters.defaultBranchList[parameters.componentName] }}
${{ else }}:
branchName: ${{ parameters.branchName }}
${{ if in(parameters.componentName, parameters.componentsFailureOkay) }}:
${{ if in(parameters.componentName, 'rocm-cmake') }}:
allowPartiallySucceededBuilds: true
targetPath: '$(Pipeline.Workspace)/d'
- task: ExtractFiles@1
@@ -9,6 +9,9 @@ parameters:
- name: publish
type: boolean
default: true
- name: gpuTarget
type: string
default: ''
steps:
- task: ArchiveFiles@2
@@ -17,7 +20,7 @@ steps:
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'gz'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}.tar.gz'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.tar.gz'
- task: DeleteFiles@1
displayName: 'Cleanup Staging Area'
inputs:
@@ -21,6 +21,9 @@ parameters:
- name: fixedComponentName
type: string
default: ''
- name: latestFromBranch
type: boolean
default: true
# match case of the repo in this object for the left side of the maps
# should not need to replace these parameters
- name: stagingPipelineIdentifiers
@@ -141,25 +144,51 @@ parameters:
steps:
# assuming artifact-download.yml template file in same directory
# for the case where rocm dependency item in list has a colon (:)
# assume it is of the format of componentName:fileFilter
# fileFilter could contain both a subcomponent name or gpu name separated by asterisks
# e.g., gfx942 to only download artifacts from component for this gpu if applicable
- ${{ each dependency in parameters.dependencyList }}:
- ${{ if eq(parameters.dependencySource, 'staging') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ dependency }}
pipelineId: ${{ parameters.stagingPipelineIdentifiers[dependency] }}
extractToMnt: ${{ parameters.extractToMnt }}
- ${{ if eq(parameters.dependencySource, 'tag-builds') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ dependency }}
pipelineId: ${{ parameters.taggedPipelineIdentifiers[dependency] }}
extractToMnt: ${{ parameters.extractToMnt }}
- ${{ if contains(dependency, ':') }}:
- ${{ if eq(parameters.dependencySource, 'staging') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ split(dependency, ':')[0] }}
pipelineId: ${{ parameters.stagingPipelineIdentifiers[split(dependency, ':')[0]] }}
fileFilter: ${{ split(dependency, ':')[1] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
extractToMnt: ${{ parameters.extractToMnt }}
- ${{ if eq(parameters.dependencySource, 'tag-builds') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ split(dependency, ':')[0] }}
pipelineId: ${{ parameters.taggedPipelineIdentifiers[split(dependency, ':')[0]] }}
fileFilter: ${{ split(dependency, ':')[1] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
extractToMnt: ${{ parameters.extractToMnt }}
# no colon (:) found in this item in the list
- ${{ else }}:
- ${{ if eq(parameters.dependencySource, 'staging') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ dependency }}
pipelineId: ${{ parameters.stagingPipelineIdentifiers[dependency] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
extractToMnt: ${{ parameters.extractToMnt }}
- ${{ if eq(parameters.dependencySource, 'tag-builds') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ dependency }}
pipelineId: ${{ parameters.taggedPipelineIdentifiers[dependency] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
extractToMnt: ${{ parameters.extractToMnt }}
# fixed case only accepts one component at a time, so no array input
- ${{ if eq(parameters.dependencySource, 'fixed') }}:
- template: artifact-download.yml
parameters:
componentName: ${{ parameters.fixedComponentName }}
pipelineId: ${{ parameters.fixedPipelineIdentifier }}
latestFromBranch: ${{ parameters.latestFromBranch }}
extractToMnt: ${{ parameters.extractToMnt }}
- task: Bash@3
displayName: 'list downloaded ROCm files'
+5 -5
View File
@@ -87,7 +87,7 @@ multiple unique configurations for use when installing ROCm on a target. Other n
* Resolution and inclusion of dependency packages for offline installation
For more information, see
[ROCm Offline Installer Creator](https://rocm.docs.amd.com/projects/rocm-install-on-linux/en/docs-6.2.0/install/rocm-offline-installer.html).
[ROCm Offline Installer Creator](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.2.0/install/rocm-offline-installer.html).
### Math libraries default to Clang instead of HIPCC
@@ -127,7 +127,7 @@ and [Installing TensorFlow for ROCm](https://rocm.docs.amd.com/projects/install-
PyTorch now supports Autocast for recurrent neural networks (RNNs) on ROCm. This can help to reduce computational
workloads and improve performance. Based on the information about the magnitude of values, Autocast can substitute the
original `float32` linear layers and convolutions with their `float16` or `bfloat16` variants. For more information, see
[Automatic mixed precision](https://rocm.docs.amd.com/en/docs-6.2.0/how-to/rocm-for-ai/train-a-model#automatic-mixed-precision-amp).
[Automatic mixed precision](https://rocm.docs.amd.com/en/docs-6.2.0/how-to/rocm-for-ai/train-a-model.html#automatic-mixed-precision-amp).
#### Memory savings for bitsandbytes model quantization
@@ -254,7 +254,7 @@ ROCm 6.2.0 marks the end of support (EoS) for:
ROCm 6.2.0 has been tested against pre-release Ubuntu 22.04.5 (kernel: 6.5 [HWE]).
See the [Compatibility matrix](https://rocm.docs.amd.com/en/docs/6.2.0/compatibility/compatibility-matrix.html) for an
See the [Compatibility matrix](https://rocm.docs.amd.com/en/docs-6.2.0/compatibility/compatibility-matrix.html) for an
overview of supported operating systems and hardware architectures.
## ROCm components
@@ -1255,8 +1255,8 @@ on GitHub for more information.
* The LLVM filesystem class `UniqueID` and function `equivalent`() no longer determine that distinct different path
names for the same hard linked file actually are equal. This is an intentional tradeoff in a bug fix, where the bug
used to cause distinct files to be considered equivalent on some file systems. This change fixed the issues
[https://github.com/llvm/llvm-project/issues/61401]() and [https://github.com/llvm/llvm-project/issues/22079]().
used to cause distinct files to be considered equivalent on some file systems. This change fixed the GitHub issues
[#61401](https://github.com/llvm/llvm-project/issues/61401) and [#22079](https://github.com/llvm/llvm-project/issues/22079).
#### Known issues
@@ -44,7 +44,7 @@ Setting up the base implementation environment
.. code-block:: shell
rocm-smi -showproductname
rocm-smi --showproductname
#. Check that your accelerators are available to PyTorch.
@@ -95,7 +95,7 @@ Now, it's important to adjust how you load the model. Add the ``device_map`` par
# Load base model to GPU memory
base_model = AutoModelForCausalLM.from_pretrained(
base_model_name,
device_map = "auto"
device_map = "auto",
trust_remote_code = True)
...
# Run training
+1 -1
View File
@@ -137,4 +137,4 @@ The following developer blogs showcase examples of how to fine-tune a model on a
* Recipes for fine-tuning Llama2 and 3 with ``llama-recipes``
* `meta-llama/llama-recipes: Scripts for fine-tuning Meta Llama3 with composable FSDP & PEFT methods to cover
single/multi-node GPUs <https://github.com/meta-llama/llama-recipes/tree/main/recipes/finetuning>`_
single/multi-node GPUs <https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/finetuning>`_
+1 -1
View File
@@ -1,2 +1,2 @@
rocm-docs-core==1.6.1
rocm-docs-core==1.6.2
sphinx-reredirects
+1 -1
View File
@@ -92,7 +92,7 @@ requests==2.32.3
# via
# pygithub
# sphinx
rocm-docs-core==1.6.1
rocm-docs-core==1.6.2
# via -r requirements.in
smmap==5.0.1
# via gitdb