Skip to content

Commit 4ae428f

Browse files
authored
Add default input values for stream-triad-modified-*.cpp and spec-const3.cpp so they don't need to take user interaction for inputs by default if no arguments are specified and added default input values for stream-triad-modified-*.cpp and spec-const3.cpp so they don't need to take user interaction for inputs by default if no arguments are specified (#2138)
1 parent e361e79 commit 4ae428f

File tree

5 files changed

+41
-18
lines changed

5 files changed

+41
-18
lines changed

Publications/GPU-Opt-Guide/exec-model/vaddsync.cpp

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,36 +114,57 @@ int main() {
114114

115115
std::cout << "Running on device: "
116116
<< q.get_device().get_info<sycl::info::device::name>() << "\n";
117+
118+
auto sgsizes = q.get_device().get_info<sycl::info::device::sub_group_sizes>();
119+
120+
constexpr int sgsize = 16;
121+
bool supported = false;
122+
std::cout << "Sub-group sizes supported:";
123+
for (auto sz : sgsizes) {
124+
std::cout << " " << sz;
125+
if (sz == sgsize) {
126+
supported = true;
127+
}
128+
}
129+
std::cout << std::endl;
130+
131+
if (!supported) {
132+
std::cout << "Sub-group size " << sgsize << " is not supported. Please change sgsize to one of the supported sizes"
133+
<< std::endl;
134+
return 0;
135+
}
136+
137+
std::cout << "Using sub-group size " << sgsize << std::endl;
117138
std::cout << "Vector size: " << a.size() << "\n";
118139

119140
// check results
120141
Initialize(sum);
121-
VectorAdd3<6, 320, 8>(q, a, b, sum, 1);
142+
VectorAdd3<6, 320, sgsize>(q, a, b, sum, 1);
122143

123144
for (int i = 0; i < mysize; i++)
124145
if (sum[i] != 2 * i) {
125146
std::cout << "add3 Did not match\n";
126147
}
127148

128149
Initialize(sum);
129-
VectorAdd4<6, 320, 8>(q, a, b, sum, 1);
150+
VectorAdd4<6, 320, sgsize>(q, a, b, sum, 1);
130151
for (int i = 0; i < mysize; i++)
131152
if (sum[i] != 2 * i) {
132153
std::cout << "add4 Did not match\n";
133154
}
134155

135156
// group1
136157
Initialize(sum);
137-
VectorAdd3<8, 320, 8>(q, a, b, sum, 10000);
158+
VectorAdd3<8, 320, sgsize>(q, a, b, sum, 10000);
138159
Initialize(sum);
139-
VectorAdd4<8, 320, 8>(q, a, b, sum, 10000);
160+
VectorAdd4<8, 320, sgsize>(q, a, b, sum, 10000);
140161
// end group1
141162

142163
// group2
143164
Initialize(sum);
144-
VectorAdd3<24, 224, 8>(q, a, b, sum, 10000);
165+
VectorAdd3<24, 224, sgsize>(q, a, b, sum, 10000);
145166
Initialize(sum);
146-
VectorAdd4<24, 224, 8>(q, a, b, sum, 10000);
167+
VectorAdd4<24, 224, sgsize>(q, a, b, sum, 10000);
147168
// end group2
148169
return 0;
149170
}

Publications/GPU-Opt-Guide/jitting/spec-const3.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class SpecializedKernel;
1111
// Identify the specialization constant.
1212
constexpr sycl::specialization_id<int> nx_sc;
1313

14-
int main() {
14+
int main(int argc, char *argv[]) {
1515
sycl::queue queue;
1616

1717
std::cout << "Running on "
@@ -23,8 +23,13 @@ int main() {
2323

2424
// Application execution stops here asking for input from user
2525
int Nx;
26-
std::cout << "Enter input number ..." << std::endl;
27-
std::cin >> Nx;
26+
if (argc > 1) {
27+
Nx = std::stoi(argv[1]);
28+
} else {
29+
Nx = 1024;
30+
}
31+
32+
std::cout << "Nx = " << Nx << std::endl;
2833

2934
queue.submit([&](sycl::handler &h) {
3035
sycl::accessor acc(buf, h, sycl::write_only, sycl::no_init);

Publications/GPU-Opt-Guide/jitting/stream-triad-modified-constant.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,8 @@ int main(int argc, char *argv[]) {
105105
array_size = std::stoi(argv[1]);
106106
inner_loop_size = std::stoi(argv[2]);
107107
} else {
108-
std::cout
109-
<< "Run as ./<progname> <arraysize in elements> <inner loop size>\n";
110-
return 1;
108+
array_size = 134217728;
109+
inner_loop_size = 10;
111110
}
112111
std::cout << "Running with stream size of " << array_size << " elements ("
113112
<< (array_size * sizeof(double)) / (double)1024 / 1024 << "MB)\n";

Publications/GPU-Opt-Guide/jitting/stream-triad-modified-runtime-var.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,8 @@ int main(int argc, char *argv[]) {
105105
array_size = std::stoi(argv[1]);
106106
inner_loop_size = std::stoi(argv[2]);
107107
} else {
108-
std::cout
109-
<< "Run as ./<progname> <arraysize in elements> <inner loop size>\n";
110-
return 1;
108+
array_size = 134217728;
109+
inner_loop_size = 10;
111110
}
112111
std::cout << "Running with stream size of " << array_size << " elements ("
113112
<< (array_size * sizeof(double)) / (double)1024 / 1024 << "MB)\n";

Publications/GPU-Opt-Guide/jitting/stream-triad-modified-spec-const.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,8 @@ int main(int argc, char *argv[]) {
110110
array_size = std::stoi(argv[1]);
111111
inner_loop_size = std::stoi(argv[2]);
112112
} else {
113-
std::cout
114-
<< "Run as ./<progname> <arraysize in elements> <inner loop size>\n";
115-
return 1;
113+
array_size = 134217728;
114+
inner_loop_size = 10;
116115
}
117116
std::cout << "Running with stream size of " << array_size << " elements ("
118117
<< (array_size * sizeof(double)) / (double)1024 / 1024 << "MB)\n";

0 commit comments

Comments
 (0)