Skip to content

Commit 08d1eda

Browse files
Merge branch 'sycl' into fixdevicekernelinfo
2 parents 4585556 + 5c0a51d commit 08d1eda

File tree

12 files changed

+257
-165
lines changed

12 files changed

+257
-165
lines changed

.github/workflows/sycl-nightly.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,23 @@ jobs:
201201
always()
202202
&& !cancelled()
203203
&& needs.build-win.outputs.build_conclusion == 'success'
204+
strategy:
205+
fail-fast: false
206+
matrix:
207+
include:
208+
- name: Intel L0 Gen12 GPU
209+
runner: '["Windows", "gen12"]'
210+
target_devices: level_zero:gpu
211+
212+
- name: Intel L0 Battlemage GPU
213+
runner: '["Windows", "bmg"]'
214+
target_devices: level_zero:gpu
215+
204216
uses: ./.github/workflows/sycl-windows-run-tests.yml
205217
with:
206-
name: Intel GEN12 Graphics with Level Zero
207-
runner: '["Windows","gen12"]'
208-
target_devices: level_zero:gpu
218+
name: ${{ matrix.name }}
219+
runner: ${{ matrix.runner }}
220+
target_devices: ${{ matrix.target_devices }}
209221
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
210222

211223
cuda-aws-start:

