-
Notifications
You must be signed in to change notification settings - Fork 183
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·69 lines (54 loc) · 2.25 KB
/
Makefile
File metadata and controls
executable file
·69 lines (54 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#
# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# Copyright (C) 2024, Advanced Micro Devices, Inc.
srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
include ${srcdir}/../../makefile-common
targetname = bottleneck
devicename ?= $(if $(filter 1,$(NPU2)),npu2,npu)
mlirFileName = aie
aie_py_src=${targetname}.py
use_placed?=0
ifeq (${use_placed}, 1)
aie_py_src=${targetname}_placed.py
endif
VPATH := ${srcdir}/../../../aie_kernels/aie2
all: build/conv2dk1.o build/conv2dk3.o build/conv2dk1_skip.o build/final.xclbin
build/${mlirFileName}.mlir: ${srcdir}/${aie_py_src}
mkdir -p ${@D}
python3 $< ${devicename} > $@
build/conv2dk1.o: conv2dk1.cc
mkdir -p ${@D}
ifeq (${devicename}, npu)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2_FLAGS} -DINT8_ACT -c $< -o ${@F}
else ifeq (${devicename}, npu2)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2P_FLAGS} -DINT8_ACT -c $< -o ${@F}
endif
build/conv2dk3.o: conv2dk3.cc
mkdir -p ${@D}
ifeq (${devicename}, npu)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2_FLAGS} -DUINT8_ACT -c $< -o ${@F}
else ifeq (${devicename}, npu2)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2P_FLAGS} -DUINT8_ACT -c $< -o ${@F}
endif
build/conv2dk1_skip.o: conv2dk1_skip.cc
mkdir -p ${@D}
ifeq (${devicename}, npu)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2_FLAGS} -DINT8_ACT -c $< -o ${@F}
else ifeq (${devicename}, npu2)
cd ${@D} && ${PEANO_INSTALL_DIR}/bin/clang ${PEANOWRAP2P_FLAGS} -DINT8_ACT -c $< -o ${@F}
endif
build/final.xclbin: build/${mlirFileName}.mlir build/conv2dk1.o build/conv2dk3.o build/conv2dk1_skip.o
mkdir -p ${@D}
cd ${@D} && aiecc -v --aie-generate-xclbin --aie-generate-npu-insts --no-compile-host \
--alloc-scheme=basic-sequential \
--no-xchesscc --no-xbridge \
--xclbin-name=${@F} --npu-insts-name=insts.bin $(<:%=../%)
clean:
rm -rf build *.elf* *.lst *.bif ${mlirFileName}.mlir.prj log .xclbin sim \
chess* *.o insts.bin \
*.log aie_partition.json *.bin BOOT.BIN _x test.exe
run_py: build/final.xclbin
${powershell} python3 ${srcdir}/test.py -x build/final.xclbin -i build/insts.bin -k MLIR_AIE