From b0040c22b53b9cff71b42754a69812ba2c63bfa4 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 20:43:42 +0300 Subject: [PATCH 01/22] Test precision of OpenCl build Compare Pocl code against FFTW --- .github/check.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/check.yml diff --git a/.github/check.yml b/.github/check.yml new file mode 100644 index 00000000..5a0411ab --- /dev/null +++ b/.github/check.yml @@ -0,0 +1,24 @@ +name: Build and test accuracy + +on: + push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get dependencies + run: | + sudo apt -y update + sudo apt -y install libpocl-dev libfftw3-dev cmake build-essential + - name: Build and test OpenCl + run: | + mkdir build + cd build + cmake -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON -DFFTW_LIB=/usr/lib64/libfftw3.so + make + ./Vulkan_FFT -vkfft 11 + ./Vulkan_FFT -vkfft 14 + ./Vulkan_FFT -vkfft 15 + From b2a069fc33dd8bbb3d2ebac3d7c16661b30d9b53 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 20:47:25 +0300 Subject: [PATCH 02/22] Move workflow file to correct directory --- .github/{ => workflows}/check.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/check.yml (100%) diff --git a/.github/check.yml b/.github/workflows/check.yml similarity index 100% rename from .github/check.yml rename to .github/workflows/check.yml From c348f6bf964ef6aa7f825909336d2673a17bd3fd Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 20:49:27 +0300 Subject: [PATCH 03/22] Fix path for cmake file --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 5a0411ab..905a3ace 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -16,7 +16,7 @@ jobs: run: | mkdir build cd build - cmake -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON -DFFTW_LIB=/usr/lib64/libfftw3.so + cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON -DFFTW_LIB=/usr/lib64/libfftw3.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From 0f57260a0c2839f3f1767cd2caae164bc403bf44 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:02:24 +0300 Subject: [PATCH 04/22] Add link to OpenCL library Try to get CI to work as failing because OpenCl library is not found. --- .github/workflows/check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 905a3ace..7e425f79 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -16,7 +16,8 @@ jobs: run: | mkdir build cd build - cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON -DFFTW_LIB=/usr/lib64/libfftw3.so + cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ + -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libOpenCL.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From afdf4c1512e7a3637a6c5825d13b7229d2ecdd9b Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:05:30 +0300 Subject: [PATCH 05/22] Add location of OpenCl header files --- .github/workflows/check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 7e425f79..f66cb7f0 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -17,7 +17,8 @@ jobs: mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ - -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libOpenCL.so + -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libOpenCL.so \ + -DOpenCL_INCLUDE_DIR=/usr/include make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From d79f82c6f688e575d1d01825d50dd39daa4aef10 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:14:46 +0300 Subject: [PATCH 06/22] Install OpenCl header files Add a missing additional dependency --- .github/workflows/check.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f66cb7f0..a54087f3 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,7 +11,7 @@ jobs: - name: Get dependencies run: | sudo apt -y update - sudo apt -y install libpocl-dev libfftw3-dev cmake build-essential + sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers - name: Build and test OpenCl run: | mkdir build @@ -23,4 +23,3 @@ jobs: ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 ./Vulkan_FFT -vkfft 15 - From d9f131e4f3186cf260eba58a0c7b10a0ba83d404 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:28:57 +0300 Subject: [PATCH 07/22] Directly link to libpocl libopencl is not installed --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a54087f3..e8ade471 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -17,7 +17,7 @@ jobs: mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ - -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libOpenCL.so \ + -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libpocl.so \ -DOpenCL_INCLUDE_DIR=/usr/include make ./Vulkan_FFT -vkfft 11 From 4ada8e59acc6072fc99490bbfbfa1fef502a22e0 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:40:36 +0300 Subject: [PATCH 08/22] Try Clang OpenCl --- .github/workflows/check.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e8ade471..6e414e3e 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,14 +11,14 @@ jobs: - name: Get dependencies run: | sudo apt -y update - sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers + sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ + libopencl-clang-dev - name: Build and test OpenCl run: | mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ - -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_LIBRARY=/usr/lib64/libpocl.so \ - -DOpenCL_INCLUDE_DIR=/usr/include + -DFFTW_LIB=/usr/lib64/libfftw3.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From d470c50baa0b12d5b8ac550f79e20c7438d59ed6 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:50:32 +0300 Subject: [PATCH 09/22] Add link to libopencl --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 6e414e3e..c4d92fc2 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -18,7 +18,7 @@ jobs: mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ - -DFFTW_LIB=/usr/lib64/libfftw3.so + -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_Library=/usr/lib64/libopencl.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From 0be9532cd66e0c88563c365287cb6d4617450400 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:52:54 +0300 Subject: [PATCH 10/22] Check for opencl and libraries --- .github/workflows/check.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c4d92fc2..dfe6b516 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,6 +13,8 @@ jobs: sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ libopencl-clang-dev + ls /usr/lib64 | grep pocl + ls /usr/lib64 | grep opencl - name: Build and test OpenCl run: | mkdir build From c14416220e13b5f97492fcda0b6fa186c0c7f260 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 21:56:29 +0300 Subject: [PATCH 11/22] Update listing of libraries --- .github/workflows/check.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index dfe6b516..e99d81e7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,8 +13,7 @@ jobs: sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ libopencl-clang-dev - ls /usr/lib64 | grep pocl - ls /usr/lib64 | grep opencl + ls /usr/lib64 - name: Build and test OpenCl run: | mkdir build From a8c5803f1bce2096a1d0fba0f9016f9b157bd805 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:09:32 +0300 Subject: [PATCH 12/22] List locations of installed package --- .github/workflows/check.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e99d81e7..292bc778 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,7 +13,10 @@ jobs: sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ libopencl-clang-dev - ls /usr/lib64 + ls /usr/lib + dpkg -L libfftw3-dev + dpkg -L libpocl-dev + dpkg -L libopencl-clang-dev - name: Build and test OpenCl run: | mkdir build From 675e727590a80187dbb34b1497151d4401e44231 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:13:50 +0300 Subject: [PATCH 13/22] Update locations of linked libraries --- .github/workflows/check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 292bc778..f61a8fca 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -22,7 +22,8 @@ jobs: mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ - -DFFTW_LIB=/usr/lib64/libfftw3.so -DOpenCL_Library=/usr/lib64/libopencl.so + -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ + -DOpenCL_Library=/usr/lib/x86_64-linux-gnu/libpocl.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From b564427ca362623d13f27f5b429805ae4f295607 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:17:35 +0300 Subject: [PATCH 14/22] Try linking to Clang OpenCl --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f61a8fca..c21d7f50 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -23,7 +23,7 @@ jobs: cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_Library=/usr/lib/x86_64-linux-gnu/libpocl.so + -DOpenCL_Library= /usr/lib/libopencl-clang.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From cd2804ba8bb50d5f6c5fe30c20f22f787363da67 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:19:23 +0300 Subject: [PATCH 15/22] Typo fix in path --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c21d7f50..2cbf9b2b 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -23,7 +23,7 @@ jobs: cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_Library= /usr/lib/libopencl-clang.so + -DOpenCL_Library=/usr/lib/libopencl-clang.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From 11e44347d19202712726baf3639bfa2167250297 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:28:50 +0300 Subject: [PATCH 16/22] Add additional opencl packages --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 2cbf9b2b..824e0801 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,7 +12,7 @@ jobs: run: | sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ - libopencl-clang-dev + libopencl-clang-dev ocl-icd-dev ocl-icd-libopencl1 ls /usr/lib dpkg -L libfftw3-dev dpkg -L libpocl-dev From 924169f913848ccf58fa89f6996a5ed56e5c3644 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:32:53 +0300 Subject: [PATCH 17/22] Update cmake configuration name --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 824e0801..dcadee89 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -23,7 +23,7 @@ jobs: cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_Library=/usr/lib/libopencl-clang.so + -DOpenCL_LIBRARY=/usr/lib/libopencl-clang.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From 7edc86335a6a485d32a99c73e3ff2e2795d45970 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 22:49:06 +0300 Subject: [PATCH 18/22] Try linking to pocl --- .github/workflows/check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index dcadee89..9dec4e92 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -17,13 +17,14 @@ jobs: dpkg -L libfftw3-dev dpkg -L libpocl-dev dpkg -L libopencl-clang-dev + dpkg -L ocl-icd-libopencl1 - name: Build and test OpenCl run: | mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_LIBRARY=/usr/lib/libopencl-clang.so + -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libpocl.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From ab3496b00cf9f62b436e1d14df4a30cd5ae73af3 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 23:11:09 +0300 Subject: [PATCH 19/22] Update OpenCl packages --- .github/workflows/check.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 9dec4e92..e85966b5 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,12 +12,11 @@ jobs: run: | sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ - libopencl-clang-dev ocl-icd-dev ocl-icd-libopencl1 + pocl-opencl-icd ls /usr/lib dpkg -L libfftw3-dev dpkg -L libpocl-dev - dpkg -L libopencl-clang-dev - dpkg -L ocl-icd-libopencl1 + dpkg -L pocl-opencl-icd - name: Build and test OpenCl run: | mkdir build From 06f408be2c45ab561e22adb16225b3d6cd6e183c Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 23:28:35 +0300 Subject: [PATCH 20/22] Try linking to libopencl instead of libpocl --- .github/workflows/check.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e85966b5..67039a52 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,18 +12,19 @@ jobs: run: | sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ - pocl-opencl-icd + pocl-opencl-icd ocl-icd-opencl-dev ls /usr/lib dpkg -L libfftw3-dev dpkg -L libpocl-dev dpkg -L pocl-opencl-icd + dpkg -L ocl-icd-opencl-dev - name: Build and test OpenCl run: | mkdir build cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libpocl.so + -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libopencl.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From 4c65ed7ff26c9eb5ff850adeea3ebf085f1f8733 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 22 Oct 2022 23:40:44 +0300 Subject: [PATCH 21/22] Fix libray capitalization --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 67039a52..fc1bce51 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -24,7 +24,7 @@ jobs: cd build cmake .. -DVKFFT_BACKEND=3 -Dbuild_VkFFT_FFTW_precision=ON \ -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ - -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libopencl.so + -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libOpenCL.so make ./Vulkan_FFT -vkfft 11 ./Vulkan_FFT -vkfft 14 From a8d7dc310926b858edef7b4bee50d57d06c76b3a Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sun, 23 Oct 2022 00:04:21 +0300 Subject: [PATCH 22/22] Check help, run smoke test --- .github/workflows/check.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index fc1bce51..ea775a4d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,11 +13,6 @@ jobs: sudo apt -y update sudo apt -y install build-essential cmake libfftw3-dev libpocl-dev opencl-headers \ pocl-opencl-icd ocl-icd-opencl-dev - ls /usr/lib - dpkg -L libfftw3-dev - dpkg -L libpocl-dev - dpkg -L pocl-opencl-icd - dpkg -L ocl-icd-opencl-dev - name: Build and test OpenCl run: | mkdir build @@ -26,6 +21,8 @@ jobs: -DFFTW_LIB=/usr/lib/x86_64-linux-gnu/libfftw3.so \ -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libOpenCL.so make - ./Vulkan_FFT -vkfft 11 - ./Vulkan_FFT -vkfft 14 - ./Vulkan_FFT -vkfft 15 + ./Vulkan_FFT -h + ./Vulkan_FFT -benchmark_vkfft -X 256 + #./Vulkan_FFT -vkfft 11 + #./Vulkan_FFT -vkfft 14 + #./Vulkan_FFT -vkfft 15