From 3b435afde486a88c1a0388af95bde274b35672b4 Mon Sep 17 00:00:00 2001 From: Maksim Levental Date: Wed, 21 Aug 2024 19:56:01 -0500 Subject: [PATCH] add E2E Test windows --- .github/workflows/ci-windows.yml | 42 ++++++++++++++++++- .../AMD-AIE/iree-amd-aie/Target/XCLBinGen.cpp | 8 ++-- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml index bf2ff55da..3ae6270ac 100644 --- a/.github/workflows/ci-windows.yml +++ b/.github/workflows/ci-windows.yml @@ -51,7 +51,7 @@ jobs: - name: Setup Cpp uses: aminya/setup-cpp@v1 with: - compiler: msvc + compiler: llvm vcvarsall: true cmake: true ninja: true @@ -104,3 +104,43 @@ jobs: with: path: ${{ env.CACHE_DIR }} key: windows-build-test-cpp-asserts-v1-${{ github.sha }}-${{ github.event.repository.updated_at }} + + test_windows: + name: E2E Test windows + runs-on: mlevental-win11-pro + needs: build_and_ctest + strategy: + fail-fast: true + env: + XILINXD_LICENSE_FILE: /home/svcnod/Xilinx.lic + steps: + - name: "Checking out repository" # for test scripts + uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 + with: + submodules: false # not required for testbench + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: windows_x86_64_release_packages + + - name: Extract artifact + run: | + mkdir iree-install + tar -xf iree-dist-windows.tar -C iree-install + bash build_tools/download_peano.sh + + - name: Create venv and install dependencies + run: | + python -m venv .venv + source .venv/Scripts/activate + pip install -r tests/matmul/requirements.txt + + - name : E2E comparison of AIE to llvm-cpu + run: | + source .venv/Scripts/activate + pythonmparison/run_test.py \ + /c/test_aie_vs_cpu \ + iree-install \ + $PWD/llvm-aie \ + /c/Users/maksim/dev_projects/XRT-MCDM/build/WDebug/xilinx/xrt diff --git a/compiler/plugins/target/AMD-AIE/iree-amd-aie/Target/XCLBinGen.cpp b/compiler/plugins/target/AMD-AIE/iree-amd-aie/Target/XCLBinGen.cpp index 8bd202708..4e0ecf3a5 100644 --- a/compiler/plugins/target/AMD-AIE/iree-amd-aie/Target/XCLBinGen.cpp +++ b/compiler/plugins/target/AMD-AIE/iree-amd-aie/Target/XCLBinGen.cpp @@ -11,6 +11,8 @@ #include #include #include +// ReSharper disable once CppUnusedIncludeDirective +#include #include #include "AMDAIETargets.h" @@ -317,7 +319,7 @@ LogicalResult runTool( program = program_ + ".exe"; } #else - program = programs_; + program = program_; #endif // _WIN32 if (verbose) { llvm::outs() << "\nRun: "; @@ -369,7 +371,7 @@ LogicalResult runTool( std::string errMsg; sys::ProcessStatistics stats; std::optional optStats(stats); - int result = sys::ExecuteAndWait(program, pArgs, std::nullopt, + int result = sys::ExecuteAndWait(program, pArgs, envSmallVec, /* redirects */ redirects, /*SecondsToWait*/ 10, /*MemoryLimit*/ 0, &errMsg, &executionFailed, &optStats); @@ -1091,7 +1093,7 @@ static LogicalResult generateUnifiedObject( } llvm::LLVMContext llvmContext; - auto llvmModule = translateModuleToLLVMIR(moduleOpcopy, llvmContext); + auto llvmModule = translateModuleToLLVMIR(moduleOpCopy, llvmContext); if (!llvmModule) { llvm::errs() << "Failed to translate module to LLVMIR"; return failure();