Bolt
1.1
C++ template library with support for OpenCL
|
Namespace containing AMP related data types and functions. More...
Classes | |
class | control |
struct | device_vector_tag |
class | device_vector |
This defines the AMP version of a device_vector. More... | |
struct | unary_function |
struct | binary_function |
struct | square |
struct | cube |
struct | negate |
struct | plus |
struct | minus |
struct | multiplies |
struct | divides |
struct | maximum |
struct | minimum |
struct | modulus |
struct | bit_and |
struct | bit_or |
struct | bit_xor |
struct | logical_not |
struct | equal_to |
struct | not_equal_to |
struct | greater |
struct | less |
struct | greater_equal |
struct | less_equal |
struct | logical_and |
struct | logical_or |
struct | iterator_traits |
struct | iterator_traits< T * > |
struct | iterator_traits< const T * > |
Functions | |
void | getVersion (unsigned int &major, unsigned int &minor, unsigned int &patch) |
Query the Bolt library for version information. | |
template<typename InputIterator , typename EqualityComparable > | |
bolt::amp::iterator_traits < InputIterator > ::difference_type | count (control &ctl, InputIterator first, InputIterator last, const EqualityComparable &value) |
count counts the number of elements in the specified range which compare equal to the specified value . | |
template<typename InputIterator , typename EqualityComparable > | |
bolt::amp::iterator_traits < InputIterator > ::difference_type | count (InputIterator first, InputIterator last, const EqualityComparable &value) |
template<typename InputIterator , typename Predicate > | |
bolt::amp::iterator_traits < InputIterator > ::difference_type | count_if (control &ctl, InputIterator first, InputIterator last, Predicate predicate=bolt::amp::detail::CountIfEqual< int >()) |
count_if counts the number of elements in the specified range for which the specified predicate is true . | |
template<typename InputIterator , typename Predicate > | |
bolt::amp::iterator_traits < InputIterator > ::difference_type | count_if (InputIterator first, InputIterator last, Predicate predicate) |
template<typename InputIterator > | |
std::iterator_traits < InputIterator >::value_type | reduce (bolt::amp::control &ctl, InputIterator first, InputIterator last) |
reduce returns the result of combining all the elements in the specified range using the specified binary_op. The classic example is a summation, where the binary_op is the plus operator. By default, the initial value is "0" and the binary operator is "plus<>()". | |
template<typename InputIterator > | |
std::iterator_traits < InputIterator >::value_type | reduce (InputIterator first, InputIterator last) |
template<typename InputIterator , typename T > | |
T | reduce (bolt::amp::control &ctl, InputIterator first, InputIterator last, T init) |
reduce returns the result of combining all the elements in the specified range using the specified binary_op. The classic example is a summation, where the binary_op is the plus operator. By default, the initial value is "0" and the binary operator is "plus<>()". | |
template<typename InputIterator , typename T > | |
T | reduce (InputIterator first, InputIterator last, T init) |
template<typename InputIterator , typename T , typename BinaryFunction > | |
T | reduce (bolt::amp::control &ctl, InputIterator first, InputIterator last, T init, BinaryFunction binary_op=bolt::amp::plus< T >()) |
reduce returns the result of combining all the elements in the specified range using the specified binary_op. The classic example is a summation, where the binary_op is the plus operator. By default, the binary operator is "plus<>()". The version takes a bolt::amp::control structure as a first argument. | |
template<typename InputIterator , typename T , typename BinaryFunction > | |
T | reduce (InputIterator first, InputIterator last, T init, BinaryFunction binary_op) |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | inclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result) |
inclusive_scan calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum. | |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | inclusive_scan (InputIterator first, InputIterator last, OutputIterator result) |
template<typename InputIterator , typename OutputIterator , typename BinaryFunction > | |
OutputIterator | inclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, BinaryFunction binary_op) |
inclusive_scan calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum. | |
template<typename InputIterator , typename OutputIterator , typename BinaryFunction > | |
OutputIterator | inclusive_scan (InputIterator first, InputIterator last, OutputIterator result, BinaryFunction binary_op) |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result) |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | exclusive_scan (InputIterator first, InputIterator last, OutputIterator result) |
template<typename InputIterator , typename OutputIterator , typename T > | |
OutputIterator | exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, T init) |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator , typename T > | |
OutputIterator | exclusive_scan (InputIterator first, InputIterator last, OutputIterator result, T init) |
template<typename InputIterator , typename OutputIterator , typename T , typename BinaryFunction > | |
OutputIterator | exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, T init, BinaryFunction binary_op) |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator , typename T , typename BinaryFunction > | |
OutputIterator | exclusive_scan (InputIterator first, InputIterator last, OutputIterator result, T init, BinaryFunction binary_op) |
template<typename RandomAccessIterator > | |
void | sort (bolt::amp::control &ctl, RandomAccessIterator first, RandomAccessIterator last) |
template<typename RandomAccessIterator > | |
void | sort (RandomAccessIterator first, RandomAccessIterator last) |
template<typename RandomAccessIterator , typename StrictWeakOrdering > | |
void | sort (bolt::amp::control &ctl, RandomAccessIterator first, RandomAccessIterator last, StrictWeakOrdering comp) |
template<typename RandomAccessIterator , typename StrictWeakOrdering > | |
void | sort (RandomAccessIterator first, RandomAccessIterator last, StrictWeakOrdering comp) |
template<typename InputIterator , typename OutputIterator , typename UnaryFunction > | |
void | transform (control &ctl, InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op) |
template<typename InputIterator , typename OutputIterator , typename UnaryFunction > | |
void | transform (InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op) |
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryFunction > | |
void | transform (control &ctl, InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryFunction op) |
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryFunction > | |
void | transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryFunction op) |
template<typename InputIterator , typename UnaryFunction , typename T , typename BinaryFunction > | |
T | transform_reduce (InputIterator first, InputIterator last, UnaryFunction transform_op, T init, BinaryFunction reduce_op) |
transform_reduce fuses transform and reduce operations together, increasing performance by reducing memory passes. | |
template<typename InputIterator , typename UnaryFunction , typename T , typename BinaryFunction > | |
T | transform_reduce (control &ctl, InputIterator first1, InputIterator last1, UnaryFunction transform_op, T init, BinaryFunction reduce_op) |
transform_reduce fuses transform and reduce operations together, increasing performance by reducing memory passes. | |
template<typename outputT , int Rank, typename UnaryFunction , typename BinaryFunction > | |
outputT | transform_reduce_range (concurrency::accelerator_view av, concurrency::index< Rank > origin, concurrency::extent< Rank > ext, UnaryFunction transform_op, outputT init, BinaryFunction reduce_op) |
template<typename outputT , int Rank, typename UnaryFunction , typename BinaryFunction > | |
outputT | transform_reduce_range (concurrency::index< Rank > origin, concurrency::extent< Rank > ext, UnaryFunction transform_op, outputT init, BinaryFunction reduce_op) |
Namespace containing AMP related data types and functions.
void bolt::amp::getVersion | ( | unsigned int & | major, |
unsigned int & | minor, | ||
unsigned int & | patch | ||
) |
Query the Bolt library for version information.
Return the major, minor and patch version numbers associated with the Bolt library
[out] | major | Major functionality change |
[out] | minor | Minor functionality change |
[out] | patch | Bug fixes, documentation changes, no new features introduced |