@@ -24,10 +24,11 @@ jobs:
2424 strategy :
2525 matrix :
2626 config :
27- - { name: 'cpu', runner: 'ubuntu-22.04', base_image: 'ubuntu:22.04' }
28- - { name: 'cpu', runner: 'ubuntu-22.04-arm', base_image: 'ubuntu:22.04' }
29- - { name: 'gpu', runner: 'ubuntu-22.04', base_image: 'nvcr.io/nvidia/nvhpc:24.5-devel-cuda_multi-ubuntu22.04', compiler_arch: 'Linux_x86_64' }
30- - { name: 'gpu', runner: 'ubuntu-22.04-arm', base_image: 'nvcr.io/nvidia/nvhpc:24.5-devel-cuda_multi-ubuntu22.04', compiler_arch: 'Linux_aarch64' }
27+ - { name: 'cpu', tag: 'cpu', runner: 'ubuntu-22.04', base_image: 'ubuntu:22.04' }
28+ - { name: 'cpu', tag: 'cpu', runner: 'ubuntu-22.04-arm', base_image: 'ubuntu:22.04' }
29+ - { name: 'gpu', tag: 'gpu-nvidia', runner: 'ubuntu-22.04', base_image: 'nvcr.io/nvidia/nvhpc:24.5-devel-cuda_multi-ubuntu22.04', compiler_arch: 'Linux_x86_64' }
30+ - { name: 'gpu', tag: 'gpu-nvidia', runner: 'ubuntu-22.04-arm', base_image: 'nvcr.io/nvidia/nvhpc:24.5-devel-cuda_multi-ubuntu22.04', compiler_arch: 'Linux_aarch64' }
31+ - { name: 'amd', tag: 'gpu-amd', runner: 'ubuntu-22.04', base_image: 'ubuntu:22.04' }
3132 runs-on : ${{ matrix.config.runner }}
3233 outputs :
3334 tag : ${{ steps.clone.outputs.tag }}
@@ -108,8 +109,8 @@ jobs:
108109 labels : |
109110 org.opencontainers.image.source=https://github.com/${{ github.repository }}
110111 tags : |
111- ${{ secrets.DOCKERHUB_USERNAME }}/mfc:${{ env.TAG }}-${{ matrix.config.name }}-${{ matrix.config.runner }}
112- ${{ env.GH_REGISTRY }}:${{ env.TAG }}-${{ matrix.config.name }}-${{ matrix.config.runner }}
112+ ${{ secrets.DOCKERHUB_USERNAME }}/mfc:${{ env.TAG }}-${{ matrix.config.tag }}-${{ matrix.config.runner }}
113+ ${{ env.GH_REGISTRY }}:${{ env.TAG }}-${{ matrix.config.tag }}-${{ matrix.config.runner }}
113114 push : true
114115
115116 - name : Build and push image (gpu)
@@ -130,8 +131,39 @@ jobs:
130131 labels : |
131132 org.opencontainers.image.source=https://github.com/${{ github.repository }}
132133 tags : |
133- ${{ secrets.DOCKERHUB_USERNAME }}/mfc:${{ env.TAG }}-${{ matrix.config.name }}-${{ matrix.config.runner }}
134- ${{ env.GH_REGISTRY }}:${{ env.TAG }}-${{ matrix.config.name }}-${{ matrix.config.runner }}
134+ ${{ secrets.DOCKERHUB_USERNAME }}/mfc:${{ env.TAG }}-${{ matrix.config.tag }}-${{ matrix.config.runner }}
135+ ${{ env.GH_REGISTRY }}:${{ env.TAG }}-${{ matrix.config.tag }}-${{ matrix.config.runner }}
136+ push : true
137+
138+ - name : Set AMD AFAR vars
139+ if : ${{ matrix.config.name == 'amd' }}
140+ run : |
141+ AFAR=rocm-afar-8873-drop-22.2.0
142+ ROOT="/opt/${AFAR}"
143+ echo "AFAR_VERSION=${AFAR}" >> $GITHUB_ENV
144+ echo "AFAR_ROOT=${ROOT}" >> $GITHUB_ENV
145+
146+ - name : Build and push image (amd)
147+ if : ${{ matrix.config.name == 'amd' }}
148+ uses : docker/build-push-action@v6
149+ with :
150+ context : /mnt/share
151+ file : /mnt/share/Dockerfile
152+ build-args : |
153+ BASE_IMAGE=${{ matrix.config.base_image }}
154+ TARGET=amd
155+ AFAR_VERSION=${{ env.AFAR_VERSION }}
156+ OLCF_AFAR_ROOT=${{ env.AFAR_ROOT }}
157+ CC_COMPILER=gcc
158+ CXX_COMPILER=g++
159+ FC_COMPILER=${{ env.AFAR_ROOT }}/bin/amdflang
160+ COMPILER_PATH=${{ env.AFAR_ROOT }}/lib/llvm/bin:${{ env.AFAR_ROOT }}/bin
161+ COMPILER_LD_LIBRARY_PATH=${{ env.AFAR_ROOT }}/lib:${{ env.AFAR_ROOT }}/lib/llvm/lib
162+ labels : |
163+ org.opencontainers.image.source=https://github.com/${{ github.repository }}
164+ tags : |
165+ ${{ secrets.DOCKERHUB_USERNAME }}/mfc:${{ env.TAG }}-gpu-amd-ubuntu-22.04
166+ ${{ env.GH_REGISTRY }}:${{ env.TAG }}-gpu-amd-ubuntu-22.04
135167 push : true
136168
137169 manifests :
@@ -169,8 +201,9 @@ jobs:
169201 run : |
170202 GH="${{ env.GH_REGISTRY }}"
171203 for R in "$DH" "$GH"; do
172- docker buildx imagetools create -t $R:$TAG-cpu $R:$TAG-cpu-ubuntu-22.04 $R:$TAG-cpu-ubuntu-22.04-arm
173- docker buildx imagetools create -t $R:$TAG-gpu $R:$TAG-gpu-ubuntu-22.04 $R:$TAG-gpu-ubuntu-22.04-arm
204+ docker buildx imagetools create -t $R:$TAG-cpu $R:$TAG-cpu-ubuntu-22.04 $R:$TAG-cpu-ubuntu-22.04-arm
205+ docker buildx imagetools create -t $R:$TAG-gpu-nvidia $R:$TAG-gpu-nvidia-ubuntu-22.04 $R:$TAG-gpu-nvidia-ubuntu-22.04-arm
206+ docker buildx imagetools create -t $R:$TAG-gpu-amd $R:$TAG-gpu-amd-ubuntu-22.04
174207 done
175208
176209 - name : Update latest tags
@@ -181,6 +214,7 @@ jobs:
181214 run : |
182215 GH="${{ env.GH_REGISTRY }}"
183216 for R in "$DH" "$GH"; do
184- docker buildx imagetools create -t $R:latest-cpu $R:$TAG-cpu-ubuntu-22.04 $R:$TAG-cpu-ubuntu-22.04-arm
185- docker buildx imagetools create -t $R:latest-gpu $R:$TAG-gpu-ubuntu-22.04 $R:$TAG-gpu-ubuntu-22.04-arm
217+ docker buildx imagetools create -t $R:latest-cpu $R:$TAG-cpu-ubuntu-22.04 $R:$TAG-cpu-ubuntu-22.04-arm
218+ docker buildx imagetools create -t $R:latest-gpu-nvidia $R:$TAG-gpu-nvidia-ubuntu-22.04 $R:$TAG-gpu-nvidia-ubuntu-22.04-arm
219+ docker buildx imagetools create -t $R:latest-gpu-amd $R:$TAG-gpu-amd-ubuntu-22.04
186220 done
0 commit comments