// This file is part of Eigen, a lightweight C++ template library // for linear algebra. // // Copyright (C) 2016 // Mehdi Goli Codeplay Software Ltd. // Ralph Potter Codeplay Software Ltd. // Luke Iwanski Codeplay Software Ltd. // Contact: // // This Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. #define EIGEN_TEST_NO_LONGDOUBLE #define EIGEN_TEST_NO_COMPLEX #define EIGEN_TEST_FUNC cxx11_tensor_device_sycl #define EIGEN_DEFAULT_DENSE_INDEX_TYPE int #define EIGEN_USE_SYCL #include "main.h" #include #include void test_device_sycl(const Eigen::SyclDevice &sycl_device) { std::cout <<"Helo from ComputeCpp: the requested device exists and the device name is : " << sycl_device.m_queue.get_device(). template get_info() < tensorRange = {{sizeDim1}}; Tensor in(tensorRange); Tensor in1(tensorRange); memset(in1.data(), 1,in1.size()*sizeof(int)); int * gpu_in_data = static_cast(sycl_device.allocate(in.size()*sizeof(int))); sycl_device.memset(gpu_in_data, 1,in.size()*sizeof(int) ); sycl_device.memcpyDeviceToHost(in.data(), gpu_in_data, in.size()*sizeof(int) ); for (int i=0; i