diff --git a/programming_examples/vision/color_detect/Makefile b/programming_examples/vision/color_detect/Makefile index 0d8091620f..5bc10e013d 100755 --- a/programming_examples/vision/color_detect/Makefile +++ b/programming_examples/vision/color_detect/Makefile @@ -6,9 +6,11 @@ # ##===----------------------------------------------------------------------===## -include ../../makefile-common +srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -VPATH := ../../../aie_kernels/aie2 +include ${srcdir}/../../makefile-common + +VPATH := ${srcdir}/../../../aie_kernels/aie2 COLORDETECT_WIDTH = 1920 COLORDETECT_HEIGHT = 1080 @@ -27,13 +29,13 @@ mlir: build/aie2_lineBased_8b_${COLORDETECT_WIDTH}.mlir build/%.cc.o: %.cc mkdir -p ${@D} - cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $(<:%=../%) -o ${@F} + cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $< -o ${@F} build/combined_bitwiseOR_gray2rgba_bitwiseAND.a: build/bitwiseOR.cc.o build/gray2rgba.cc.o build/bitwiseAND.cc.o mkdir -p ${@D} ar rvs $@ $< $(word 2,$^) $(word 3,$^) -build/aie2_lineBased_8b_${COLORDETECT_WIDTH}.mlir: aie2_colorDetect.py +build/aie2_lineBased_8b_${COLORDETECT_WIDTH}.mlir: ${srcdir}/aie2_colorDetect.py mkdir -p ${@D} python3 $< ${COLORDETECT_WIDTH} ${COLORDETECT_HEIGHT} > $@ @@ -42,12 +44,11 @@ build/final_${COLORDETECT_WIDTH}.xclbin: build/aie2_lineBased_8b_${COLORDETECT_W cd ${@D} && aiecc.py --aie-generate-cdo --aie-generate-npu --no-compile-host \ --xclbin-name=${@F} --npu-insts-name=insts.txt $(<:%=../%) -${targetname}.exe: test.cpp +${targetname}.exe: ${srcdir}/test.cpp mkdir -p ${@D} rm -rf _build mkdir -p _build - cd _build && ${powershell} cmake .. -DTARGET_NAME=${targetname} -DCOLORDETECT_WIDTH=${COLORDETECT_WIDTH} -DCOLORDETECT_HEIGHT=${COLORDETECT_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 - + cd _build && ${powershell} cmake ${srcdir} -DTARGET_NAME=${targetname} -DCOLORDETECT_WIDTH=${COLORDETECT_WIDTH} -DCOLORDETECT_HEIGHT=${COLORDETECT_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 cd _build && ${powershell} cmake --build . --config Release ifeq "${powershell}" "powershell.exe" cp _build/${targetname}.exe $@ @@ -59,4 +60,4 @@ run: ${targetname}.exe build/final_${COLORDETECT_WIDTH}.xclbin build/insts.txt ${powershell} ./$< -x build/final_${COLORDETECT_WIDTH}.xclbin -i build/insts.txt -k MLIR_AIE clean: - rm -rf build _build + rm -rf build _build ${targetname}.exe colorDetectOut_test.jpg diff --git a/programming_examples/vision/color_detect/run.lit b/programming_examples/vision/color_detect/run.lit deleted file mode 100644 index 20b80f50fc..0000000000 --- a/programming_examples/vision/color_detect/run.lit +++ /dev/null @@ -1,16 +0,0 @@ -// (c) Copyright 2023 Advanced Micro Devices, Inc. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// REQUIRES: ryzen_ai, opencv, chess -// -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/rgba2hue.cc -o ./rgba2hue.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/threshold.cc -o ./threshold.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/bitwiseOR.cc -o ./bitwiseOR.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/gray2rgba.cc -o ./gray2rgba.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/bitwiseAND.cc -o ./bitwiseAND.cc.o -// RUN: ar rvs combined_bitwiseOR_gray2rgba_bitwiseAND.a bitwiseOR.cc.o gray2rgba.cc.o bitwiseAND.cc.o -// RUN: %python %S/aie2_colorDetect.py 1920 1080 > ./aie.mlir -// RUN: %python aiecc.py --xbridge --aie-generate-cdo --aie-generate-npu --no-compile-host --xclbin-name=aie.xclbin --npu-insts-name=insts.txt ./aie.mlir -// RUN: g++ %S/test.cpp -o test.exe -std=c++23 -Wall -DCOLORDETECT_WIDTH=1920 -DCOLORDETECT_HEIGHT=1080 -I%S/../../../runtime_lib/test_lib %S/../../../runtime_lib/test_lib/test_utils.cpp -I%S/../../utils %S/../../utils/OpenCVUtils.cpp %xrt_flags %opencv_flags -lrt -lstdc++ -lboost_program_options -lboost_filesystem -// RUN: %run_on_npu ./test.exe -x aie.xclbin -k MLIR_AIE -i insts.txt | FileCheck %s -// CHECK: PASS! diff --git a/programming_examples/vision/color_detect/run_makefile.lit b/programming_examples/vision/color_detect/run_makefile.lit new file mode 100644 index 0000000000..5827361324 --- /dev/null +++ b/programming_examples/vision/color_detect/run_makefile.lit @@ -0,0 +1,10 @@ +// (c) Copyright 2024 Advanced Micro Devices, Inc. + // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + // + // REQUIRES: ryzen_ai, chess + // + // RUN: make -f %S/Makefile clean + // RUN: make -f %S/Makefile + // RUN: %run_on_npu make -f %S/Makefile run | FileCheck %s + // CHECK: PASS! + \ No newline at end of file diff --git a/programming_examples/vision/color_threshold/Makefile b/programming_examples/vision/color_threshold/Makefile index 69958f4c2e..b90228b96f 100644 --- a/programming_examples/vision/color_threshold/Makefile +++ b/programming_examples/vision/color_threshold/Makefile @@ -6,9 +6,11 @@ # ##===----------------------------------------------------------------------===## -include ../../makefile-common +srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -VPATH := ../../../aie_kernels/aie2 +include ${srcdir}/../../makefile-common + +VPATH := ${srcdir}/../../../aie_kernels/aie2 COLORTHRESHOLD_WIDTH = 1920 COLORTHRESHOLD_HEIGHT = 1080 @@ -24,25 +26,21 @@ mlir: build/aie2_${COLORTHRESHOLD_WIDTH}.mlir build/%.cc.o: %.cc mkdir -p ${@D} - cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -d -DBIT_WIDTH=8 -c $(<:%=../%) -o ${@F} + cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -d -DBIT_WIDTH=8 -c $< -o ${@F} -build/aie2_${COLORTHRESHOLD_WIDTH}.mlir: aie2_colorThreshold.py +build/aie2_${COLORTHRESHOLD_WIDTH}.mlir: ${srcdir}/aie2_colorThreshold.py mkdir -p ${@D} python3 $< ${COLORTHRESHOLD_WIDTH} ${COLORTHRESHOLD_HEIGHT} > $@ -#build/aie.mlir: aie.mlir -# mkdir -p ${@D} -# cp $< $@ - build/final_${COLORTHRESHOLD_WIDTH}.xclbin: build/aie2_${COLORTHRESHOLD_WIDTH}.mlir build/threshold.cc.o mkdir -p ${@D} cd ${@D} && aiecc.py --aie-generate-cdo --aie-generate-npu --no-compile-host \ --xclbin-name=${@F} --npu-insts-name=insts.txt $(<:%=../%) -${targetname}.exe: test.cpp +${targetname}.exe: ${srcdir}/test.cpp rm -rf _build mkdir -p _build - cd _build && ${powershell} cmake .. -DTARGET_NAME=${targetname} -DCOLORTHRESHOLD_WIDTH=${COLORTHRESHOLD_WIDTH} -DCOLORTHRESHOLD_HEIGHT=${COLORTHRESHOLD_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 + cd _build && ${powershell} cmake ${srcdir} -DTARGET_NAME=${targetname} -DCOLORTHRESHOLD_WIDTH=${COLORTHRESHOLD_WIDTH} -DCOLORTHRESHOLD_HEIGHT=${COLORTHRESHOLD_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 cd _build && ${powershell} cmake --build . --config Release ifeq "${powershell}" "powershell.exe" cp _build/${targetname}.exe $@ diff --git a/programming_examples/vision/color_threshold/run.lit b/programming_examples/vision/color_threshold/run.lit deleted file mode 100644 index f452502155..0000000000 --- a/programming_examples/vision/color_threshold/run.lit +++ /dev/null @@ -1,11 +0,0 @@ -// (c) Copyright 2023 Advanced Micro Devices, Inc. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// REQUIRES: ryzen_ai, opencv, chess -// -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/threshold.cc -o ./threshold.cc.o -// RUN: %python %S/aie2_colorThreshold.py 1920 1080 > ./aie.mlir -// RUN: %python aiecc.py --xbridge --aie-generate-cdo --aie-generate-npu --no-compile-host --xclbin-name=aie.xclbin --npu-insts-name=insts.txt ./aie.mlir -// RUN: g++ %S/test.cpp -o test.exe -std=c++23 -Wall -DCOLORTHRESHOLD_WIDTH=1920 -DCOLORTHRESHOLD_HEIGHT=1080 -I%S/../../../runtime_lib/test_lib %S/../../../runtime_lib/test_lib/test_utils.cpp -I%S/../../utils %S/../../utils/OpenCVUtils.cpp %xrt_flags %opencv_flags -lrt -lstdc++ -lboost_program_options -lboost_filesystem -// RUN: %run_on_npu ./test.exe -x aie.xclbin -k MLIR_AIE -i insts.txt | FileCheck %s -// CHECK: PASS! diff --git a/programming_examples/vision/color_threshold/run_makefile.lit b/programming_examples/vision/color_threshold/run_makefile.lit new file mode 100644 index 0000000000..5827361324 --- /dev/null +++ b/programming_examples/vision/color_threshold/run_makefile.lit @@ -0,0 +1,10 @@ +// (c) Copyright 2024 Advanced Micro Devices, Inc. + // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + // + // REQUIRES: ryzen_ai, chess + // + // RUN: make -f %S/Makefile clean + // RUN: make -f %S/Makefile + // RUN: %run_on_npu make -f %S/Makefile run | FileCheck %s + // CHECK: PASS! + \ No newline at end of file diff --git a/programming_examples/vision/edge_detect/Makefile b/programming_examples/vision/edge_detect/Makefile index 71c2012432..19ae0cd24f 100755 --- a/programming_examples/vision/edge_detect/Makefile +++ b/programming_examples/vision/edge_detect/Makefile @@ -6,9 +6,11 @@ # ##===----------------------------------------------------------------------===## -include ../../makefile-common +srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -VPATH := ../../../aie_kernels/aie2 +include ${srcdir}/../../makefile-common + +VPATH := ${srcdir}/../../../aie_kernels/aie2 EDGEDETECT_WIDTH = 1920 EDGEDETECT_HEIGHT = 1080 @@ -27,13 +29,13 @@ mlir: build/aie2_lineBased_8b_${EDGEDETECT_WIDTH}.mlir build/%.cc.o: %.cc mkdir -p ${@D} - cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $(<:%=../%) -o ${@F} + cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $< -o ${@F} build/combined_gray2rgba_addWeighted.a: build/gray2rgba.cc.o build/addWeighted.cc.o mkdir -p ${@D} ar rvs $@ $< $(word 2,$^) -build/aie2_lineBased_8b_${EDGEDETECT_WIDTH}.mlir: aie2_edgeDetect.py +build/aie2_lineBased_8b_${EDGEDETECT_WIDTH}.mlir: ${srcdir}/aie2_edgeDetect.py mkdir -p ${@D} python3 $< ${EDGEDETECT_WIDTH} ${EDGEDETECT_HEIGHT} > $@ @@ -42,10 +44,10 @@ build/final_${EDGEDETECT_WIDTH}.xclbin: build/aie2_lineBased_8b_${EDGEDETECT_WID cd ${@D} && aiecc.py --aie-generate-cdo --aie-generate-npu --no-compile-host \ --xclbin-name=${@F} --npu-insts-name=insts.txt $(<:%=../%) -${targetname}.exe: test.cpp +${targetname}.exe: ${srcdir}/test.cpp rm -rf _build mkdir -p _build - cd _build && ${powershell} cmake .. -DTARGET_NAME=${targetname} -DEDGEDETECT_WIDTH=${EDGEDETECT_WIDTH} -DEDGEDETECT_HEIGHT=${EDGEDETECT_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 + cd _build && ${powershell} cmake ${srcdir} -DTARGET_NAME=${targetname} -DEDGEDETECT_WIDTH=${EDGEDETECT_WIDTH} -DEDGEDETECT_HEIGHT=${EDGEDETECT_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 cd _build && ${powershell} cmake --build . --config Release ifeq "${powershell}" "powershell.exe" cp _build/${targetname}.exe $@ @@ -57,4 +59,4 @@ run: ${targetname}.exe build/final_${EDGEDETECT_WIDTH}.xclbin build/insts.txt ${powershell} ./$< -x build/final_${EDGEDETECT_WIDTH}.xclbin -i build/insts.txt -k MLIR_AIE clean: - rm -rf build _build ${targetname}.exe + rm -rf build _build ${targetname}.exe ${targetname}Out_test.jpg diff --git a/programming_examples/vision/edge_detect/run.lit b/programming_examples/vision/edge_detect/run.lit deleted file mode 100644 index 5f7ab37e0e..0000000000 --- a/programming_examples/vision/edge_detect/run.lit +++ /dev/null @@ -1,17 +0,0 @@ -// (c) Copyright 2023 Advanced Micro Devices, Inc. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// REQUIRES: ryzen_ai, opencv, chess -// -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/rgba2gray.cc -o ./rgba2gray.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/gray2rgba.cc -o ./gray2rgba.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/threshold.cc -o ./threshold.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/addWeighted.cc -o ./addWeighted.cc.o -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/aie2/filter2d.cc -o ./filter2d.cc.o -// RUN: ar rvs combined_gray2rgba_addWeighted.a gray2rgba.cc.o addWeighted.cc.o -// RUN: %python %S/aie2_edgeDetect.py 1920 1080 > ./aie.mlir -// RUN: %python aiecc.py --xbridge --aie-generate-cdo --aie-generate-npu --no-compile-host --xclbin-name=aie.xclbin --npu-insts-name=insts.txt ./aie.mlir -// RUN: g++ %S/test.cpp -o test.exe -std=c++23 -Wall -DEDGEDETECT_WIDTH=1920 -DEDGEDETECT_HEIGHT=1080 -I%S/../../../runtime_lib/test_lib %S/../../../runtime_lib/test_lib/test_utils.cpp -I%S/../../utils %S/../../utils/OpenCVUtils.cpp %xrt_flags %opencv_flags -lrt -lstdc++ -lboost_program_options -lboost_filesystem -// RUN: %run_on_npu ./test.exe -x aie.xclbin -k MLIR_AIE -i insts.txt | FileCheck %s -// CHECK: PASS! - diff --git a/programming_examples/vision/edge_detect/run_makefile.lit b/programming_examples/vision/edge_detect/run_makefile.lit new file mode 100644 index 0000000000..5827361324 --- /dev/null +++ b/programming_examples/vision/edge_detect/run_makefile.lit @@ -0,0 +1,10 @@ +// (c) Copyright 2024 Advanced Micro Devices, Inc. + // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + // + // REQUIRES: ryzen_ai, chess + // + // RUN: make -f %S/Makefile clean + // RUN: make -f %S/Makefile + // RUN: %run_on_npu make -f %S/Makefile run | FileCheck %s + // CHECK: PASS! + \ No newline at end of file diff --git a/programming_examples/vision/vision_passthrough/Makefile b/programming_examples/vision/vision_passthrough/Makefile index 1ae853d942..e7a6d310a5 100644 --- a/programming_examples/vision/vision_passthrough/Makefile +++ b/programming_examples/vision/vision_passthrough/Makefile @@ -6,9 +6,11 @@ # ##===----------------------------------------------------------------------===## -include ../../makefile-common +srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) -VPATH := ../../../aie_kernels/generic +include ${srcdir}/../../makefile-common + +VPATH := ${srcdir}/../../../aie_kernels/generic PASSTHROUGH_WIDTH = 1920 PASSTHROUGH_HEIGHT = 1080 @@ -22,23 +24,23 @@ targetname = passThrough all: build/final_${PASSTHROUGH_WIDTH}.xclbin -build/aie2_lineBased_8b_${PASSTHROUGH_WIDTH}.mlir: aie2.py +build/aie2_lineBased_8b_${PASSTHROUGH_WIDTH}.mlir: ${srcdir}/aie2.py mkdir -p ${@D} python3 $< ${PASSTHROUGH_WIDTH} ${PASSTHROUGH_HEIGHT} > $@ build/passThrough.cc.o: passThrough.cc mkdir -p ${@D} - cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $(<:%=../%) -o ${@F} + cd ${@D} && xchesscc_wrapper ${CHESSCCWRAP2_FLAGS} -DBIT_WIDTH=8 -c $< -o ${@F} build/final_${PASSTHROUGH_WIDTH}.xclbin: build/aie2_lineBased_8b_${PASSTHROUGH_WIDTH}.mlir build/passThrough.cc.o mkdir -p ${@D} cd ${@D} && aiecc.py --aie-generate-cdo --aie-generate-npu --no-compile-host \ --xclbin-name=${@F} --npu-insts-name=insts.txt $(<:%=../%) -${targetname}.exe: test.cpp +${targetname}.exe: ${srcdir}/test.cpp rm -rf _build mkdir -p _build - cd _build && ${powershell} cmake .. -DTARGET_NAME=${targetname} -DPASSTHROUGH_WIDTH=${PASSTHROUGH_WIDTH} -DPASSTHROUGH_HEIGHT=${PASSTHROUGH_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 + cd _build && ${powershell} cmake ${srcdir} -DTARGET_NAME=${targetname} -DPASSTHROUGH_WIDTH=${PASSTHROUGH_WIDTH} -DPASSTHROUGH_HEIGHT=${PASSTHROUGH_HEIGHT} -D CMAKE_C_COMPILER=gcc-13 -D CMAKE_CXX_COMPILER=g++-13 cd _build && ${powershell} cmake --build . --config Release ifeq "${powershell}" "powershell.exe" cp _build/${targetname}.exe $@ @@ -50,4 +52,4 @@ run: ${targetname}.exe build/final_${PASSTHROUGH_WIDTH}.xclbin build/insts.txt ${powershell} ./$< -x build/final_${PASSTHROUGH_WIDTH}.xclbin -i build/insts.txt -k MLIR_AIE clean: - rm -rf build _build ${targetname}.exe + rm -rf build _build ${targetname}.exe ${targetname}Out_test.jpg diff --git a/programming_examples/vision/vision_passthrough/run.lit b/programming_examples/vision/vision_passthrough/run.lit deleted file mode 100644 index 58f914861c..0000000000 --- a/programming_examples/vision/vision_passthrough/run.lit +++ /dev/null @@ -1,11 +0,0 @@ -// (c) Copyright 2023 Advanced Micro Devices, Inc. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// REQUIRES: ryzen_ai, opencv, chess -// -// RUN: xchesscc_wrapper aie2 -I %aietools/include -DBIT_WIDTH=8 -c %S/../../../aie_kernels/generic/passThrough.cc -o passThrough.cc.o -// RUN: %python %S/aie2.py 1920 1080 | aie-opt -cse -canonicalize -o ./aie.mlir -// RUN: %python aiecc.py --xbridge --aie-generate-cdo --aie-generate-npu --no-compile-host --xclbin-name=aie.xclbin --npu-insts-name=insts.txt ./aie.mlir -// RUN: g++ %S/test.cpp -o test.exe -std=c++23 -Wall -DPASSTHROUGH_WIDTH=1920 -DPASSTHROUGH_HEIGHT=1080 -I%S/../../../runtime_lib/test_lib %S/../../../runtime_lib/test_lib/test_utils.cpp -I%S/../../utils %S/../../utils/OpenCVUtils.cpp %xrt_flags %opencv_flags -lrt -lstdc++ -lboost_program_options -lboost_filesystem -// RUN: %run_on_npu ./test.exe -x aie.xclbin -k MLIR_AIE -i insts.txt | FileCheck %s -// CHECK: PASS! diff --git a/programming_examples/vision/vision_passthrough/run_makefile.lit b/programming_examples/vision/vision_passthrough/run_makefile.lit new file mode 100644 index 0000000000..5827361324 --- /dev/null +++ b/programming_examples/vision/vision_passthrough/run_makefile.lit @@ -0,0 +1,10 @@ +// (c) Copyright 2024 Advanced Micro Devices, Inc. + // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + // + // REQUIRES: ryzen_ai, chess + // + // RUN: make -f %S/Makefile clean + // RUN: make -f %S/Makefile + // RUN: %run_on_npu make -f %S/Makefile run | FileCheck %s + // CHECK: PASS! + \ No newline at end of file