From 7c4156954648dd13cf0417ab9f629946e2ce3f14 Mon Sep 17 00:00:00 2001 From: Samuel Riedel Date: Thu, 22 Feb 2024 17:38:53 +0100 Subject: [PATCH] [software] Fix includes in applications --- software/apps/axpy_i32/main.c | 2 +- software/apps/cfft_radix2_q16/main.c | 8 ++++---- software/apps/cfft_radix4_q16/main.c | 12 ++++++------ software/apps/chest_q16/main.c | 8 ++++---- software/apps/cholesky_q32/main.c | 8 ++++---- software/apps/conv2d_i32/main.c | 2 +- software/apps/conv2d_i8/main.c | 2 +- software/apps/dct_i32/main.c | 2 +- software/apps/matmul_i16/main.c | 2 +- software/apps/matmul_i32/main.c | 2 +- software/apps/matmul_i8/main.c | 2 +- software/apps/matrix_mul/main.c | 2 +- software/apps/synth_i32/main.c | 2 +- software/apps/tests/main.c | 2 +- software/kernels/mempool_chest_q16p.h | 2 +- software/kernels/mempool_cholesky_q32p.h | 2 +- software/kernels/mempool_cholesky_q32s.h | 2 +- software/kernels/mempool_conv2d_i8s.h | 2 +- software/kernels/mempool_linearsolver_q32p.h | 2 +- software/kernels/mempool_linearsolver_q32s.h | 2 +- software/kernels/mempool_matmul_i16p.h | 2 +- software/kernels/mempool_matmul_i8p.h | 2 +- software/kernels/mempool_matmul_i8s.h | 2 +- software/kernels/mempool_radix2_cfft_q16p.h | 2 +- software/kernels/mempool_radix2_cfft_q16s.h | 2 +- software/kernels/mempool_radix4_cfft_butterfly_q16.h | 2 +- software/kernels/mempool_radix4_cfft_q16p.h | 2 +- software/kernels/mempool_radix4_cfft_q16s.h | 2 +- software/runtime/runtime.mk | 4 +++- 29 files changed, 45 insertions(+), 43 deletions(-) diff --git a/software/apps/axpy_i32/main.c b/software/apps/axpy_i32/main.c index b4f4798e6..e11c5d6cf 100644 --- a/software/apps/axpy_i32/main.c +++ b/software/apps/axpy_i32/main.c @@ -8,7 +8,7 @@ #include #include "encoding.h" -#include "kernel/axpy.h" +#include "mempool_axpy_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/apps/cfft_radix2_q16/main.c b/software/apps/cfft_radix2_q16/main.c index a7dfa2c7b..057592dce 100644 --- a/software/apps/cfft_radix2_q16/main.c +++ b/software/apps/cfft_radix2_q16/main.c @@ -11,17 +11,17 @@ #include /* Mempool runtime libraries */ +#include "builtins_v2.h" #include "dma.h" #include "encoding.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/builtins_v2.h" /* CFFT mempool libraries */ -#include "data/data_cfft_radix2_q16.h" -#include "kernel/mempool_radix2_cfft_q16p.h" -#include "kernel/mempool_radix2_cfft_q16s.h" +#include "data_cfft_radix2_q16.h" +#include "mempool_radix2_cfft_q16p.h" +#include "mempool_radix2_cfft_q16s.h" #define PARALLEL #define SINGLE diff --git a/software/apps/cfft_radix4_q16/main.c b/software/apps/cfft_radix4_q16/main.c index ca9cb29c3..640d4c557 100644 --- a/software/apps/cfft_radix4_q16/main.c +++ b/software/apps/cfft_radix4_q16/main.c @@ -10,15 +10,15 @@ #include /* Mempool runtime libraries */ +#include "builtins_v2.h" #include "dma.h" #include "encoding.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/builtins_v2.h" /* CFFT data libraries */ -#include "data/data_cfft_radix4_q16.h" +#include "data_cfft_radix4_q16.h" /* CHOOSE ONE @@ -46,10 +46,10 @@ #endif #define ABS(x) (((x) < 0) ? (-x) : (x)) -#include "kernel/mempool_radix4_cfft_butterfly_q16.h" -#include "kernel/mempool_radix4_cfft_q16_bitreversal.h" -#include "kernel/mempool_radix4_cfft_q16p.h" -#include "kernel/mempool_radix4_cfft_q16s.h" +#include "mempool_radix4_cfft_butterfly_q16.h" +#include "mempool_radix4_cfft_q16_bitreversal.h" +#include "mempool_radix4_cfft_q16p.h" +#include "mempool_radix4_cfft_q16s.h" int16_t l1_pSrc[N_FFTs_ROW * 8 * N_BANKS] __attribute__((aligned(4 * N_BANKS), section(".l1_prio"))); diff --git a/software/apps/chest_q16/main.c b/software/apps/chest_q16/main.c index ae945a6f8..b92179706 100644 --- a/software/apps/chest_q16/main.c +++ b/software/apps/chest_q16/main.c @@ -8,16 +8,16 @@ #include #include +#include "builtins_v2.h" #include "encoding.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/builtins_v2.h" -#include "data/data_chest_q16.h" +#include "data_chest_q16.h" -#include "kernel/chest_q16p.h" -#include "kernel/chest_q16s.h" +#include "mempool_chest_q16p.h" +#include "mempool_chest_q16s.h" //#define SINGLE #define PARALLEL diff --git a/software/apps/cholesky_q32/main.c b/software/apps/cholesky_q32/main.c index a969d3887..161ca2c2c 100644 --- a/software/apps/cholesky_q32/main.c +++ b/software/apps/cholesky_q32/main.c @@ -41,11 +41,11 @@ int32_t In[N_BANKS] __attribute__((aligned(N_BANKS), section(".l1"))); #endif #include "initialization.h" -#include "kernel/mempool_cholesky_q32s.h" -#include "kernel/mempool_linearsolver_q32s.h" +#include "mempool_cholesky_q32s.h" +#include "mempool_linearsolver_q32s.h" -#include "kernel/mempool_cholesky_q32p.h" -#include "kernel/mempool_linearsolver_q32p.h" +#include "mempool_cholesky_q32p.h" +#include "mempool_linearsolver_q32p.h" void initialize() { diff --git a/software/apps/conv2d_i32/main.c b/software/apps/conv2d_i32/main.c index 4d37d6fcf..a0277b8ab 100644 --- a/software/apps/conv2d_i32/main.c +++ b/software/apps/conv2d_i32/main.c @@ -8,7 +8,7 @@ #include #include "encoding.h" -#include "kernel/convolution.h" +#include "mempool_conv2d_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/apps/conv2d_i8/main.c b/software/apps/conv2d_i8/main.c index 1329a0783..bd85ad6df 100644 --- a/software/apps/conv2d_i8/main.c +++ b/software/apps/conv2d_i8/main.c @@ -8,10 +8,10 @@ #include #include "encoding.h" +#include "mempool_conv2d_i8s.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/conv_2d.h" #define M 32 #define N 32 diff --git a/software/apps/dct_i32/main.c b/software/apps/dct_i32/main.c index fe26bdc74..3fb278b6e 100644 --- a/software/apps/dct_i32/main.c +++ b/software/apps/dct_i32/main.c @@ -8,7 +8,7 @@ #include #include "encoding.h" -#include "kernel/dct.h" +#include "mempool_dct_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/apps/matmul_i16/main.c b/software/apps/matmul_i16/main.c index 1382846c8..21d942679 100644 --- a/software/apps/matmul_i16/main.c +++ b/software/apps/matmul_i16/main.c @@ -8,10 +8,10 @@ #include #include "encoding.h" +#include "mempool_matmul_i16p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/mat_mul.h" // Define Matrix dimensions: // C = AB with A=[MxN], B=[NxP], C=[MxP] diff --git a/software/apps/matmul_i32/main.c b/software/apps/matmul_i32/main.c index f57aff273..b1f877eae 100644 --- a/software/apps/matmul_i32/main.c +++ b/software/apps/matmul_i32/main.c @@ -8,10 +8,10 @@ #include #include "encoding.h" +#include "mempool_matmul_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/mat_mul.h" // Define Matrix dimensions: // C = AB with A=[MxN], B=[NxP], C=[MxP] diff --git a/software/apps/matmul_i8/main.c b/software/apps/matmul_i8/main.c index f51d471e5..ad9f5f324 100644 --- a/software/apps/matmul_i8/main.c +++ b/software/apps/matmul_i8/main.c @@ -8,10 +8,10 @@ #include #include "encoding.h" +#include "mempool_matmul_i8p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" -#include "xpulp/mat_mul.h" // Define Matrix dimensions: // C = AB with A=[MxN], B=[NxP], C=[MxP] diff --git a/software/apps/matrix_mul/main.c b/software/apps/matrix_mul/main.c index 5da0d8cd4..a29791ee0 100644 --- a/software/apps/matrix_mul/main.c +++ b/software/apps/matrix_mul/main.c @@ -8,7 +8,7 @@ #include #include "encoding.h" -#include "kernel/mat_mul.h" +#include "mempool_matmul_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/apps/synth_i32/main.c b/software/apps/synth_i32/main.c index 9966fffb0..54416bb57 100644 --- a/software/apps/synth_i32/main.c +++ b/software/apps/synth_i32/main.c @@ -9,7 +9,7 @@ #include #include "encoding.h" -#include "kernel/synth.h" +#include "mempool_synth_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/apps/tests/main.c b/software/apps/tests/main.c index e896cfdc1..771296b1a 100644 --- a/software/apps/tests/main.c +++ b/software/apps/tests/main.c @@ -8,7 +8,7 @@ #include #include "encoding.h" -#include "kernel/mat_mul.h" +#include "mempool_matmul_i32p.h" #include "printf.h" #include "runtime.h" #include "synchronization.h" diff --git a/software/kernels/mempool_chest_q16p.h b/software/kernels/mempool_chest_q16p.h index 88caf6186..389dd9fdd 100644 --- a/software/kernels/mempool_chest_q16p.h +++ b/software/kernels/mempool_chest_q16p.h @@ -5,7 +5,7 @@ // Author: Marco Bertuletti, ETH Zurich // Includes inner loop -#include "chest_q16s.h" +#include "mempool_chest_q16s.h" /** @brief Block-type channel estimation. diff --git a/software/kernels/mempool_cholesky_q32p.h b/software/kernels/mempool_cholesky_q32p.h index 8e81da35e..cd27fa3bf 100644 --- a/software/kernels/mempool_cholesky_q32p.h +++ b/software/kernels/mempool_cholesky_q32p.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "kernel/mempool_sqrt_q32s.h" +#include "mempool_sqrt_q32s.h" /** @brief Parallel Cholesky decomposition. diff --git a/software/kernels/mempool_cholesky_q32s.h b/software/kernels/mempool_cholesky_q32s.h index 8f4f07b3e..d61be0473 100644 --- a/software/kernels/mempool_cholesky_q32s.h +++ b/software/kernels/mempool_cholesky_q32s.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "kernel/mempool_sqrt_q32s.h" +#include "mempool_sqrt_q32s.h" /** @brief Choleksy decomposition with Banachiewicz algorithm. diff --git a/software/kernels/mempool_conv2d_i8s.h b/software/kernels/mempool_conv2d_i8s.h index 9105f6610..70e9b1dd7 100644 --- a/software/kernels/mempool_conv2d_i8s.h +++ b/software/kernels/mempool_conv2d_i8s.h @@ -6,7 +6,7 @@ // Davide Schiavone, ETH Zurich // Sergio Mazzola, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" #include #include diff --git a/software/kernels/mempool_linearsolver_q32p.h b/software/kernels/mempool_linearsolver_q32p.h index 74d6e84de..38a971bb5 100644 --- a/software/kernels/mempool_linearsolver_q32p.h +++ b/software/kernels/mempool_linearsolver_q32p.h @@ -24,7 +24,7 @@ increase the utilization of the cores operating on multiple problems. RIGHT */ -#include "kernel/mempool_sqrt_q32s.h" +#include "mempool_sqrt_q32s.h" /** @brief First step of Cholesky. diff --git a/software/kernels/mempool_linearsolver_q32s.h b/software/kernels/mempool_linearsolver_q32s.h index e0ed3c7e5..e0b894f66 100644 --- a/software/kernels/mempool_linearsolver_q32s.h +++ b/software/kernels/mempool_linearsolver_q32s.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "kernel/mempool_sqrt_q32s.h" +#include "mempool_sqrt_q32s.h" /** @brief Solution of a lower triangular system Lx=y. diff --git a/software/kernels/mempool_matmul_i16p.h b/software/kernels/mempool_matmul_i16p.h index 1f024169e..08137bf30 100644 --- a/software/kernels/mempool_matmul_i16p.h +++ b/software/kernels/mempool_matmul_i16p.h @@ -5,7 +5,7 @@ // Author: Samuel Riedel, ETH Zurich // Sergio Mazzola, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" /* This library implements the matrix multiplication for several data widths * in Zmultiple different ways. The functions all follow the following format: diff --git a/software/kernels/mempool_matmul_i8p.h b/software/kernels/mempool_matmul_i8p.h index 36d785b34..a7e23e3b9 100644 --- a/software/kernels/mempool_matmul_i8p.h +++ b/software/kernels/mempool_matmul_i8p.h @@ -5,7 +5,7 @@ // Author: Samuel Riedel, ETH Zurich // Sergio Mazzola, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" /* This library implements the matrix multiplication for several data widths * in Zmultiple different ways. The functions all follow the following format: diff --git a/software/kernels/mempool_matmul_i8s.h b/software/kernels/mempool_matmul_i8s.h index 477ea5ba4..74abfa95f 100644 --- a/software/kernels/mempool_matmul_i8s.h +++ b/software/kernels/mempool_matmul_i8s.h @@ -5,7 +5,7 @@ // Author: Samuel Riedel, ETH Zurich // Sergio Mazzola, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" /* This library implements the matrix multiplication for several data widths * in Zmultiple different ways. The functions all follow the following format: diff --git a/software/kernels/mempool_radix2_cfft_q16p.h b/software/kernels/mempool_radix2_cfft_q16p.h index 52a693773..bc013a26a 100644 --- a/software/kernels/mempool_radix2_cfft_q16p.h +++ b/software/kernels/mempool_radix2_cfft_q16p.h @@ -5,7 +5,7 @@ // Author: Marco Bertuletti, ETH Zurich #define MIN(x, y) (((x) < (y)) ? (x) : (y)) -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" void mempool_radix2_cfft_q16p(uint16_t fftLen, int16_t *pTwiddle, uint16_t *pBitRevTable, int16_t *pSrc, diff --git a/software/kernels/mempool_radix2_cfft_q16s.h b/software/kernels/mempool_radix2_cfft_q16s.h index db4253b96..fe85fa228 100644 --- a/software/kernels/mempool_radix2_cfft_q16s.h +++ b/software/kernels/mempool_radix2_cfft_q16s.h @@ -5,7 +5,7 @@ // Author: Marco Bertuletti, ETH Zurich #define MIN(x, y) (((x) < (y)) ? (x) : (y)) -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" void mempool_radix2_cfft_q16s(uint16_t fftLen, int16_t *pTwiddle, uint16_t *pBitRevTable, int16_t *pSrc, diff --git a/software/kernels/mempool_radix4_cfft_butterfly_q16.h b/software/kernels/mempool_radix4_cfft_butterfly_q16.h index 725908b71..38e388786 100644 --- a/software/kernels/mempool_radix4_cfft_butterfly_q16.h +++ b/software/kernels/mempool_radix4_cfft_butterfly_q16.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" /** @brief First butterfly stage. diff --git a/software/kernels/mempool_radix4_cfft_q16p.h b/software/kernels/mempool_radix4_cfft_q16p.h index 34f338ce8..8d326394f 100644 --- a/software/kernels/mempool_radix4_cfft_q16p.h +++ b/software/kernels/mempool_radix4_cfft_q16p.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" #define MIN(x, y) (((x) < (y)) ? (x) : (y)) #ifndef ASM diff --git a/software/kernels/mempool_radix4_cfft_q16s.h b/software/kernels/mempool_radix4_cfft_q16s.h index d795cc40c..72d52216f 100644 --- a/software/kernels/mempool_radix4_cfft_q16s.h +++ b/software/kernels/mempool_radix4_cfft_q16s.h @@ -4,7 +4,7 @@ // Author: Marco Bertuletti, ETH Zurich -#include "xpulp/builtins_v2.h" +#include "builtins_v2.h" void mempool_radix4_cfft_q16s_riscv32(int16_t *pIn, uint32_t fftLen, int16_t *pCoef16, diff --git a/software/runtime/runtime.mk b/software/runtime/runtime.mk index 999846f04..05606572f 100644 --- a/software/runtime/runtime.mk +++ b/software/runtime/runtime.mk @@ -21,6 +21,8 @@ HALIDE_INSTALL_DIR ?= $(INSTALL_DIR)/halide HALIDE_INCLUDE ?= $(HALIDE_INSTALL_DIR)/include HALIDE_LIB ?= $(HALIDE_INSTALL_DIR)/lib OMP_DIR ?= $(ROOT_DIR)/omp +KERNELS_DIR ?= $(abspath $(ROOT_DIR)/../kernels) +DATA_DIR ?= $(abspath $(ROOT_DIR)/../data) COMPILER ?= gcc XPULPIMG ?= $(xpulpimg) @@ -90,7 +92,7 @@ endif RISCV_LLVM_TARGET ?= --target=$(RISCV_TARGET) --sysroot=$(GCC_INSTALL_DIR)/$(RISCV_TARGET) --gcc-toolchain=$(GCC_INSTALL_DIR) RISCV_WARNINGS += -Wunused-variable -Wconversion -Wall -Wextra # -Werror -RISCV_FLAGS_COMMON_TESTS ?= -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) -I$(ROOT_DIR) -I$(HALIDE_INCLUDE) -static +RISCV_FLAGS_COMMON_TESTS ?= -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) -I$(ROOT_DIR) -I$(KERNELS_DIR) -I$(DATA_DIR) -I$(HALIDE_INCLUDE) -static RISCV_FLAGS_COMMON ?= $(RISCV_FLAGS_COMMON_TESTS) -g -std=gnu99 -O3 -fno-builtin-memcpy -fno-builtin-memset -ffast-math -fno-common -fno-builtin-printf $(DEFINES) $(RISCV_WARNINGS) RISCV_FLAGS_GCC ?= -mcmodel=medany -Wa,-march=$(RISCV_ARCH_AS) -mtune=mempool -fno-tree-loop-distribute-patterns # -falign-loops=32 -falign-jumps=32 RISCV_FLAGS_LLVM ?= -mcmodel=small -mcpu=mempool-rv32 -mllvm -misched-topdown