blob: e54ef2d8c1a7b55ad9017c61b870fd04f9c92aef [file] [edit]
// REQUIRES: any-device
// RUN: %clangxx -fsycl %s -o %t.out
// RUN: %t.out
#include <iostream>
#include <sycl/sycl.hpp>
using namespace sycl;
class Kernel1;
bool check(backend be) {
switch (be) {
case backend::opencl:
case backend::level_zero:
case backend::cuda:
case backend::hip:
return true;
default:
return false;
}
}
void return_fail() {
std::cout << "Failed" << std::endl;
exit(1);
}
int main() {
for (const auto &plt : platform::get_platforms()) {
if (!check(plt.get_backend())) {
return_fail();
}
auto device = plt.get_devices()[0];
if (device.get_backend() != plt.get_backend()) {
return_fail();
}
queue q(device);
if (q.get_backend() != plt.get_backend()) {
return_fail();
}
event e = q.single_task<Kernel1>([]() {});
if (e.get_backend() != plt.get_backend()) {
return_fail();
}
}
std::cout << "Passed" << std::endl;
return 0;
}