Skip to content

Commit 6af473d

Browse files
committed
[DAP] Use buddy-mlir library in validation framework.
1 parent 36e0655 commit 6af473d

File tree

6 files changed

+25
-25
lines changed

6 files changed

+25
-25
lines changed

benchmarks/AudioProcessing/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ add_executable(audio-processing-benchmark
8787
target_link_directories(audio-processing-benchmark
8888
PRIVATE
8989
${KFR_DIR}/build/
90-
${BUDDY_MLIR_LIB_DIR}
91-
)
90+
)
91+
9292
target_link_libraries(audio-processing-benchmark
9393
PRIVATE
9494
kfr_io

validation/AudioProcessing/CWrapper.cpp renamed to validation/AudioProcessing/AudioValidationLib.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "AudioFile.h"
2424

2525
extern "C" {
26-
void _mlir_ciface_conv1d_linalg(MemRef<float, 1> *inputBuddyConv1D,
26+
void _mlir_ciface_buddy_fir(MemRef<float, 1> *inputBuddyConv1D,
2727
MemRef<float, 1> *kernelBuddyConv1D,
2828
MemRef<float, 1> *outputBuddyConv1D);
2929

@@ -35,7 +35,7 @@ float *fir(float *input, float *kernel, float *output, int inputSize,
3535
new MemRef<float, 1>(kernel, reinterpret_cast<intptr_t *>(&kernelSize));
3636
MemRef<float, 1> *out =
3737
new MemRef<float, 1>(output, reinterpret_cast<intptr_t *>(&outputSize));
38-
_mlir_ciface_conv1d_linalg(in, ker, out);
38+
_mlir_ciface_buddy_fir(in, ker, out);
3939
return out->getData();
4040
}
4141

validation/AudioProcessing/CMakeLists.txt

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,17 @@ if (NOT AUDIO_PROCESSING_BENCHMARKS)
66
include_directories(${KFR_DIR}/include)
77
endif()
88

9-
add_custom_command(OUTPUT buddy-fir.o
10-
COMMAND ${BUDDY_MLIR_BUILD_DIR}/bin/buddy-opt
11-
${BUDDY_SOURCE_DIR}/benchmarks/AudioProcessing/BuddyFir.mlir
12-
-lower-dap -convert-linalg-to-affine-loops
13-
-lower-affine -convert-scf-to-cf -convert-vector-to-llvm
14-
--llvm-request-c-wrappers -convert-arith-to-llvm
15-
-finalize-memref-to-llvm -convert-func-to-llvm -reconcile-unrealized-casts |
16-
${LLVM_MLIR_BINARY_DIR}/mlir-translate --mlir-to-llvmir |
17-
${LLVM_MLIR_BINARY_DIR}/llc -mtriple=${BUDDY_OPT_TRIPLE}
18-
-mattr=${BUDDY_OPT_ATTR} --filetype=obj
19-
-o ${BUDDY_BINARY_DIR}/../validation/AudioProcessing/buddy-fir.o
20-
)
21-
add_library(BuddyFirCor SHARED buddy-fir.o)
9+
add_library(AudioValidationLib SHARED AudioValidationLib.cpp)
2210

23-
set_target_properties(BuddyFirCor PROPERTIES LINKER_LANGUAGE CXX)
11+
target_link_directories(AudioValidationLib
12+
PRIVATE
13+
${KFR_DIR}/build/
14+
${BUDDY_MLIR_LIB_DIR}
15+
)
2416

25-
add_library(CWrapper SHARED CWrapper.cpp buddy-fir.o)
17+
target_link_libraries(AudioValidationLib
18+
PRIVATE
19+
kfr_io
20+
kfr_dft
21+
BuddyLibDAP
22+
)

validation/Python/audio/audio_file.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ class AudioFileTest(AudioTest):
3636
- lib: path to the library file.
3737
3838
"""
39-
default_param = {"file": "../../../benchmarks/AudioProcessing/Audios/NASA_Mars.wav",
39+
default_param = {"file": "../../benchmarks/AudioProcessing/Audios/NASA_Mars.wav",
4040
"savefile": "./NASA_Mars_save.wav",
41-
"lib": "../../../build/utils/validation/AudioProcessing/libCWrapper"}
41+
"lib": "../../build/validation/AudioProcessing/libAudioValidationLib"}
4242

4343
def __init__(self, test_name, test_type, test_params=default_param):
4444
super(AudioFileTest, self).__init__(test_name, test_type, test_params)

validation/Python/audio/fir.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ class FIRTest(AudioTest):
3636
- lib: path to the library file.
3737
3838
"""
39-
default_param = {"file": "../../../benchmarks/AudioProcessing/Audios/NASA_Mars.wav",
39+
default_param = {"file": "../../benchmarks/AudioProcessing/Audios/NASA_Mars.wav",
4040
"fconf": ('kaiser', 4.0),
41-
"lib": "../../../build/utils/validation/AudioProcessing/libCWrapper"}
41+
"lib": "../../build/validation/AudioProcessing/libAudioValidationLib"}
4242

4343
def __init__(self, test_name, test_type, test_params=default_param):
4444
super(FIRTest, self).__init__(test_name, test_type, test_params)
@@ -69,10 +69,10 @@ def run_file_test(self):
6969
input = ffi.cast("float *", ffi.from_buffer(sp_nasa))
7070
kernel = ffi.cast("float *", firfilt.ctypes.data)
7171
output = ffi.new("float[]", sp_nasa.size)
72-
72+
print(f"input size: {sp_nasa.size}")
7373
out = C.fir(input, kernel, output,
7474
sp_nasa.size, firfilt.size, sp_nasa.size)
75-
75+
print("fir finished")
7676
out = ffi.unpack(out, sp_nasa.size)
7777

7878
# scipy fir filtering

validation/Python/README.md renamed to validation/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
## Environment Setup
66

7+
Please build the "AudioValidationLib" target in CMake.
8+
It would generate a dynamic library for CFFI to use.
9+
710
Please install required packages by using:
811
```
912
pip install -r requirements.txt

0 commit comments

Comments
 (0)