|
37 | 37 | // RUN: env READ_PLATVER_MALFORMED_INFO=1 %GPU_RUN_PLACEHOLDER %t.out
|
38 | 38 | //
|
39 | 39 | // REQUIRES: gpu
|
40 |
| -// |
41 |
| -// XFAIL: cuda || hip |
42 |
| -// |
43 |
| -// TODO: Update this test when SYCL_DEVICE_FILTER support in enabled. |
44 | 40 |
|
45 | 41 | //==------------ select_device.cpp - SYCL_DEVICE_ALLOWLIST test ------------==//
|
46 | 42 | //
|
@@ -203,6 +199,18 @@ int main() {
|
203 | 199 | << "}}" << std::endl;
|
204 | 200 | passed = true;
|
205 | 201 | break;
|
| 202 | + } else if ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 203 | + (sycl_be.find("cuda") != std::string::npos)) { |
| 204 | + fs << "DeviceName:{{" << name << "}},DriverVersion:{{" << ver |
| 205 | + << "}}" << std::endl; |
| 206 | + passed = true; |
| 207 | + break; |
| 208 | + } else if ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 209 | + (sycl_be.find("hip") != std::string::npos)) { |
| 210 | + fs << "DeviceName:{{" << name << "}},DriverVersion:{{" << ver |
| 211 | + << "}}" << std::endl; |
| 212 | + passed = true; |
| 213 | + break; |
206 | 214 | }
|
207 | 215 | }
|
208 | 216 | }
|
@@ -254,7 +262,11 @@ int main() {
|
254 | 262 | if (((plt.get_backend() == backend::opencl) &&
|
255 | 263 | (sycl_be.find("opencl") != std::string::npos)) ||
|
256 | 264 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
257 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 265 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 266 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 267 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 268 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 269 | + (sycl_be.find("hip") != std::string::npos))) { |
258 | 270 | fs << "PlatformName:{{" << name << "}},PlatformVersion:{{" << ver
|
259 | 271 | << "}}" << std::endl;
|
260 | 272 | passed = true;
|
@@ -310,7 +322,11 @@ int main() {
|
310 | 322 | if (((plt.get_backend() == backend::opencl) &&
|
311 | 323 | (sycl_be.find("opencl") != std::string::npos)) ||
|
312 | 324 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
313 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 325 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 326 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 327 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 328 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 329 | + (sycl_be.find("hip") != std::string::npos))) { |
314 | 330 | fs << "DeviceName:{{" << name << "}},DriverVersion:{{" << ver
|
315 | 331 | << "}}" << std::endl;
|
316 | 332 | passed = true;
|
@@ -375,6 +391,20 @@ int main() {
|
375 | 391 | << "}}" << std::endl;
|
376 | 392 | passed = true;
|
377 | 393 | break;
|
| 394 | + } else if ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 395 | + (sycl_be.find("cuda") != std::string::npos)) { |
| 396 | + std::string ver("CUDA 89.78"); |
| 397 | + fs << "PlatformName:{{" << name << "}},PlatformVersion:{{" << ver |
| 398 | + << "}}" << std::endl; |
| 399 | + passed = true; |
| 400 | + break; |
| 401 | + } else if ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 402 | + (sycl_be.find("hip") != std::string::npos)) { |
| 403 | + std::string ver("67.88.9"); |
| 404 | + fs << "PlatformName:{{" << name << "}},PlatformVersion:{{" << ver |
| 405 | + << "}}" << std::endl; |
| 406 | + passed = true; |
| 407 | + break; |
378 | 408 | }
|
379 | 409 | }
|
380 | 410 | }
|
@@ -423,24 +453,37 @@ int main() {
|
423 | 453 | addEscapeSymbolToSpecialCharacters(name);
|
424 | 454 | std::string ver = dev.get_info<info::device::driver_version>();
|
425 | 455 | size_t pos = 0;
|
426 |
| - if ((pos = ver.find(".")) == std::string::npos) { |
427 |
| - throw std::runtime_error("Malformed syntax in version string"); |
428 |
| - } |
429 |
| - pos++; |
430 |
| - size_t start = pos; |
431 |
| - if ((pos = ver.find(".", pos)) == std::string::npos) { |
432 |
| - throw std::runtime_error("Malformed syntax in version string"); |
433 |
| - } |
434 |
| - ver.replace(start, pos - start, "*"); |
435 | 456 | if (((plt.get_backend() == backend::opencl) &&
|
436 | 457 | (sycl_be.find("opencl") != std::string::npos)) ||
|
437 | 458 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
438 | 459 | (sycl_be.find("level_zero") != std::string::npos))) {
|
439 |
| - fs << "DeviceName:{{" << name << "}},DriverVersion:{{" << ver |
440 |
| - << "}}" << std::endl; |
441 |
| - passed = true; |
442 |
| - break; |
| 460 | + if ((pos = ver.find(".")) == std::string::npos) { |
| 461 | + throw std::runtime_error( |
| 462 | + "Malformed syntax in version string"); |
| 463 | + } |
| 464 | + pos++; |
| 465 | + size_t start = pos; |
| 466 | + if ((pos = ver.find(".", pos)) == std::string::npos) { |
| 467 | + throw std::runtime_error( |
| 468 | + "Malformed syntax in version string"); |
| 469 | + } |
| 470 | + ver.replace(start, pos - start, "*"); |
| 471 | + } else if (((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 472 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 473 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 474 | + (sycl_be.find("hip") != std::string::npos))) { |
| 475 | + if ((pos = ver.find(".")) == std::string::npos) { |
| 476 | + throw std::runtime_error( |
| 477 | + "Malformed syntax in version string"); |
| 478 | + } |
| 479 | + pos++; |
| 480 | + ver.replace(pos, ver.length(), "*"); |
443 | 481 | }
|
| 482 | + |
| 483 | + fs << "DeviceName:{{" << name << "}},DriverVersion:{{" << ver |
| 484 | + << "}}" << std::endl; |
| 485 | + passed = true; |
| 486 | + break; |
444 | 487 | }
|
445 | 488 | }
|
446 | 489 | }
|
@@ -492,7 +535,11 @@ int main() {
|
492 | 535 | if (((plt.get_backend() == backend::opencl) &&
|
493 | 536 | (sycl_be.find("opencl") != std::string::npos)) ||
|
494 | 537 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
495 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 538 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 539 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 540 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 541 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 542 | + (sycl_be.find("hip") != std::string::npos))) { |
496 | 543 | fs << "DeviceName:{{" << name << "}}" << std::endl;
|
497 | 544 | passed = true;
|
498 | 545 | break;
|
@@ -541,7 +588,11 @@ int main() {
|
541 | 588 | if (((plt.get_backend() == backend::opencl) &&
|
542 | 589 | (sycl_be.find("opencl") != std::string::npos)) ||
|
543 | 590 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
544 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 591 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 592 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 593 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 594 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 595 | + (sycl_be.find("hip") != std::string::npos))) { |
545 | 596 | fs << "PlatformName:{{" << name << "}}" << std::endl;
|
546 | 597 | passed = true;
|
547 | 598 | break;
|
@@ -594,7 +645,11 @@ int main() {
|
594 | 645 | if (((plt.get_backend() == backend::opencl) &&
|
595 | 646 | (sycl_be.find("opencl") != std::string::npos)) ||
|
596 | 647 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
597 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 648 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 649 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 650 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 651 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 652 | + (sycl_be.find("hip") != std::string::npos))) { |
598 | 653 | if (count > 0) {
|
599 | 654 | ss << " | ";
|
600 | 655 | }
|
@@ -656,7 +711,11 @@ int main() {
|
656 | 711 | if (((plt.get_backend() == backend::opencl) &&
|
657 | 712 | (sycl_be.find("opencl") != std::string::npos)) ||
|
658 | 713 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
659 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 714 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 715 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 716 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 717 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 718 | + (sycl_be.find("hip") != std::string::npos))) { |
660 | 719 | fs << "DeviceName:HAHA{{" << name << "}}" << std::endl;
|
661 | 720 | passed = true;
|
662 | 721 | break;
|
@@ -717,7 +776,11 @@ int main() {
|
717 | 776 | if (((plt.get_backend() == backend::opencl) &&
|
718 | 777 | (sycl_be.find("opencl") != std::string::npos)) ||
|
719 | 778 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
720 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 779 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 780 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 781 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 782 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 783 | + (sycl_be.find("hip") != std::string::npos))) { |
721 | 784 | fs << "PlatformName:HAHA{{" << name << "}}" << std::endl;
|
722 | 785 | passed = true;
|
723 | 786 | break;
|
@@ -779,7 +842,11 @@ int main() {
|
779 | 842 | if (((plt.get_backend() == backend::opencl) &&
|
780 | 843 | (sycl_be.find("opencl") != std::string::npos)) ||
|
781 | 844 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
782 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 845 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 846 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 847 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 848 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 849 | + (sycl_be.find("hip") != std::string::npos))) { |
783 | 850 | fs << "DeviceName:{{" << name << "}},DriverVersion:HAHA{{"
|
784 | 851 | << ver << "}}" << std::endl;
|
785 | 852 | passed = true;
|
@@ -842,7 +909,11 @@ int main() {
|
842 | 909 | if (((plt.get_backend() == backend::opencl) &&
|
843 | 910 | (sycl_be.find("opencl") != std::string::npos)) ||
|
844 | 911 | ((plt.get_backend() == backend::ext_oneapi_level_zero) &&
|
845 |
| - (sycl_be.find("level_zero") != std::string::npos))) { |
| 912 | + (sycl_be.find("level_zero") != std::string::npos)) || |
| 913 | + ((plt.get_backend() == backend::ext_oneapi_cuda) && |
| 914 | + (sycl_be.find("cuda") != std::string::npos)) || |
| 915 | + ((plt.get_backend() == backend::ext_oneapi_hip) && |
| 916 | + (sycl_be.find("hip") != std::string::npos))) { |
846 | 917 | fs << "PlatformName:{{" << name << "}},PlatformVersion:HAHA{{"
|
847 | 918 | << ver << "}}" << std::endl;
|
848 | 919 | passed = true;
|
|
0 commit comments