sycl/doc/extensions/experimental/sycl_ext_oneapi_enqueue_functions.asciidoc

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -386,11 +386,11 @@ a!
386386
----
387387
namespace sycl::ext::oneapi::experimental {
388388
389-
template <typename KernelName, int Dimensions, typename... Args>
389+
template <int Dimensions, typename... Args>
390390
void parallel_for(sycl::queue q, sycl::range<Dimensions> r,
391391
const sycl::kernel& k, Args&&... args);
392392
393-
template <typename KernelName, int Dimensions, typename... Args>
393+
template <int Dimensions, typename... Args>
394394
void parallel_for(sycl::handler &h, sycl::range<Dimensions> r,
395395
const sycl::kernel& k, Args&&... args);
396396
@@ -409,14 +409,12 @@ a!
409409
----
410410
namespace sycl::ext::oneapi::experimental {
411411
412-
template <typename KernelName, int Dimensions,
413-
typename Properties, typename... Args>
412+
template <int Dimensions, typename Properties, typename... Args>
414413
void parallel_for(sycl::queue q,
415414
launch_config<sycl::range<Dimensions>, Properties> c,
416415
const sycl::kernel& k, Args&& args...);
417416
418-
template <typename KernelName, int Dimensions,
419-
typename Properties, typename... Args>
417+
template <int Dimensions, typename Properties, typename... Args>
420418
void parallel_for(sycl::handler &h,
421419
launch_config<sycl::range<Dimensions>, Properties> c,
422420
const sycl::kernel& k, Args&& args...);
@@ -503,11 +501,11 @@ a!
503501
----
504502
namespace sycl::ext::oneapi::experimental {
505503
506-
template <typename KernelName, int Dimensions, typename... Args>
504+
template <int Dimensions, typename... Args>
507505
void nd_launch(sycl::queue q, sycl::nd_range<Dimensions> r,
508506
const sycl::kernel& k, Args&&... args);
509507
510-
template <typename KernelName, int Dimensions, typename... Args>
508+
template <int Dimensions, typename... Args>
511509
void nd_launch(sycl::handler &h, sycl::nd_range<Dimensions> r,
512510
const sycl::kernel& k, Args&&... args);
513511
@@ -527,14 +525,12 @@ a!
527525
----
528526
namespace sycl::ext::oneapi::experimental {
529527
530-
template <typename KernelName, int Dimensions,
531-
typename Properties, typename... Args>
528+
template <int Dimensions, typename Properties, typename... Args>
532529
void nd_launch(sycl::queue q,
533530
launch_config<sycl::nd_range<Dimensions>, Properties> c,
534531
const sycl::kernel& k, Args&& args...);
535532
536-
template <typename KernelName, int Dimensions,
537-
typename Properties, typename... Args>
533+
template <int Dimensions, typename Properties, typename... Args>
538534
void nd_launch(sycl::handler &h,
539535
launch_config<sycl::nd_range<Dimensions>, Properties> c,
540536
const sycl::kernel& k, Args&& args...);

sycl/test-e2e/bindless_images/copies/copy_subregion_1D.cpp

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -507,10 +507,11 @@ bool check_test(const std::vector<float> &out,
507507
}
508508

509509
if (mismatch) {
510-
#ifdef VERBOSE_PRINT
511-
std::cout << "Result mismatch! Expected: " << expected[i]
512-
<< ", Actual: " << out[i] << std::endl;
513-
#else
510+
std::cout << "Result mismatch at index " << i
511+
<< "! Expected: " << expected[i] << ", Actual: " << out[i]
512+
<< std::endl;
513+
#ifndef VERBOSE_PRINT
514+
// In CI, only display the first mismatched index
514515
break;
515516
#endif
516517
}
@@ -544,42 +545,65 @@ bool run_copy_test(sycl::device &dev, sycl::queue &q, sycl::range<1> dims) {
544545
// Perform copy checks
545546
copy_image_mem_handle_to_image_mem_handle(dataInDesc, outDesc, dataIn1,
546547
dataIn2, dev, q, out);
547-
548-
validated = validated && check_test(out, expected);
548+
if (!check_test(out, expected)) {
549+
std::cout << "copy_image_mem_handle_to_image_mem_handle test failed"
550+
<< std::endl;
551+
validated = false;
552+
}
549553

550554
std::fill(out.begin(), out.end(), 0);
551555

552556
copy_image_mem_handle_to_usm(dataInDesc, outDesc, dataIn1, dataIn2, dev, q,
553557
out);
554-
555-
validated = validated && check_test(out, expected);
558+
if (!check_test(out, expected)) {
559+
std::cout << "copy_image_mem_handle_to_usm test failed" << std::endl;
560+
validated = false;
561+
}
556562

557563
std::fill(out.begin(), out.end(), 0);
558564

559565
copy_usm_to_image_mem_handle(dataInDesc, outDesc, dataIn1, dataIn2, dev, q,
560566
out);
561-
562-
validated = validated && check_test(out, expected);
567+
if (!check_test(out, expected)) {
568+
std::cout << "copy_usm_to_image_mem_handle test failed" << std::endl;
569+
validated = false;
570+
}
563571

564572
std::fill(out.begin(), out.end(), 0);
565573

566574
copy_usm_to_usm(dataInDesc, outDesc, dataIn1, dataIn2, dev, q, out);
567-
568-
validated = validated && check_test(out, expected);
575+
if (!check_test(out, expected)) {
576+
std::cout << "copy_usm_to_usm test failed" << std::endl;
577+
validated = false;
578+
}
569579

570580
// Perform out of bounds copy checks
571-
validated =
572-
validated && image_mem_handle_to_image_mem_handle_out_of_bounds_copy(
573-
dataInDesc, outDesc, dataIn1, dev, q);
581+
if (!image_mem_handle_to_image_mem_handle_out_of_bounds_copy(
582+
dataInDesc, outDesc, dataIn1, dev, q)) {
583+
std::cout
584+
<< "image_mem_handle_to_image_mem_handle_out_of_bounds_copy test failed"
585+
<< std::endl;
586+
validated = false;
587+
}
574588

575-
validated = validated && image_mem_handle_to_usm_out_of_bounds_copy(
576-
dataInDesc, outDesc, dataIn1, dev, q);
589+
if (!image_mem_handle_to_usm_out_of_bounds_copy(dataInDesc, outDesc, dataIn1,
590+
dev, q)) {
591+
std::cout << "image_mem_handle_to_usm_out_of_bounds_copy test failed"
592+
<< std::endl;
593+
validated = false;
594+
}
577595

578-
validated = validated && usm_to_image_mem_handle_out_of_bounds_copy(
579-
dataInDesc, outDesc, dataIn1, dev, q);
596+
if (!usm_to_image_mem_handle_out_of_bounds_copy(dataInDesc, outDesc, dataIn1,
597+
dev, q)) {
598+
std::cout << "usm_to_image_mem_handle_out_of_bounds_copy test failed"
599+
<< std::endl;
600+
validated = false;
601+
}
580602

581-
validated = validated && usm_to_usm_out_of_bounds_copy(dataInDesc, outDesc,
582-
dataIn1, dev, q);
603+
if (!usm_to_usm_out_of_bounds_copy(dataInDesc, outDesc, dataIn1, dev, q)) {
604+
std::cout << "usm_to_usm_out_of_bounds_copy test failed" << std::endl;
605+
validated = false;
606+
}
583607

584608
return validated;
585609
}

sycl/test-e2e/bindless_images/copies/copy_subregion_2D.cpp

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -448,10 +448,11 @@ bool check_test(const std::vector<float> &out,
448448
}
449449

450450
if (mismatch) {
451-
#ifdef VERBOSE_PRINT
452-
std::cout << "Result mismatch! Expected: " << expected[i]
453-
<< ", Actual: " << out[i] << std::endl;
454-
#else
451+
std::cout << "Result mismatch at index " << i
452+
<< "! Expected: " << expected[i] << ", Actual: " << out[i]
453+
<< std::endl;
454+
#ifndef VERBOSE_PRINT
455+
// In CI, only display the first mismatched index
455456
break;
456457
#endif
457458
}
@@ -477,39 +478,61 @@ bool run_copy_test(sycl::device &dev, sycl::queue &q, sycl::range<2> dims) {
477478

478479
// Perform copy checks
479480
copy_image_mem_handle_to_image_mem_handle(desc, dataIn, dev, q, out);
480-
481-
validated = validated && check_test(out, expected);
481+
if (!check_test(out, expected)) {
482+
std::cout << "copy_image_mem_handle_to_image_mem_handle test failed"
483+
<< std::endl;
484+
validated = false;
485+
}
482486

483487
std::fill(out.begin(), out.end(), 0);
484488

485489
copy_image_mem_handle_to_usm(desc, dataIn, dev, q, out);
486-
487-
validated = validated && check_test(out, expected);
490+
if (!check_test(out, expected)) {
491+
std::cout << "copy_image_mem_handle_to_usm test failed" << std::endl;
492+
validated = false;
493+
}
488494

489495
std::fill(out.begin(), out.end(), 0);
490496

491497
copy_usm_to_image_mem_handle(desc, dataIn, dev, q, out);
492-
493-
validated = validated && check_test(out, expected);
498+
if (!check_test(out, expected)) {
499+
std::cout << "copy_usm_to_image_mem_handle test failed" << std::endl;
500+
validated = false;
501+
}
494502

495503
std::fill(out.begin(), out.end(), 0);
496504

497505
copy_usm_to_usm(desc, dataIn, dev, q, out);
498-
499-
validated = validated && check_test(out, expected);
506+
if (!check_test(out, expected)) {
507+
std::cout << "copy_usm_to_usm test failed" << std::endl;
508+
validated = false;
509+
}
500510

501511
// Perform out of bounds copy checks
502-
validated =
503-
validated && image_mem_handle_to_image_mem_handle_out_of_bounds_copy(
504-
desc, dataIn, dev, q);
512+
if (!image_mem_handle_to_image_mem_handle_out_of_bounds_copy(desc, dataIn,
513+
dev, q)) {
514+
std::cout
515+
<< "image_mem_handle_to_image_mem_handle_out_of_bounds_copy test failed"
516+
<< std::endl;
517+
validated = false;
518+
}
505519

506-
validated = validated &&
507-
image_mem_handle_to_usm_out_of_bounds_copy(desc, dataIn, dev, q);
520+
if (!image_mem_handle_to_usm_out_of_bounds_copy(desc, dataIn, dev, q)) {
521+
std::cout << "image_mem_handle_to_usm_out_of_bounds_copy test failed"
522+
<< std::endl;
523+
validated = false;
524+
}
508525

509-
validated = validated &&
510-
usm_to_image_mem_handle_out_of_bounds_copy(desc, dataIn, dev, q);
526+
if (!usm_to_image_mem_handle_out_of_bounds_copy(desc, dataIn, dev, q)) {
527+
std::cout << "usm_to_image_mem_handle_out_of_bounds_copy test failed"
528+
<< std::endl;
529+
validated = false;
530+
}
511531

512-
validated = validated && usm_to_usm_out_of_bounds_copy(desc, dataIn, dev, q);
532+
if (!usm_to_usm_out_of_bounds_copy(desc, dataIn, dev, q)) {
533+
std::cout << "usm_to_usm_out_of_bounds_copy test failed" << std::endl;
534+
validated = false;
535+
}
513536

514537
return validated;
515538
}

unified-runtime/include/ur_api.h

Lines changed: 22 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)