101 lines
2.8 KiB
Plaintext
101 lines
2.8 KiB
Plaintext
|
[/===========================================================================
|
||
|
Copyright (c) 2013-2015 Kyle Lutz <kyle.r.lutz@gmail.com>
|
||
|
|
||
|
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:getting_started Getting Started]
|
||
|
|
||
|
[section Installation]
|
||
|
|
||
|
Boost.Compute is available in Boost starting with version 1.61. Visit
|
||
|
[@http://www.boost.org/users/download/] for download instructions.
|
||
|
|
||
|
[endsect]
|
||
|
|
||
|
[section Compilation and Usage]
|
||
|
|
||
|
Boost.Compute is a header-only library, so no linking is required. To use the
|
||
|
library just add the include directory to the compilation flags and link with
|
||
|
the system's OpenCL library. For example, with GCC:
|
||
|
|
||
|
``
|
||
|
g++ -I/path/to/compute/include main.cpp -lOpenCL
|
||
|
``
|
||
|
|
||
|
All of the Boost.Compute headers can be included with the following directive:
|
||
|
|
||
|
``
|
||
|
#include <boost/compute.hpp>
|
||
|
``
|
||
|
|
||
|
If you only want to include the core OpenCL wrapper headers (which have minimal
|
||
|
dependencies on the rest of Boost), use the following directive:
|
||
|
|
||
|
``
|
||
|
#include <boost/compute/core.hpp>
|
||
|
``
|
||
|
|
||
|
All of the classes and functions in Boost.Compute live in the `boost::compute`
|
||
|
namespace and can be brought into global scope with:
|
||
|
|
||
|
``
|
||
|
using namespace boost::compute;
|
||
|
``
|
||
|
|
||
|
[endsect]
|
||
|
|
||
|
[section Configuration Macros]
|
||
|
|
||
|
Boost.Compute provides a number of optional features which can be configured
|
||
|
with the following macros.
|
||
|
|
||
|
[table
|
||
|
[[Macro] [Description]]
|
||
|
[
|
||
|
[[^BOOST_COMPUTE_DEBUG_KERNEL_COMPILATION]][
|
||
|
When defined, if program::build() fails, the program source and
|
||
|
build log will be written to stdout.
|
||
|
]
|
||
|
]
|
||
|
[
|
||
|
[[^BOOST_COMPUTE_HAVE_THREAD_LOCAL]][
|
||
|
Enables the use of C++11 [^thread_local] storage specifier.
|
||
|
]
|
||
|
]
|
||
|
[
|
||
|
[[^BOOST_COMPUTE_THREAD_SAFE]][
|
||
|
Builds Boost.Compute in a thread-safe mode. This requires either
|
||
|
support for C++11 thread-local storage (via defining the
|
||
|
[^BOOST_COMPUTE_HAVE_THREAD_LOCAL] macro) or linking with
|
||
|
Boost.Thread.
|
||
|
]
|
||
|
]
|
||
|
[
|
||
|
[[^BOOST_COMPUTE_USE_OFFLINE_CACHE]][
|
||
|
Enables the offline-cache which stores compiled binaries on disk.
|
||
|
This option requires linking with Boost.Filesystem and
|
||
|
Boost.System.
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
|
||
|
[endsect]
|
||
|
|
||
|
[section Support]
|
||
|
|
||
|
Bugs and issues can be reported to the
|
||
|
[@https://github.com/boostorg/compute/issues?state=open issue tracker].
|
||
|
|
||
|
There is also a mailing list for users and developers at
|
||
|
[@https://groups.google.com/forum/#!forum/boost-compute].
|
||
|
|
||
|
Look through the [link boost_compute.faq FAQ] to see if you're encountering a
|
||
|
known or common issue.
|
||
|
|
||
|
[endsect] [/ support]
|
||
|
|
||
|
[endsect]
|