Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions .github/workflows/cmake-linux-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,28 @@ jobs:
matrix: #host,cuda,cuda_version
include:
- host_compiler: "g++-13"
cuda_toolkit: "13.3"
cuda_version: "13.3"
opencv_version: "opencv-4.14.0-cuda133"
- host_compiler: "clang++-21"
cuda_toolkit: "13.3"
cuda_version: "13.3"
opencv_version: "opencv-4.14.0-cuda133"

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
run: |
echo "build-output-dir=${{github.workspace}}/build" >> "$GITHUB_OUTPUT"

echo "PATH=$HOME/cmake-4.4.0-linux-x86_64/bin/:$PATH" >> "$GITHUB_ENV"
echo CUDACXX="/usr/local/cuda-${{matrix.cuda_version}}/bin/nvcc" >> "$GITHUB_ENV"
echo CC="${{matrix.host_compiler}}" >> "$GITHUB_ENV"
echo CXX="${{matrix.host_compiler}}">> "$GITHUB_ENV"

- name: Configure CMake
run: |
export PATH=/home/cudeiro/cmake-4.2.1-linux-x86_64/bin:/usr/lib/llvm-21/bin/:$PATH
export CUDACXX="/usr/local/cuda-${{matrix.cuda_version}}/bin/nvcc"
export CC="${{matrix.host_compiler}}"
export CXX="${{matrix.host_compiler}}"
run: |
cmake -G "Ninja" -B ${{steps.strings.outputs.build-output-dir}} -DOPENCV_DIR="/usr/local/${{matrix.opencv_version}}" -DCMAKE_BUILD_TYPE="Release" -S ${{github.workspace}}

- name: Build
Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/cmake-linux-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,31 @@ jobs:
matrix: #host,cuda,cuda_version
include:
- host_compiler: "g++-13"
cuda_toolkit: "13.3"
cuda_version: "13.3"
opencv_version: "opencv-4.14.0-cuda133"
- host_compiler: "clang++-21"
cuda_toolkit: "13.3"

cuda_version: "13.3"
opencv_version: "opencv-4.14.0-cuda133"
#
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: recursive

- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
run: |
echo "build-output-dir=${{github.workspace}}/build" >> "$GITHUB_OUTPUT"

echo "build-output-dir=${{github.workspace}}/build" >> "$GITHUB_OUTPUT"
echo "PATH=$HOME/cmake-4.4.0-linux-aarch64/bin/:$PATH" >> "$GITHUB_ENV"
echo CUDACXX="/usr/local/cuda-${{matrix.cuda_version}}/bin/nvcc" >> "$GITHUB_ENV"
echo CC="${{matrix.host_compiler}}" >> "$GITHUB_ENV"
echo CXX="${{matrix.host_compiler}}">> "$GITHUB_ENV"



- name: Configure CMake
run: |
export PATH=/home/cudeiro/cmake-4.2.1-linux-aarch64/bin:/usr/lib/llvm-21/bin/:$PATH
export CUDACXX="/usr/local/cuda-${{matrix.cuda_version}}/bin/nvcc"
export CC="${{matrix.host_compiler}}"
export CXX="${{matrix.host_compiler}}"
cmake -G "Ninja" -B ${{steps.strings.outputs.build-output-dir}} -DCMAKE_BUILD_TYPE="Release" -S ${{github.workspace}}

- name: Build
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/cmake-windows-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,20 @@ jobs:
- host_compiler: "cl"
msvc_env_version: "14.44"
cuda_version: "13.0"
opencv_version: "opencv-4.14.0.cuda13.0.msvc1444"

- host_compiler: "cl"
msvc_env_version: "14.51"
cuda_version: "13.3"
cuda_version: "13.3"
opencv_version: "opencv-4.14.0.cuda13.3.msvc1451"

- host_compiler: "clang-cl"
msvc_env_version: "14.51"
cuda_version: "13.3"
opencv_version: "opencv-4.14.0.cuda13.3.msvc1451"

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: recursive

Expand Down
2 changes: 1 addition & 1 deletion fkl
Submodule fkl updated from 98acf9 to 89d428
41 changes: 30 additions & 11 deletions tests/batchread/test_circularbatchread_x_write3D.cu
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,10 @@
#include <fused_kernel/core/data/ptr_utils.h>
#include <cvGPUSpeedup.cuh>

template <int IT, int OT>
template <uint WIDTH, uint HEIGHT, uint BATCH, int ITERS, int IT, int OT>
bool testCircularTensorcvGS() {
using TensorOT = typename fk::VectorTraits<CUDA_T(OT)>::base;
constexpr uint BATCH = 15;
constexpr uint WIDTH =128;
constexpr uint HEIGHT = 128;
constexpr uint COLOR_PLANES = CV_MAT_CN(IT);
constexpr int ITERS = 100;

cvGS::CircularTensor<IT, CV_MAT_DEPTH(OT), COLOR_PLANES, BATCH, fk::CircularTensorOrder::NewestFirst> myTensor(WIDTH, HEIGHT);
fk::Tensor<TensorOT> h_myTensor(WIDTH, HEIGHT, BATCH, COLOR_PLANES, fk::MemType::HostPinned);
Expand Down Expand Up @@ -263,14 +259,37 @@ bool testOldestFirstCircularTensorcvGS_noSplit() {
return correct;
}

int launch() {
int returnValue = 0;
if (testCircularTensorcvGS<CV_8UC3, CV_32FC3>()) {
std::cout << "testCircularTensorcvGS<CV_8UC3, CV_32FC3> OK" << std::endl;
template <uint WIDTH, uint HEIGHT, uint BATCH, int ITERS, int IT, int OT>
bool launchTestCircularTensorcvGS() {
if (testCircularTensorcvGS<WIDTH, HEIGHT, BATCH, ITERS, IT, OT>()) {
std::cout << "testCircularTensorcvGS<" << WIDTH << ", " << HEIGHT << ", " << BATCH << ", " << ITERS << ", " << IT << ", " << OT << "> OK" << std::endl;
return true;
} else {
std::cout << "testCircularTensorcvGS<CV_8UC3, CV_32FC3> Failed!" << std::endl;
returnValue = -1;
std::cout << "testCircularTensorcvGS<" << WIDTH << ", " << HEIGHT << ", " << BATCH << ", " << ITERS << ", " << IT << ", " << OT << "> Failed!" << std::endl;
return false;
}
}

int launch() {
int returnValue = 0;

bool correct{true};
correct &= launchTestCircularTensorcvGS<128, 128, 2, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 3, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 4, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 5, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 6, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 7, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 8, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 9, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 10, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 11, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 12, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 13, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 14, 100, CV_8UC3, CV_32FC3>();
correct &= launchTestCircularTensorcvGS<128, 128, 15, 100, CV_8UC3, CV_32FC3>();
returnValue = correct ? returnValue : -1;

if (testTransposedCircularTensorcvGS<CV_8UC3, CV_32FC3>()) {
std::cout << "testTransposedCircularTensorcvGS<CV_8UC3, CV_32FC3> OK" << std::endl;
} else {
Expand Down
Loading