mirror of
https://github.com/hanzoai/ROCm.git
synced 2026-09-30 20:37:25 +00:00
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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,2 +1,2 @@
|
||||
rocm-docs-core==1.6.1
|
||||
rocm-docs-core==1.6.2
|
||||
sphinx-reredirects
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user