@@ -445,87 +445,100 @@ main()
445445{
446446 bool bProcessed = false ;
447447
448+ try
449+ {
448450#if TEST_DYNAMIC_SELECTION_AVAILABLE
449451#if !ONEDPL_FPGA_DEVICE || !ONEDPL_FPGA_EMULATOR
450- using policy_t = oneapi::dpl::experimental::auto_tune_policy<oneapi::dpl::experimental::sycl_backend>;
451- std::vector<sycl::queue> u1;
452- std::vector<sycl::queue> u2;
453- constexpr bool use_event_profiling = true ;
454- build_auto_tune_universe (u1);
455- build_auto_tune_universe<use_event_profiling>(u2);
456-
457- if (u1.size () != 0 || u2.size () !=0 )
458- {
459- auto f = [u1](int i) {
460- if (i <= 8 )
461- return u1[(i - 1 ) % 4 ];
462- else
463- return u1[0 ];
464- };
465-
466- constexpr bool just_call_submit = false ;
467- constexpr bool call_select_before_submit = true ;
468-
469-
470- EXPECT_EQ (0 , (test_auto_initialization (u1)), " " );
471-
472- EXPECT_EQ (0 , (test_select<policy_t , decltype (u1), const decltype (f)&, true >(u1, f)), " " );
473- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel1 >(u1, 0 )), " " );
474- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel2 >(u1, 1 )), " " );
475- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel3 >(u1, 2 )), " " );
476- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel4 >(u1, 3 )), " " );
477- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel5 >(u1, 0 )), " " );
478- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel6 >(u1, 1 )), " " );
479- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel7 >(u1, 2 )), " " );
480- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel8 >(u1, 3 )), " " );
481- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel9 >(u1, 0 )), " " );
482- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel10 >(u1, 1 )), " " );
483- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel11 >(u1, 2 )), " " );
484- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel12 >(u1, 3 )), " " );
485- // now select then submits
486- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel13 >(u1, 0 )), " " );
487- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel14 >(u1, 1 )), " " );
488- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel15 >(u1, 2 )), " " );
489- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel16 >(u1, 3 )), " " );
490- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel17 >(u1, 0 )), " " );
491- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel18 >(u1, 1 )), " " );
492- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel19 >(u1, 2 )), " " );
493- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel20 >(u1, 3 )), " " );
494- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel21 >(u1, 0 )), " " );
495- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel22 >(u1, 1 )), " " );
496- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel23 >(u1, 2 )), " " );
497- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel24 >(u1, 3 )), " " );
498- // Use event profiling
499- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel25 >(u2, 0 )), " " );
500- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel26 >(u2, 1 )), " " );
501- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel27 >(u2, 2 )), " " );
502- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel28 >(u2, 3 )), " " );
503- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel29 >(u2, 0 )), " " );
504- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel30 >(u2, 1 )), " " );
505- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel31 >(u2, 2 )), " " );
506- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel32 >(u2, 3 )), " " );
507- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel33 >(u2, 0 )), " " );
508- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel34 >(u2, 1 )), " " );
509- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel35 >(u2, 2 )), " " );
510- EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel36 >(u2, 3 )), " " );
511- // now select then submits
512- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel37 >(u2, 0 )), " " );
513- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel38 >(u2, 1 )), " " );
514- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel39 >(u2, 2 )), " " );
515- EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel40 >(u2, 3 )), " " );
516- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel41 >(u2, 0 )), " " );
517- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel42 >(u2, 1 )), " " );
518- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel43 >(u2, 2 )), " " );
519- EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel44 >(u2, 3 )), " " );
520- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel45 >(u2, 0 )), " " );
521- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel46 >(u2, 1 )), " " );
522- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel47 >(u2, 2 )), " " );
523- EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel48 >(u2, 3 )), " " );
524-
525- bProcessed = true ;
526- }
452+ using policy_t = oneapi::dpl::experimental::auto_tune_policy<oneapi::dpl::experimental::sycl_backend>;
453+ std::vector<sycl::queue> u1;
454+ std::vector<sycl::queue> u2;
455+ constexpr bool use_event_profiling = true ;
456+ build_auto_tune_universe (u1);
457+ build_auto_tune_universe<use_event_profiling>(u2);
458+
459+ if (u1.size () != 0 || u2.size () !=0 )
460+ {
461+ auto f = [u1](int i) {
462+ if (i <= 8 )
463+ return u1[(i - 1 ) % 4 ];
464+ else
465+ return u1[0 ];
466+ };
467+
468+ constexpr bool just_call_submit = false ;
469+ constexpr bool call_select_before_submit = true ;
470+
471+
472+ EXPECT_EQ (0 , (test_auto_initialization (u1)), " " );
473+
474+ EXPECT_EQ (0 , (test_select<policy_t , decltype (u1), const decltype (f)&, true >(u1, f)), " " );
475+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel1 >(u1, 0 )), " " );
476+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel2 >(u1, 1 )), " " );
477+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel3 >(u1, 2 )), " " );
478+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel4 >(u1, 3 )), " " );
479+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel5 >(u1, 0 )), " " );
480+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel6 >(u1, 1 )), " " );
481+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel7 >(u1, 2 )), " " );
482+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel8 >(u1, 3 )), " " );
483+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel9 >(u1, 0 )), " " );
484+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel10 >(u1, 1 )), " " );
485+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel11 >(u1, 2 )), " " );
486+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel12 >(u1, 3 )), " " );
487+ // now select then submits
488+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel13 >(u1, 0 )), " " );
489+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel14 >(u1, 1 )), " " );
490+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel15 >(u1, 2 )), " " );
491+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel16 >(u1, 3 )), " " );
492+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel17 >(u1, 0 )), " " );
493+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel18 >(u1, 1 )), " " );
494+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel19 >(u1, 2 )), " " );
495+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel20 >(u1, 3 )), " " );
496+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel21 >(u1, 0 )), " " );
497+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel22 >(u1, 1 )), " " );
498+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel23 >(u1, 2 )), " " );
499+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel24 >(u1, 3 )), " " );
500+ // Use event profiling
501+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel25 >(u2, 0 )), " " );
502+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel26 >(u2, 1 )), " " );
503+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel27 >(u2, 2 )), " " );
504+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<just_call_submit, policy_t , class Kernel28 >(u2, 3 )), " " );
505+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel29 >(u2, 0 )), " " );
506+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel30 >(u2, 1 )), " " );
507+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel31 >(u2, 2 )), " " );
508+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<just_call_submit, policy_t , class Kernel32 >(u2, 3 )), " " );
509+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel33 >(u2, 0 )), " " );
510+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel34 >(u2, 1 )), " " );
511+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel35 >(u2, 2 )), " " );
512+ EXPECT_EQ (0 , (test_auto_submit_and_wait<just_call_submit, policy_t , class Kernel36 >(u2, 3 )), " " );
513+ // now select then submits
514+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel37 >(u2, 0 )), " " );
515+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel38 >(u2, 1 )), " " );
516+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel39 >(u2, 2 )), " " );
517+ EXPECT_EQ (0 , (test_auto_submit_wait_on_event<call_select_before_submit, policy_t , class Kernel40 >(u2, 3 )), " " );
518+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel41 >(u2, 0 )), " " );
519+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel42 >(u2, 1 )), " " );
520+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel43 >(u2, 2 )), " " );
521+ EXPECT_EQ (0 , (test_auto_submit_wait_on_group<call_select_before_submit, policy_t , class Kernel44 >(u2, 3 )), " " );
522+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel45 >(u2, 0 )), " " );
523+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel46 >(u2, 1 )), " " );
524+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel47 >(u2, 2 )), " " );
525+ EXPECT_EQ (0 , (test_auto_submit_and_wait<call_select_before_submit, policy_t , class Kernel48 >(u2, 3 )), " " );
526+
527+ bProcessed = true ;
528+ }
527529#endif // Devices available are CPU and GPU
528530#endif // TEST_DYNAMIC_SELECTION_AVAILABLE
531+ }
532+ catch (const std::exception& exc)
533+ {
534+ std::stringstream str;
535+
536+ str << " Exception occurred" ;
537+ if (exc.what ())
538+ str << " : " << exc.what ();
539+
540+ TestUtils::issue_error_message (str);
541+ }
529542
530543 return TestUtils::done (bProcessed);
531544}
0 commit comments