Skip to content

Commit 1932ae5

Browse files
committed
Fix range dimension order to reflect row-major
1 parent 7d5824b commit 1932ae5

File tree

5 files changed

+32
-15
lines changed

5 files changed

+32
-15
lines changed

Code_Exercises/Exercise_15_Image_Convolution/reference.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,17 @@ TEST_CASE("image_convolution_naive", "image_convolution_reference") {
6060
auto filterWidth = filter.width();
6161
auto halo = filter.half_width();
6262

63-
auto globalRange = sycl::range(inputImgWidth, inputImgHeight);
6463
auto localRange = sycl::range(32, 1);
64+
auto globalRange = sycl::range(inputImgHeight, inputImgWidth);
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: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,15 @@ TEST_CASE("image_convolution_coalesced", "coalesced_global_memory_solution") {
6060
auto filterWidth = filter.width();
6161
auto halo = filter.half_width();
6262

63-
auto globalRange = sycl::range(inputImgWidth, inputImgHeight);
6463
auto localRange = sycl::range(32, 1);
64+
auto globalRange = sycl::range(inputImgHeight, inputImgWidth);
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: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,15 @@ TEST_CASE("image_convolution_vectorized", "vectors_solution") {
6161
auto filterWidth = filter.width();
6262
auto halo = filter.half_width();
6363

64-
auto globalRange = sycl::range(inputImgWidth, inputImgHeight);
6564
auto localRange = sycl::range(32, 1);
65+
auto globalRange = sycl::range(inputImgHeight, inputImgWidth);
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)