|
1 | 1 | # Copyright (c) Microsoft Corporation. |
2 | 2 | # Licensed under the MIT license. |
3 | 3 |
|
| 4 | +# OS_SKU is inherited from parent Makefile, but provide fallback if run independently |
| 5 | +OS_SKU ?= $(shell sort -r /etc/*-release | gawk 'match($$0, /^ID=(.*)$$/, a) { print toupper(a[1]); exit }') |
| 6 | + |
4 | 7 | # Dynamically find AMD software paths |
| 8 | +ifeq ($(OS_SKU), AZURELINUX) |
5 | 9 | BLIS_PATH := $(shell find /opt -path "*/amd-blis" 2>/dev/null | head -1) |
6 | 10 | BLIS_LIB := $(shell find /opt -name "libblis-mt.so" 2>/dev/null | head -1) |
7 | 11 | AOCC_PATH := $(shell find /opt -path "*/aocc-compiler*/bin/clang" 2>/dev/null | head -1) |
| 12 | +endif |
8 | 13 |
|
9 | 14 | all: ZEN3 ZEN4 CONFIGURE |
10 | 15 |
|
11 | 16 | CONFIGURE: |
12 | 17 | cp ./hpl-2.3/setup/Make.Linux_ATHLON_CBLAS ./hpl-2.3/Make.Linux_zen3 |
13 | | - sed -i 's/.*ARCH .*=.*/ARCH =$$(arch)/' ./hpl-2.3/Make.Linux_zen3 |
14 | | - sed -i 's/.*TOPdir .*=.*/TOPdir = ..\/..\/../' ./hpl-2.3/Make.Linux_zen3 |
| 18 | + sed -i 's/.*ARCH .*=.*/ARCH =$$(arch)/' ./hpl-2.3/Make.Linux_zen3 |
| 19 | + sed -i 's/.*TOPdir .*=.*/TOPdir = ..\/..\/../' ./hpl-2.3/Make.Linux_zen3 |
15 | 20 | sed -i 's/.*MPdir .*=.*/MPdir = $$(omp)/' ./hpl-2.3/Make.Linux_zen3 |
16 | 21 | sed -i 's/.*MPinc .*=.*/MPinc = -I$$(MPdir)\/include/' ./hpl-2.3/Make.Linux_zen3 |
17 | 22 | sed -i 's/.*MPlib .*=.*/MPlib = $$(MPdir)\/lib\/libmpi.so/' ./hpl-2.3/Make.Linux_zen3 |
| 23 | +ifeq ($(OS_SKU), AZURELINUX) |
18 | 24 | sed -i 's|.*LAdir .*=.*|LAdir = $(BLIS_PATH)|' ./hpl-2.3/Make.Linux_zen3 |
19 | | - sed -i 's/LAinc .*=/LAinc = -I$$(LAdir)\/lib\/include/' ./hpl-2.3/Make.Linux_zen3 |
20 | 25 | sed -i 's|.*LAlib .*=.*|LAlib = $(BLIS_LIB)|' ./hpl-2.3/Make.Linux_zen3 |
21 | | - sed -i 's|.*CC .*=.*|CC = $(AOCC_PATH)|' ./hpl-2.3/Make.Linux_zen3 |
| 26 | + sed -i 's|.*CC .*=.*|CC = $(AOCC_PATH)|' ./hpl-2.3/Make.Linux_zen3 |
| 27 | + sed -i 's|.*LINKER .*=.*|LINKER = $(AOCC_PATH)|' ./hpl-2.3/Make.Linux_zen3 |
| 28 | +else |
| 29 | + sed -i 's/.*LAdir .*=.*/LAdir = \/opt\/AMD\/amd-blis/' ./hpl-2.3/Make.Linux_zen3 |
| 30 | + sed -i 's/.*LAlib .*=.*/LAlib = $$(LAdir)\/lib\/LP64\/libblis-mt.so/' ./hpl-2.3/Make.Linux_zen3 |
| 31 | + sed -i 's/.*CC .*=.*/CC = \/opt\/AMD\/aocc-compiler-4.0.0\/bin\/clang/' ./hpl-2.3/Make.Linux_zen3 |
| 32 | + sed -i 's/.*LINKER .*=.*/LINKER = \/opt\/AMD\/aocc-compiler-4.0.0\/bin\/clang/' ./hpl-2.3/Make.Linux_zen3 |
| 33 | +endif |
| 34 | + sed -i 's/LAinc .*=/LAinc = -I$$(LAdir)\/lib\/include/' ./hpl-2.3/Make.Linux_zen3 |
22 | 35 | sed -i 's/.*CCFLAGS .*=.*/CCFLAGS = $$(HPL_DEFS) -march=znver3 -fomit-frame-pointer -O3 -funroll-loops/' ./hpl-2.3/Make.Linux_zen3 |
23 | | - sed -i 's|.*LINKER .*=.*|LINKER = $(AOCC_PATH)|' ./hpl-2.3/Make.Linux_zen3 |
24 | 36 | cp ./hpl-2.3/Make.Linux_zen3 ./hpl-2.3/Make.Linux_zen4 |
25 | 37 | sed -i 's/.*CCFLAGS .*=.*/CCFLAGS = $$(HPL_DEFS) -march=znver4 -fomit-frame-pointer -O3 -funroll-loops/' ./hpl-2.3/Make.Linux_zen4 |
26 | 38 | ZEN3: CONFIGURE |
|
0 commit comments