[/=========================================================================== Copyright (c) 2013-2015 Kyle Lutz Distributed under the Boost Software License, Version 1.0 See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt =============================================================================/] [section:tutorial Tutorial] [section Hello World] The hello world example gives a simple application that prints the name of the default compute device on the system. The [classref boost::compute::system] class provides access to the OpenCL platforms and devices present on the host system. Compute devices are represented with the [classref boost::compute::device device] class. [import ../example/hello_world.cpp] [hello_world_example] [endsect] [/ hello world] [section Transferring Data] Before any computation occurs, data must be transferred from the host to the compute device. The generic [funcref boost::compute::copy copy()] function provides a simple interface for transfering data and the generic [classref boost::compute::vector vector] class provides a container for storing data on a compute device. The following example shows how to transfer data from an array on the host to a [classref boost::compute::vector vector] on the device and then back to a separate `std::vector` on the host. At the end of the example both `host_array` and `host_vector` contain the same values which were copied through the memory on the compute device. [import ../example/copy_data.cpp] [copy_data_example] [endsect] [/ transferring data] [section Transforming Data] The following example shows how to calculate the square-root of a vector of `float`s on a compute device using the [funcref boost::compute::transform transform()] function. [import ../example/transform_sqrt.cpp] [transform_sqrt_example] [endsect] [/ transforming data] [endsect] [/ tutorial ]