Я только начал работать над SYCL и запустил ComputeCpp_info в моей системе, и отображаются следующие данные на 3 устройствах
Информация ComputeCpp (CE 1.1.0)
SYCL 1.2.1 редакция 3
Устройство 1 (GeForce GTX 1050 = НЕТ - Устройство не поддерживает SPIR)
Устройство 2 (Intel (R) HD Graphics 630 = НЕПРОВЕРЕНО - Устройство не тестировалось в этой ОС)
Устройство 3 (Intel® Core ™ TM CPU i7-7700HQ @ 2,80 ГГц = НЕПРОВЕРЕНО - устройство работает с непроверенным драйвером)
Теперь мой вопрос: могу ли я работать на этих устройствах, так как 2 не проверены, а 1 невозможен? или мне не хватает некоторых драйверов?
Также я реализовал простой пример, но он дает мне CL / cl.h не найдена ошибка
#include <CL/sycl.hpp>
#include <array>
#include <numeric>
#include <iostream>
int main() {
const size_t array_size = 1024 * 512;
std::array<cl::sycl::cl_int, array_size> in, out;
std::iota(begin(in), end(in), 0);
cl::sycl::queue device_queue;
cl::sycl::range<1> n_items{ array_size };
cl::sycl::buffer < cl::sycl::cl_int, 1> in_buffer(in.data(), n_items);
cl::sycl::buffer < cl::sycl::cl_int, 1> out_buffer(out.data(), n_items);
device_queue.submit([&](cl::sycl::handler &cgh) {
constexpr auto sycl_read = cl::sycl::access::mode::read;
constexpr auto sycl_write = cl::sycl::access::mode::write;
auto in_accessor = in_buffer.get_access<sycl_read>(cgh);
auto out_accessor = out_buffer.get_access<sycl_write>(cgh);
cgh.parallel_for<class VecScalMul>(n_items,
[=](cl::sycl::id<1> wiID) {
out_accessor[wiID] = in_accessor[wiID] * 2;
});
});
}