Skip to content

Commit e4938c1

Browse files
author
Anudeep Kambapu
authored
Merge pull request #66 from oneapi-src/cudasift/code_updates
[Cudasift][SYCL][HIP][CUDA] Input file validation
2 parents 7e440b7 + f0fbef8 commit e4938c1

File tree

4 files changed

+73
-16
lines changed

4 files changed

+73
-16
lines changed

cudaSift/CUDA/mainSift.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
// SPDX-License-Identifier: MIT
2727

2828
#include <iostream>
29+
#include <filesystem>
2930
#include <cmath>
3031
#include <iomanip>
3132
#include <cuda.h>
@@ -74,18 +75,36 @@ int main(int argc, char **argv)
7475
{
7576
// Read images using OpenCV
7677
cv::Mat limg, rimg;
77-
auto ioRead_start = std::chrono::steady_clock::now();
78+
std::string inp_file_1, inp_file_2;
7879
if (imgSet)
7980
{
80-
cv::imread("../../inputData/left.pgm", 0).convertTo(limg, CV_32FC1);
81-
cv::imread("../../inputData/righ.pgm", 0).convertTo(rimg, CV_32FC1);
81+
inp_file_1 = "../../inputData/left.pgm";
82+
inp_file_2 = "../../inputData/righ.pgm";
8283
}
8384
else
8485
{
85-
cv::imread("../../inputData/img1.png", 0).convertTo(limg, CV_32FC1);
86-
cv::imread("../../inputData/img2.png", 0).convertTo(rimg, CV_32FC1);
86+
inp_file_1 = "../../inputData/img1.png";
87+
inp_file_2 = "../../inputData/img2.png";
88+
}
89+
90+
if (!std::filesystem::exists(inp_file_1))
91+
{
92+
std::cout << "Input file 1 does not exist: " << inp_file_1 << std::endl;
93+
return -1;
94+
}
95+
else if (!std::filesystem::exists(inp_file_2))
96+
{
97+
std::cout << "Input file 2 does not exist: " << inp_file_2 << std::endl;
98+
return -1;
8799
}
100+
101+
auto ioRead_start = std::chrono::steady_clock::now();
102+
103+
cv::imread(inp_file_1, 0).convertTo(limg, CV_32FC1);
104+
cv::imread(inp_file_2, 0).convertTo(rimg, CV_32FC1);
105+
88106
auto ioRead_stop = std::chrono::steady_clock::now();
107+
89108
ioReadTime = std::chrono::duration<float, std::micro>(ioRead_stop - ioRead_start).count();
90109

91110
unsigned int w = limg.cols;

cudaSift/HIP/mainSift.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
// SPDX-License-Identifier: MIT
2727

2828
#include <iostream>
29+
#include <filesystem>
2930
#include <cmath>
3031
#include <iomanip>
3132
#include <hip/hip_runtime.h>
@@ -74,18 +75,36 @@ int main(int argc, char **argv)
7475

7576
// Read images using OpenCV
7677
cv::Mat limg, rimg;
77-
auto ioRead_start = std::chrono::steady_clock::now();
78+
std::string inp_file_1, inp_file_2;
7879
if (imgSet)
7980
{
80-
cv::imread("../../inputData/left.pgm", 0).convertTo(limg, CV_32FC1);
81-
cv::imread("../../inputData/righ.pgm", 0).convertTo(rimg, CV_32FC1);
81+
inp_file_1 = "../../inputData/left.pgm";
82+
inp_file_2 = "../../inputData/righ.pgm";
8283
}
8384
else
8485
{
85-
cv::imread("../../inputData/img1.png", 0).convertTo(limg, CV_32FC1);
86-
cv::imread("../../inputData/img2.png", 0).convertTo(rimg, CV_32FC1);
86+
inp_file_1 = "../../inputData/img1.png";
87+
inp_file_2 = "../../inputData/img2.png";
88+
}
89+
90+
if (!std::filesystem::exists(inp_file_1))
91+
{
92+
std::cout << "Input file 1 does not exist: " << inp_file_1 << std::endl;
93+
return -1;
94+
}
95+
else if (!std::filesystem::exists(inp_file_2))
96+
{
97+
std::cout << "Input file 2 does not exist: " << inp_file_2 << std::endl;
98+
return -1;
8799
}
100+
101+
auto ioRead_start = std::chrono::steady_clock::now();
102+
103+
cv::imread(inp_file_1, 0).convertTo(limg, CV_32FC1);
104+
cv::imread(inp_file_2, 0).convertTo(rimg, CV_32FC1);
105+
88106
auto ioRead_stop = std::chrono::steady_clock::now();
107+
89108
ioReadTime = std::chrono::duration<float, std::micro>(ioRead_stop - ioRead_start).count();
90109

91110
unsigned int w = limg.cols;

cudaSift/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ make -sj
6565
mkdir build && cd build
6666

6767
CXX=hipcc cmake ../ -DROCM_PATH=/path/to/rocm
68-
For e.g CXX=hipcc cmake ../ -DROCM_PATH/opt/rocm-5.4.3
68+
For e.g CXX=hipcc cmake ../ -DROCM_PATH=/opt/rocm-5.4.3
6969

7070
make -sj
7171

cudaSift/SYCL/mainSift.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
#include <sycl/sycl.hpp>
2929
#include <iostream>
30+
#include <filesystem>
3031
#include <cmath>
3132
#include <iomanip>
3233
#include <opencv2/core/core.hpp>
@@ -87,18 +88,36 @@ int main(int argc, char **argv)
8788
{
8889
// Read images using OpenCV
8990
cv::Mat limg, rimg;
90-
auto ioRead_start = std::chrono::steady_clock::now();
91+
std::string inp_file_1, inp_file_2;
9192
if (imgSet)
9293
{
93-
cv::imread("../../inputData/left.pgm", 0).convertTo(limg, CV_32FC1);
94-
cv::imread("../../inputData/righ.pgm", 0).convertTo(rimg, CV_32FC1);
94+
inp_file_1 = "../../inputData/left.pgm";
95+
inp_file_2 = "../../inputData/righ.pgm";
9596
}
9697
else
9798
{
98-
cv::imread("../../inputData/img1.png", 0).convertTo(limg, CV_32FC1);
99-
cv::imread("../../inputData/img2.png", 0).convertTo(rimg, CV_32FC1);
99+
inp_file_1 = "../../inputData/img1.png";
100+
inp_file_2 = "../../inputData/img2.png";
101+
}
102+
103+
if (!std::filesystem::exists(inp_file_1))
104+
{
105+
std::cout << "Input file 1 does not exist: " << inp_file_1 << std::endl;
106+
return -1;
107+
}
108+
else if (!std::filesystem::exists(inp_file_2))
109+
{
110+
std::cout << "Input file 2 does not exist: " << inp_file_2 << std::endl;
111+
return -1;
100112
}
113+
114+
auto ioRead_start = std::chrono::steady_clock::now();
115+
116+
cv::imread(inp_file_1, 0).convertTo(limg, CV_32FC1);
117+
cv::imread(inp_file_2, 0).convertTo(rimg, CV_32FC1);
118+
101119
auto ioRead_stop = std::chrono::steady_clock::now();
120+
102121
ioReadTime = std::chrono::duration<float, std::micro>(ioRead_stop - ioRead_start).count();
103122
unsigned int w = limg.cols;
104123
unsigned int h = limg.rows;

0 commit comments

Comments
 (0)