diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 69e03b5a..e06fea16 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # 1) Build HTML from Sphinx - name: Build HTML diff --git a/.github/workflows/compile_driver.yaml b/.github/workflows/compile_driver.yaml index f78d8033..c4ac0c5a 100644 --- a/.github/workflows/compile_driver.yaml +++ b/.github/workflows/compile_driver.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # We do some additional logging, just so that we can back-trace the Linux / Ubuntu version - name: Compile driver diff --git a/.github/workflows/compile_software.yaml b/.github/workflows/compile_software.yaml new file mode 100644 index 00000000..0f0f3666 --- /dev/null +++ b/.github/workflows/compile_software.yaml @@ -0,0 +1,147 @@ +# A work-flow for compiling the Coyote software examples; for now, we are testing on Ubuntu 20.04 +# This checks no extreme breaking changes were done in the examples & software, i.e. at least it compiles +name: Compile software + +# Run on every push, makes dev and PR reviews easier +on: push + +jobs: + compile-kmeans: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile kmeans + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=kmeans -DVERBOSITY=ON && make + + compile-multi-threading: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile multi-threading + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=multithreading -DVERBOSITY=ON && make + + compile-perf-fpga: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile perf FPGA + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=perf_fpga -DVERBOSITY=ON && make + + compile-perf-local: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile perf local + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=perf_local -DVERBOSITY=ON && make + + compile-reconfigure-shell: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile reconfigure shell + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=reconfigure_shell -DVERBOSITY=ON && make + + compile-streaming-client: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile streaming client + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=streaming_client -DVERBOSITY=ON && make + + compile-streaming-server: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile streaming server + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=streaming_server -DVERBOSITY=ON && make + + compile-tcp-benchmark: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile TCP benchmark + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=tcp_iperf -DVERBOSITY=ON && make + + compile-rdma-client: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile RDMA client + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=rdma_client -DVERBOSITY=ON && make + + compile-rdma-server: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Environment set-up + run: + mkdir examples_sw/build && sudo apt-get install libboost-all-dev + + - name: Compile RDMA server + run: + cd examples_sw/build && cmake ../ -DEXAMPLE=rdma_server -DVERBOSITY=ON && make \ No newline at end of file diff --git a/cmake/FindCoyoteHW.cmake b/cmake/FindCoyoteHW.cmake index bafd9f2e..9328c1c0 100644 --- a/cmake/FindCoyoteHW.cmake +++ b/cmake/FindCoyoteHW.cmake @@ -1,7 +1,7 @@ # # Coyote HW package # -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) #project(CoyoteHW) set(IPREPO_DIR ${CMAKE_BINARY_DIR}/iprepo) diff --git a/cmake/FindCoyoteSW.cmake b/cmake/FindCoyoteSW.cmake index 1f9ded34..44b9d0d2 100644 --- a/cmake/FindCoyoteSW.cmake +++ b/cmake/FindCoyoteSW.cmake @@ -1,7 +1,7 @@ # # Coyote SW package # -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) # Config set(EN_AVX "1" CACHE STRING "AVX enabled.") diff --git a/cmake/FindVivado.cmake b/cmake/FindVivado.cmake index 1db955f6..8203e527 100644 --- a/cmake/FindVivado.cmake +++ b/cmake/FindVivado.cmake @@ -7,7 +7,7 @@ # VIVADO_FOUND # VIVADO_BINARY -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) find_path(VIVADO_PATH NAMES vivado diff --git a/cmake/FindVivadoHLS.cmake b/cmake/FindVivadoHLS.cmake index 6dc1bd44..eb69b65f 100644 --- a/cmake/FindVivadoHLS.cmake +++ b/cmake/FindVivadoHLS.cmake @@ -8,7 +8,7 @@ # VIVADO_HLS_BINARY # VIVADO_HLS_INCLUDE_DIRS -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) find_path(VIVADO_HLS_PATH NAMES vivado_hls vitis_hls diff --git a/examples_sw/CMakeLists.txt b/examples_sw/CMakeLists.txt index a3fc635f..59ea140f 100644 --- a/examples_sw/CMakeLists.txt +++ b/examples_sw/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) project(test) set(CYT_DIR ${CMAKE_SOURCE_DIR}/../) @@ -57,11 +57,13 @@ endif() if(EXAMPLE STREQUAL "streaming_server") set(TARGET_DIR "${CYT_DIR}/examples_sw/apps/streaming_service/server") message("** Example: Streaming service - Server (Coyote daemon)") + include_directories(${TARGET_DIR}/../include ${TARGET_DIR}/include) endif() if(EXAMPLE STREQUAL "streaming_client") set(TARGET_DIR "${CYT_DIR}/examples_sw/apps/streaming_service/client") message("** Example: Streaming service - Client") + include_directories(${TARGET_DIR}/../include) endif() if(EXAMPLE STREQUAL "multithreading") @@ -73,6 +75,7 @@ endif() if(EXAMPLE STREQUAL "kmeans") set(TARGET_DIR "${CYT_DIR}/examples_sw/apps/kmeans") message("** Example: K-Means kernel - Unified memory") + include_directories(${TARGET_DIR}/include) endif() # Network - RDMA @@ -99,6 +102,9 @@ endif() # set(EXEC test) add_executable(${EXEC} ${TARGET_DIR}/main.cpp) +if(EXAMPLE STREQUAL "kmeans") + add_executable(kmeans_utils ${TARGET_DIR}/utils.cpp) +endif() target_link_libraries(${EXEC} PUBLIC Coyote) target_link_directories(${EXEC} PUBLIC /usr/local/lib)