Skip to content

Commit ea75fd1

Browse files
authored
Merge pull request #158 from codeplaysoftware/imageconv-range-fix
Fix range dimension order to reflect row-major
2 parents 91aa17c + ade5779 commit ea75fd1

File tree

5 files changed

+29
-12
lines changed

5 files changed

+29
-12
lines changed

Code_Exercises/Exercise_15_Image_Convolution/reference.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,13 @@ TEST_CASE("image_convolution_naive", "image_convolution_reference") {
6464
auto localRange = sycl::range(1, 32);
6565
auto ndRange = sycl::nd_range(globalRange, localRange);
6666

67-
auto inBufRange = (inputImgWidth + (halo * 2)) * sycl::range(1, channels);
68-
auto outBufRange = inputImgHeight * sycl::range(1, channels);
67+
auto inBufRange =
68+
sycl::range(inputImgHeight + (halo * 2), inputImgWidth + (halo * 2)) *
69+
sycl::range(1, channels);
70+
auto outBufRange =
71+
sycl::range(inputImgHeight, inputImgWidth) * sycl::range(1, channels);
72+
73+
6974
auto filterRange = filterWidth * sycl::range(1, channels);
7075

7176
{

Code_Exercises/Exercise_16_Coalesced_Global_Memory/solution.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,11 @@ TEST_CASE("image_convolution_coalesced", "coalesced_global_memory_solution") {
6464
auto localRange = sycl::range(1, 32);
6565
auto ndRange = sycl::nd_range(globalRange, localRange);
6666

67-
auto inBufRange = (inputImgWidth + (halo * 2)) * sycl::range(1, channels);
68-
auto outBufRange = inputImgHeight * sycl::range(1, channels);
67+
auto inBufRange =
68+
sycl::range(inputImgHeight + (halo * 2), inputImgWidth + (halo * 2)) *
69+
sycl::range(1, channels);
70+
auto outBufRange =
71+
sycl::range(inputImgHeight, inputImgWidth) * sycl::range(1, channels);
6972
auto filterRange = filterWidth * sycl::range(1, channels);
7073

7174
{

Code_Exercises/Exercise_17_Vectors/solution.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,11 @@ TEST_CASE("image_convolution_vectorized", "vectors_solution") {
6565
auto localRange = sycl::range(1, 32);
6666
auto ndRange = sycl::nd_range(globalRange, localRange);
6767

68-
auto inBufRange = (inputImgWidth + (halo * 2)) * sycl::range(1, channels);
69-
auto outBufRange = inputImgHeight * sycl::range(1, channels);
68+
auto inBufRange =
69+
sycl::range(inputImgHeight + (halo * 2), inputImgWidth + (halo * 2)) *
70+
sycl::range(1, channels);
71+
auto outBufRange =
72+
sycl::range(inputImgHeight, inputImgWidth) * sycl::range(1, channels);
7073
auto filterRange = filterWidth * sycl::range(1, channels);
7174

7275
{

Code_Exercises/Exercise_18_Local_Memory_Tiling/solution.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,15 @@ TEST_CASE("image_convolution_tiled", "local_memory_tiling_solution") {
5858
auto filterWidth = filter.width();
5959
auto halo = filter.half_width();
6060

61-
auto globalRange = sycl::range(inputImgWidth, inputImgHeight);
61+
auto globalRange = sycl::range(inputImgHeight, inputImgWidth);
6262
auto localRange = sycl::range(8, 8);
6363
auto ndRange = sycl::nd_range(globalRange, localRange);
6464

65-
auto inBufRange = (inputImgWidth + (halo * 2)) * sycl::range(1, channels);
66-
auto outBufRange = inputImgHeight * sycl::range(1, channels);
65+
auto inBufRange =
66+
sycl::range(inputImgHeight + (halo * 2), inputImgWidth + (halo * 2)) *
67+
sycl::range(1, channels);
68+
auto outBufRange =
69+
sycl::range(inputImgHeight, inputImgWidth) * sycl::range(1, channels);
6770
auto filterRange = filterWidth * sycl::range(1, channels);
6871
auto scratchpadRange = localRange + sycl::range(halo * 2, halo * 2);
6972

Code_Exercises/Exercise_19_Work_Group_Sizes/solution.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,15 @@ TEST_CASE("image_convolution_tiled", "local_memory_tiling_solution") {
5858
auto filterWidth = filter.width();
5959
auto halo = filter.half_width();
6060

61-
auto globalRange = sycl::range(inputImgWidth, inputImgHeight);
61+
auto globalRange = sycl::range(inputImgHeight, inputImgWidth);
6262
auto localRange = sycl::range(16, 16);
6363
auto ndRange = sycl::nd_range(globalRange, localRange);
6464

65-
auto inBufRange = (inputImgWidth + (halo * 2)) * sycl::range(1, channels);
66-
auto outBufRange = inputImgHeight * sycl::range(1, channels);
65+
auto inBufRange =
66+
sycl::range(inputImgHeight + (halo * 2), inputImgWidth + (halo * 2)) *
67+
sycl::range(1, channels);
68+
auto outBufRange =
69+
sycl::range(inputImgHeight, inputImgWidth) * sycl::range(1, channels);
6770
auto filterRange = filterWidth * sycl::range(1, channels);
6871
auto scratchpadRange = localRange + sycl::range(halo * 2, halo * 2);
6972

0 commit comments

Comments
 (0)