summaryrefslogtreecommitdiff
path: root/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute
diff options
context:
space:
mode:
Diffstat (limited to 'inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute')
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm.hpp94
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/accumulate.hpp184
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_difference.hpp116
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_find.hpp162
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/all_of.hpp36
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/any_of.hpp40
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/binary_search.hpp37
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy.hpp856
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_if.hpp58
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_n.hpp51
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count.hpp55
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count_if.hpp62
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/balanced_path.hpp162
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/binary_find.hpp133
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/compact.hpp77
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_on_device.hpp190
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_device.hpp193
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_host.hpp198
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_ballot.hpp78
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_reduce.hpp87
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_threads.hpp129
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema.hpp70
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_on_cpu.hpp138
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_atomics.hpp108
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_reduce.hpp443
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_if_with_atomics.hpp212
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/inplace_reduce.hpp136
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/insertion_sort.hpp165
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_path.hpp116
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_cpu.hpp366
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_gpu.hpp590
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_with_merge_path.hpp203
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/radix_sort.hpp461
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key.hpp119
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp541
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_cpu.hpp110
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_gpu.hpp286
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan.hpp45
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_cpu.hpp207
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_gpu.hpp330
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/search_all.hpp86
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_accumulate.hpp56
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_count_if.hpp68
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_find_extrema.hpp87
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_merge.hpp97
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce.hpp62
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce_by_key.hpp108
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_scan.hpp103
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal.hpp53
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal_range.hpp42
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/exclusive_scan.hpp96
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill.hpp306
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill_n.hpp36
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find.hpp57
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_end.hpp136
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if.hpp35
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if_not.hpp43
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each.hpp65
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each_n.hpp35
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/gather.hpp82
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate.hpp49
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate_n.hpp35
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/includes.hpp155
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inclusive_scan.hpp81
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inner_product.hpp93
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/iota.hpp48
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_partitioned.hpp43
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_permutation.hpp67
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_sorted.hpp64
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lexicographical_compare.hpp117
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lower_bound.hpp44
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/max_element.hpp74
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/merge.hpp105
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/min_element.hpp74
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/minmax_element.hpp70
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/mismatch.hpp89
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/next_permutation.hpp170
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/none_of.hpp36
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partial_sum.hpp37
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_copy.hpp63
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_point.hpp46
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/prev_permutation.hpp170
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/random_shuffle.hpp75
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce.hpp301
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce_by_key.hpp118
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove.hpp54
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove_if.hpp47
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace.hpp90
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace_copy.hpp62
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse.hpp74
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse_copy.hpp79
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate.hpp54
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate_copy.hpp41
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/scatter.hpp99
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search.hpp73
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search_n.hpp140
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_difference.hpp182
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_intersection.hpp170
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_symmetric_difference.hpp194
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_union.hpp195
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort.hpp205
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort_by_key.hpp161
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_partition.hpp72
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort.hpp107
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort_by_key.hpp159
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/swap_ranges.hpp44
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform.hpp76
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_if.hpp117
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_reduce.hpp89
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique.hpp66
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique_copy.hpp164
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/upper_bound.hpp43
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator.hpp21
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/buffer_allocator.hpp118
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/pinned_allocator.hpp53
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async.hpp21
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/future.hpp166
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/wait_guard.hpp63
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/buffer.hpp227
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl.hpp20
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl_ext.hpp20
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/closure.hpp347
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/command_queue.hpp1881
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/config.hpp66
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container.hpp27
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/array.hpp317
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/basic_string.hpp331
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/detail/scalar.hpp61
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/dynamic_bitset.hpp237
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_map.hpp406
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_set.hpp339
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/mapped_view.hpp250
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/string.hpp25
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/vector.hpp779
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/context.hpp245
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/assert_cl_success.hpp24
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/buffer_value.hpp178
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/device_ptr.hpp215
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/diagnostic.hpp112
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/duration.hpp50
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/get_object_info.hpp216
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/getenv.hpp36
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/global_static.hpp37
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_buffer_iterator.hpp30
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_contiguous_iterator.hpp118
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_plus_distance.hpp53
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_range_size.hpp44
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/literal.hpp53
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/lru_cache.hpp139
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/meta_kernel.hpp1141
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/mpl_vector_to_tuple.hpp65
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/parameter_cache.hpp215
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/path.hpp73
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/read_write_single_value.hpp77
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/sha1.hpp53
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/variadic_macros.hpp35
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/vendor.hpp50
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/work_size.hpp37
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/device.hpp584
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/event.hpp338
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception.hpp23
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/context_error.hpp88
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/no_device_found.hpp48
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/opencl_error.hpp158
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/unsupported_extension_error.hpp71
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/function.hpp454
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional.hpp34
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/as.hpp51
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/atomic.hpp141
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/bind.hpp261
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/common.hpp29
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/convert.hpp51
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/macros.hpp35
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_ballot.hpp48
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_popcount.hpp42
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/unpack.hpp143
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/field.hpp86
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/geometry.hpp32
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/get.hpp76
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/hash.hpp91
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/identity.hpp64
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/integer.hpp30
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/logical.hpp208
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/math.hpp80
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/operator.hpp100
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/popcount.hpp55
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/relational.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image.hpp25
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image1d.hpp204
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image2d.hpp262
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image3d.hpp265
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_format.hpp135
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_object.hpp170
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_sampler.hpp221
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator.hpp28
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/buffer_iterator.hpp280
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_buffer_iterator.hpp209
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_iterator.hpp171
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/counting_iterator.hpp185
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/detail/get_base_iterator_buffer.hpp52
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/discard_iterator.hpp170
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/function_input_iterator.hpp186
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/permutation_iterator.hpp192
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/transform_iterator.hpp227
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/zip_iterator.hpp316
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/kernel.hpp418
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda.hpp22
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/context.hpp329
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/functional.hpp242
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/get.hpp148
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_pair.hpp70
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_tuple.hpp127
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholder.hpp28
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholders.hpp93
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/result_of.hpp113
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/local_buffer.hpp91
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/svm_ptr.hpp174
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory_object.hpp264
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/pipe.hpp154
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/platform.hpp235
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/program.hpp650
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random.hpp28
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/bernoulli_distribution.hpp100
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/default_random_engine.hpp24
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/discrete_distribution.hpp160
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/linear_congruential_engine.hpp238
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/mersenne_twister_engine.hpp254
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/normal_distribution.hpp140
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/threefry_engine.hpp311
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_int_distribution.hpp119
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_real_distribution.hpp116
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/svm.hpp72
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/system.hpp280
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits.hpp25
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/common_type.hpp55
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/detail/capture_traits.hpp33
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_device_iterator.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_fundamental.hpp58
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_vector_type.hpp38
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/make_vector_type.hpp71
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/result_of.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/scalar_type.hpp72
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_definition.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_name.hpp124
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/vector_size.hpp65
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types.hpp24
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/complex.hpp196
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/fundamental.hpp172
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/pair.hpp117
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/struct.hpp173
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/tuple.hpp220
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/user_event.hpp88
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility.hpp21
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/dim.hpp76
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/extents.hpp164
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/invoke.hpp71
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/program_cache.hpp172
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/source.hpp39
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/wait_list.hpp217
-rw-r--r--inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/version.hpp18
261 files changed, 0 insertions, 37672 deletions
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm.hpp
deleted file mode 100644
index 686640e9e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_HPP
-#define BOOST_COMPUTE_ALGORITHM_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute algorithm headers.
-
-#include <boost/compute/algorithm/accumulate.hpp>
-#include <boost/compute/algorithm/adjacent_difference.hpp>
-#include <boost/compute/algorithm/adjacent_find.hpp>
-#include <boost/compute/algorithm/all_of.hpp>
-#include <boost/compute/algorithm/any_of.hpp>
-#include <boost/compute/algorithm/binary_search.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-#include <boost/compute/algorithm/copy_n.hpp>
-#include <boost/compute/algorithm/count.hpp>
-#include <boost/compute/algorithm/count_if.hpp>
-#include <boost/compute/algorithm/equal.hpp>
-#include <boost/compute/algorithm/equal_range.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/algorithm/fill.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/algorithm/find_end.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/algorithm/find_if_not.hpp>
-#include <boost/compute/algorithm/for_each.hpp>
-#include <boost/compute/algorithm/for_each_n.hpp>
-#include <boost/compute/algorithm/gather.hpp>
-#include <boost/compute/algorithm/generate.hpp>
-#include <boost/compute/algorithm/generate_n.hpp>
-#include <boost/compute/algorithm/inclusive_scan.hpp>
-#include <boost/compute/algorithm/includes.hpp>
-#include <boost/compute/algorithm/inner_product.hpp>
-#include <boost/compute/algorithm/iota.hpp>
-#include <boost/compute/algorithm/is_partitioned.hpp>
-#include <boost/compute/algorithm/is_permutation.hpp>
-#include <boost/compute/algorithm/is_sorted.hpp>
-#include <boost/compute/algorithm/lower_bound.hpp>
-#include <boost/compute/algorithm/lexicographical_compare.hpp>
-#include <boost/compute/algorithm/max_element.hpp>
-#include <boost/compute/algorithm/merge.hpp>
-#include <boost/compute/algorithm/min_element.hpp>
-#include <boost/compute/algorithm/minmax_element.hpp>
-#include <boost/compute/algorithm/mismatch.hpp>
-#include <boost/compute/algorithm/next_permutation.hpp>
-#include <boost/compute/algorithm/none_of.hpp>
-#include <boost/compute/algorithm/partial_sum.hpp>
-#include <boost/compute/algorithm/partition.hpp>
-#include <boost/compute/algorithm/partition_copy.hpp>
-#include <boost/compute/algorithm/partition_point.hpp>
-#include <boost/compute/algorithm/prev_permutation.hpp>
-#include <boost/compute/algorithm/random_shuffle.hpp>
-#include <boost/compute/algorithm/reduce.hpp>
-#include <boost/compute/algorithm/reduce_by_key.hpp>
-#include <boost/compute/algorithm/remove.hpp>
-#include <boost/compute/algorithm/remove_if.hpp>
-#include <boost/compute/algorithm/replace.hpp>
-#include <boost/compute/algorithm/replace_copy.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-#include <boost/compute/algorithm/reverse_copy.hpp>
-#include <boost/compute/algorithm/rotate.hpp>
-#include <boost/compute/algorithm/rotate_copy.hpp>
-#include <boost/compute/algorithm/scatter.hpp>
-#include <boost/compute/algorithm/search.hpp>
-#include <boost/compute/algorithm/search_n.hpp>
-#include <boost/compute/algorithm/set_difference.hpp>
-#include <boost/compute/algorithm/set_intersection.hpp>
-#include <boost/compute/algorithm/set_symmetric_difference.hpp>
-#include <boost/compute/algorithm/set_union.hpp>
-#include <boost/compute/algorithm/sort.hpp>
-#include <boost/compute/algorithm/sort_by_key.hpp>
-#include <boost/compute/algorithm/stable_partition.hpp>
-#include <boost/compute/algorithm/stable_sort.hpp>
-#include <boost/compute/algorithm/stable_sort_by_key.hpp>
-#include <boost/compute/algorithm/swap_ranges.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/algorithm/transform_reduce.hpp>
-#include <boost/compute/algorithm/unique.hpp>
-#include <boost/compute/algorithm/unique_copy.hpp>
-#include <boost/compute/algorithm/upper_bound.hpp>
-
-#endif // BOOST_COMPUTE_ALGORITHM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/accumulate.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/accumulate.hpp
deleted file mode 100644
index 328420a07..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/accumulate.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ACCUMULATE_HPP
-#define BOOST_COMPUTE_ALGORITHM_ACCUMULATE_HPP
-
-#include <boost/preprocessor/seq/for_each.hpp>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/reduce.hpp>
-#include <boost/compute/algorithm/detail/serial_accumulate.hpp>
-#include <boost/compute/container/array.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class T, class BinaryFunction>
-inline T generic_accumulate(InputIterator first,
- InputIterator last,
- T init,
- BinaryFunction function,
- command_queue &queue)
-{
- const context &context = queue.get_context();
-
- size_t size = iterator_range_size(first, last);
- if(size == 0){
- return init;
- }
-
- // accumulate on device
- array<T, 1> device_result(context);
- detail::serial_accumulate(
- first, last, device_result.begin(), init, function, queue
- );
-
- // copy result to host
- T result;
- ::boost::compute::copy_n(device_result.begin(), 1, &result, queue);
- return result;
-}
-
-// returns true if we can use reduce() instead of accumulate() when
-// accumulate() this is true when the function is commutative (such as
-// addition of integers) and the initial value is the identity value
-// for the operation (zero for addition, one for multiplication).
-template<class T, class F>
-inline bool can_accumulate_with_reduce(T init, F function)
-{
- (void) init;
- (void) function;
-
- return false;
-}
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_DECLARE_CAN_ACCUMULATE_WITH_REDUCE(r, data, type) \
- inline bool can_accumulate_with_reduce(type init, plus<type>) \
- { \
- return init == type(0); \
- } \
- inline bool can_accumulate_with_reduce(type init, multiplies<type>) \
- { \
- return init == type(1); \
- }
-
-BOOST_PP_SEQ_FOR_EACH(
- BOOST_COMPUTE_DETAIL_DECLARE_CAN_ACCUMULATE_WITH_REDUCE,
- _,
- (char_)(uchar_)(short_)(ushort_)(int_)(uint_)(long_)(ulong_)
-)
-
-template<class T>
-inline bool can_accumulate_with_reduce(T init, min<T>)
-{
- return init == (std::numeric_limits<T>::max)();
-}
-
-template<class T>
-inline bool can_accumulate_with_reduce(T init, max<T>)
-{
- return init == (std::numeric_limits<T>::min)();
-}
-
-#undef BOOST_COMPUTE_DETAIL_DECLARE_CAN_ACCUMULATE_WITH_REDUCE
-
-template<class InputIterator, class T, class BinaryFunction>
-inline T dispatch_accumulate(InputIterator first,
- InputIterator last,
- T init,
- BinaryFunction function,
- command_queue &queue)
-{
- size_t size = iterator_range_size(first, last);
- if(size == 0){
- return init;
- }
-
- if(can_accumulate_with_reduce(init, function)){
- T result;
- reduce(first, last, &result, function, queue);
- return result;
- }
- else {
- return generic_accumulate(first, last, init, function, queue);
- }
-}
-
-} // end detail namespace
-
-/// Returns the result of applying \p function to the elements in the
-/// range [\p first, \p last) and \p init.
-///
-/// If no function is specified, \c plus will be used.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param init initial value
-/// \param function binary reduction function
-/// \param queue command queue to perform the operation
-///
-/// \return the accumulated result value
-///
-/// In specific situations the call to \c accumulate() can be automatically
-/// optimized to a call to the more efficient \c reduce() algorithm. This
-/// occurs when the binary reduction function is recognized as associative
-/// (such as the \c plus<int> function).
-///
-/// Note that because floating-point addition is not associative, calling
-/// \c accumulate() with \c plus<float> results in a less efficient serial
-/// reduction algorithm being executed. If a slight loss in precision is
-/// acceptable, the more efficient parallel \c reduce() algorithm should be
-/// used instead.
-///
-/// For example:
-/// \code
-/// // with vec = boost::compute::vector<int>
-/// accumulate(vec.begin(), vec.end(), 0, plus<int>()); // fast
-/// reduce(vec.begin(), vec.end(), &result, plus<int>()); // fast
-///
-/// // with vec = boost::compute::vector<float>
-/// accumulate(vec.begin(), vec.end(), 0, plus<float>()); // slow
-/// reduce(vec.begin(), vec.end(), &result, plus<float>()); // fast
-/// \endcode
-///
-/// \see reduce()
-template<class InputIterator, class T, class BinaryFunction>
-inline T accumulate(InputIterator first,
- InputIterator last,
- T init,
- BinaryFunction function,
- command_queue &queue = system::default_queue())
-{
- return detail::dispatch_accumulate(first, last, init, function, queue);
-}
-
-/// \overload
-template<class InputIterator, class T>
-inline T accumulate(InputIterator first,
- InputIterator last,
- T init,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type IT;
-
- return detail::dispatch_accumulate(first, last, init, plus<IT>(), queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ACCUMULATE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_difference.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_difference.hpp
deleted file mode 100644
index ef1397075..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_difference.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ADJACENT_DIFFERENCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_ADJACENT_DIFFERENCE_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/functional/operator.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline OutputIterator
-dispatch_adjacent_difference(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction op,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- detail::meta_kernel k("adjacent_difference");
-
- k << "const uint i = get_global_id(0);\n"
- << "if(i == 0){\n"
- << " " << result[k.var<uint_>("0")] << " = " << first[k.var<uint_>("0")] << ";\n"
- << "}\n"
- << "else {\n"
- << " " << result[k.var<uint_>("i")] << " = "
- << op(first[k.var<uint_>("i")], first[k.var<uint_>("i-1")]) << ";\n"
- << "}\n";
-
- k.exec_1d(queue, 0, count, 1);
-
- return result + count;
-}
-
-} // end detail namespace
-
-/// Stores the difference of each pair of consecutive values in the range
-/// [\p first, \p last) to the range beginning at \p result. If \p op is not
-/// provided, \c minus<T> is used.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param result first element in the output range
-/// \param op binary difference function
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// \see adjacent_find()
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline OutputIterator
-adjacent_difference(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction op,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- if(first == last) {
- return result;
- }
-
- if (first == result) {
- vector<value_type> temp(detail::iterator_range_size(first, last),
- queue.get_context());
- copy(first, last, temp.begin(), queue);
-
- return ::boost::compute::detail::dispatch_adjacent_difference(
- temp.begin(), temp.end(), result, op, queue
- );
- }
- else {
- return ::boost::compute::detail::dispatch_adjacent_difference(
- first, last, result, op, queue
- );
- }
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-adjacent_difference(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::adjacent_difference(
- first, last, result, ::boost::compute::minus<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ADJACENT_DIFFERENCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_find.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_find.hpp
deleted file mode 100644
index 992a01edd..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/adjacent_find.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ADJACENT_FIND_HPP
-#define BOOST_COMPUTE_ALGORITHM_ADJACENT_FIND_HPP
-
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/functional/operator.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Compare>
-inline InputIterator
-serial_adjacent_find(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue)
-{
- if(first == last){
- return last;
- }
-
- const context &context = queue.get_context();
-
- detail::scalar<uint_> output(context);
-
- detail::meta_kernel k("serial_adjacent_find");
-
- size_t size_arg = k.add_arg<const uint_>("size");
- size_t output_arg = k.add_arg<uint_ *>(memory_object::global_memory, "output");
-
- k << k.decl<uint_>("result") << " = size;\n"
- << "for(uint i = 0; i < size - 1; i++){\n"
- << " if(" << compare(first[k.expr<uint_>("i")],
- first[k.expr<uint_>("i+1")]) << "){\n"
- << " result = i;\n"
- << " break;\n"
- << " }\n"
- << "}\n"
- << "*output = result;\n";
-
- k.set_arg<const uint_>(
- size_arg, static_cast<uint_>(detail::iterator_range_size(first, last))
- );
- k.set_arg(output_arg, output.get_buffer());
-
- k.exec_1d(queue, 0, 1, 1);
-
- return first + output.read(queue);
-}
-
-template<class InputIterator, class Compare>
-inline InputIterator
-adjacent_find_with_atomics(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue)
-{
- if(first == last){
- return last;
- }
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(first, last);
-
- // initialize output to the last index
- detail::scalar<uint_> output(context);
- output.write(static_cast<uint_>(count), queue);
-
- detail::meta_kernel k("adjacent_find_with_atomics");
-
- size_t output_arg = k.add_arg<uint_ *>(memory_object::global_memory, "output");
-
- k << "const uint i = get_global_id(0);\n"
- << "if(" << compare(first[k.expr<uint_>("i")],
- first[k.expr<uint_>("i+1")]) << "){\n"
- << " atomic_min(output, i);\n"
- << "}\n";
-
- k.set_arg(output_arg, output.get_buffer());
-
- k.exec_1d(queue, 0, count - 1, 1);
-
- return first + output.read(queue);
-}
-
-} // end detail namespace
-
-/// Searches the range [\p first, \p last) for two identical adjacent
-/// elements and returns an iterator pointing to the first.
-///
-/// \param first first element in the range to search
-/// \param last last element in the range to search
-/// \param compare binary comparison function
-/// \param queue command queue to perform the operation
-///
-/// \return \c InputIteratorm to the first element which compares equal
-/// to the following element. If none are equal, returns \c last.
-///
-/// \see find(), adjacent_difference()
-template<class InputIterator, class Compare>
-inline InputIterator
-adjacent_find(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count < 32){
- return detail::serial_adjacent_find(first, last, compare, queue);
- }
- else {
- return detail::adjacent_find_with_atomics(first, last, compare, queue);
- }
-}
-
-/// \overload
-template<class InputIterator>
-inline InputIterator
-adjacent_find(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- using ::boost::compute::lambda::_1;
- using ::boost::compute::lambda::_2;
- using ::boost::compute::lambda::all;
-
- if(vector_size<value_type>::value == 1){
- return ::boost::compute::adjacent_find(
- first, last, _1 == _2, queue
- );
- }
- else {
- return ::boost::compute::adjacent_find(
- first, last, all(_1 == _2), queue
- );
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ADJACENT_FIND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/all_of.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/all_of.hpp
deleted file mode 100644
index 34d7518f3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/all_of.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ALL_OF_HPP
-#define BOOST_COMPUTE_ALGORITHM_ALL_OF_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/find_if_not.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if \p predicate returns \c true for all of the elements in
-/// the range [\p first, \p last).
-///
-/// \see any_of(), none_of()
-template<class InputIterator, class UnaryPredicate>
-inline bool all_of(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::find_if_not(first, last, predicate, queue) == last;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ALL_OF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/any_of.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/any_of.hpp
deleted file mode 100644
index b07779597..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/any_of.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ANY_OF_HPP
-#define BOOST_COMPUTE_ALGORITHM_ANY_OF_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if \p predicate returns \c true for any of the elements in
-/// the range [\p first, \p last).
-///
-/// For example, to test if a vector contains any negative values:
-///
-/// \snippet test/test_any_all_none_of.cpp any_of
-///
-/// \see all_of(), none_of()
-template<class InputIterator, class UnaryPredicate>
-inline bool any_of(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::find_if(first, last, predicate, queue) != last;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ANY_OF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/binary_search.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/binary_search.hpp
deleted file mode 100644
index 6e1949879..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/binary_search.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_BINARY_SEARCH_HPP
-#define BOOST_COMPUTE_ALGORITHM_BINARY_SEARCH_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/lower_bound.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if \p value is in the sorted range [\p first,
-/// \p last).
-template<class InputIterator, class T>
-inline bool binary_search(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- InputIterator position = lower_bound(first, last, value, queue);
-
- return position != last && position.read(queue) == value;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_BINARY_SEARCH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy.hpp
deleted file mode 100644
index 7779277b8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy.hpp
+++ /dev/null
@@ -1,856 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_COPY_HPP
-
-#include <algorithm>
-#include <iterator>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/or.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/copy_on_device.hpp>
-#include <boost/compute/algorithm/detail/copy_to_device.hpp>
-#include <boost/compute/algorithm/detail/copy_to_host.hpp>
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/container/mapped_view.hpp>
-#include <boost/compute/detail/device_ptr.hpp>
-#include <boost/compute/detail/is_contiguous_iterator.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-namespace mpl = boost::mpl;
-
-// meta-function returning true if copy() between InputIterator and
-// OutputIterator can be implemented with clEnqueueCopyBuffer().
-template<class InputIterator, class OutputIterator>
-struct can_copy_with_copy_buffer :
- mpl::and_<
- mpl::or_<
- boost::is_same<
- InputIterator,
- buffer_iterator<typename InputIterator::value_type>
- >,
- boost::is_same<
- InputIterator,
- detail::device_ptr<typename InputIterator::value_type>
- >
- >,
- mpl::or_<
- boost::is_same<
- OutputIterator,
- buffer_iterator<typename OutputIterator::value_type>
- >,
- boost::is_same<
- OutputIterator,
- detail::device_ptr<typename OutputIterator::value_type>
- >
- >,
- boost::is_same<
- typename InputIterator::value_type,
- typename OutputIterator::value_type
- >
- >::type {};
-
-// meta-function returning true if value_types of HostIterator and
-// DeviceIterator are same
-template<class HostIterator, class DeviceIterator>
-struct is_same_value_type :
- boost::is_same<
- typename boost::remove_cv<
- typename std::iterator_traits<HostIterator>::value_type
- >::type,
- typename boost::remove_cv<
- typename DeviceIterator::value_type
- >::type
- >::type {};
-
-// meta-function returning true if value_type of HostIterator is bool
-template<class HostIterator>
-struct is_bool_value_type :
- boost::is_same<
- typename boost::remove_cv<
- typename std::iterator_traits<HostIterator>::value_type
- >::type,
- bool
- >::type {};
-
-// host -> device (async)
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- mpl::not_<
- is_device_iterator<InputIterator>
- >,
- is_device_iterator<OutputIterator>,
- is_same_value_type<InputIterator, OutputIterator>
- >
- >::type* = 0)
-{
- BOOST_STATIC_ASSERT_MSG(
- is_contiguous_iterator<InputIterator>::value,
- "copy_async() is only supported for contiguous host iterators"
- );
-
- return copy_to_device_async(first, last, result, queue);
-}
-
-// host -> device (async)
-// Type mismatch between InputIterator and OutputIterator value_types
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- mpl::not_<
- is_device_iterator<InputIterator>
- >,
- is_device_iterator<OutputIterator>,
- mpl::not_<
- is_same_value_type<InputIterator, OutputIterator>
- >
- >
- >::type* = 0)
-{
- BOOST_STATIC_ASSERT_MSG(
- is_contiguous_iterator<InputIterator>::value,
- "copy_async() is only supported for contiguous host iterators"
- );
-
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const context &context = queue.get_context();
- size_t count = iterator_range_size(first, last);
-
- if(count < size_t(1)) {
- return future<OutputIterator>();
- }
-
- // map [first; last) to device and run copy kernel
- // on device for copying & casting
- ::boost::compute::mapped_view<input_type> mapped_host(
- // make sure it's a pointer to constant data
- // to force read only mapping
- const_cast<const input_type*>(
- ::boost::addressof(*first)
- ),
- count,
- context
- );
- return copy_on_device_async(
- mapped_host.begin(), mapped_host.end(), result, queue
- );
-}
-
-// host -> device
-// InputIterator is a contiguous iterator
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- mpl::not_<
- is_device_iterator<InputIterator>
- >,
- is_device_iterator<OutputIterator>,
- is_same_value_type<InputIterator, OutputIterator>,
- is_contiguous_iterator<InputIterator>
- >
- >::type* = 0)
-{
- return copy_to_device(first, last, result, queue);
-}
-
-// host -> device
-// Type mismatch between InputIterator and OutputIterator value_types
-// InputIterator is a contiguous iterator
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- mpl::not_<
- is_device_iterator<InputIterator>
- >,
- is_device_iterator<OutputIterator>,
- mpl::not_<
- is_same_value_type<InputIterator, OutputIterator>
- >,
- is_contiguous_iterator<InputIterator>
- >
- >::type* = 0)
-{
- typedef typename OutputIterator::value_type output_type;
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_compute_copy_to_device_")
- + type_name<input_type>() + "_" + type_name<output_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- size_t map_copy_threshold;
- size_t direct_copy_threshold;
-
- // calculate default values of thresholds
- if (device.type() & device::gpu) {
- // GPUs
- map_copy_threshold = 524288; // 0.5 MB
- direct_copy_threshold = 52428800; // 50 MB
- }
- else {
- // CPUs and other devices
- map_copy_threshold = 134217728; // 128 MB
- direct_copy_threshold = 0; // it's never efficient for CPUs
- }
-
- // load thresholds
- map_copy_threshold =
- parameters->get(
- cache_key, "map_copy_threshold", map_copy_threshold
- );
- direct_copy_threshold =
- parameters->get(
- cache_key, "direct_copy_threshold", direct_copy_threshold
- );
-
- // select copy method based on thresholds & input_size_bytes
- size_t count = iterator_range_size(first, last);
- size_t input_size_bytes = count * sizeof(input_type);
-
- // [0; map_copy_threshold) -> copy_to_device_map()
- if(input_size_bytes < map_copy_threshold) {
- return copy_to_device_map(first, last, result, queue);
- }
- // [map_copy_threshold; direct_copy_threshold) -> convert [first; last)
- // on host and then perform copy_to_device()
- else if(input_size_bytes < direct_copy_threshold) {
- std::vector<output_type> vector(first, last);
- return copy_to_device(vector.begin(), vector.end(), result, queue);
- }
-
- // [direct_copy_threshold; inf) -> map [first; last) to device and
- // run copy kernel on device for copying & casting
- // At this point we are sure that count > 1 (first != last).
-
- // Perform async copy to device, wait for it to be finished and
- // return the result.
- // At this point we are sure that count > 1 (first != last), so event
- // returned by dispatch_copy_async() must be valid.
- return dispatch_copy_async(first, last, result, queue).get();
-}
-
-// host -> device
-// InputIterator is NOT a contiguous iterator
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- mpl::not_<
- is_device_iterator<InputIterator>
- >,
- is_device_iterator<OutputIterator>,
- mpl::not_<
- is_contiguous_iterator<InputIterator>
- >
- >
- >::type* = 0)
-{
- typedef typename OutputIterator::value_type output_type;
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_compute_copy_to_device_")
- + type_name<input_type>() + "_" + type_name<output_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- size_t map_copy_threshold;
- size_t direct_copy_threshold;
-
- // calculate default values of thresholds
- if (device.type() & device::gpu) {
- // GPUs
- map_copy_threshold = 524288; // 0.5 MB
- direct_copy_threshold = 52428800; // 50 MB
- }
- else {
- // CPUs and other devices
- map_copy_threshold = 134217728; // 128 MB
- direct_copy_threshold = 0; // it's never efficient for CPUs
- }
-
- // load thresholds
- map_copy_threshold =
- parameters->get(
- cache_key, "map_copy_threshold", map_copy_threshold
- );
- direct_copy_threshold =
- parameters->get(
- cache_key, "direct_copy_threshold", direct_copy_threshold
- );
-
- // select copy method based on thresholds & input_size_bytes
- size_t input_size = iterator_range_size(first, last);
- size_t input_size_bytes = input_size * sizeof(input_type);
-
- // [0; map_copy_threshold) -> copy_to_device_map()
- //
- // if direct_copy_threshold is less than map_copy_threshold
- // copy_to_device_map() is used for every input
- if(input_size_bytes < map_copy_threshold
- || direct_copy_threshold <= map_copy_threshold) {
- return copy_to_device_map(first, last, result, queue);
- }
- // [map_copy_threshold; inf) -> convert [first; last)
- // on host and then perform copy_to_device()
- std::vector<output_type> vector(first, last);
- return copy_to_device(vector.begin(), vector.end(), result, queue);
-}
-
-// device -> host (async)
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- mpl::not_<
- is_device_iterator<OutputIterator>
- >,
- is_same_value_type<OutputIterator, InputIterator>
- >
- >::type* = 0)
-{
- BOOST_STATIC_ASSERT_MSG(
- is_contiguous_iterator<OutputIterator>::value,
- "copy_async() is only supported for contiguous host iterators"
- );
-
- return copy_to_host_async(first, last, result, queue);
-}
-
-// device -> host (async)
-// Type mismatch between InputIterator and OutputIterator value_types
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- mpl::not_<
- is_device_iterator<OutputIterator>
- >,
- mpl::not_<
- is_same_value_type<OutputIterator, InputIterator>
- >
- >
- >::type* = 0)
-{
- BOOST_STATIC_ASSERT_MSG(
- is_contiguous_iterator<OutputIterator>::value,
- "copy_async() is only supported for contiguous host iterators"
- );
-
- typedef typename std::iterator_traits<OutputIterator>::value_type output_type;
- const context &context = queue.get_context();
- size_t count = iterator_range_size(first, last);
-
- if(count < size_t(1)) {
- return future<OutputIterator>();
- }
-
- // map host memory to device
- buffer mapped_host(
- context,
- count * sizeof(output_type),
- buffer::write_only | buffer::use_host_ptr,
- static_cast<void*>(
- ::boost::addressof(*result)
- )
- );
- // copy async on device
- ::boost::compute::future<buffer_iterator<output_type> > future =
- copy_on_device_async(
- first,
- last,
- make_buffer_iterator<output_type>(mapped_host),
- queue
- );
- // update host memory asynchronously by maping and unmaping memory
- event map_event;
- void* ptr = queue.enqueue_map_buffer_async(
- mapped_host,
- CL_MAP_READ,
- 0,
- count * sizeof(output_type),
- map_event,
- future.get_event()
- );
- event unmap_event =
- queue.enqueue_unmap_buffer(mapped_host, ptr, map_event);
- return make_future(result + count, unmap_event);
-}
-
-// device -> host
-// OutputIterator is a contiguous iterator
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- mpl::not_<
- is_device_iterator<OutputIterator>
- >,
- is_same_value_type<OutputIterator, InputIterator>,
- is_contiguous_iterator<OutputIterator>,
- mpl::not_<
- is_bool_value_type<OutputIterator>
- >
- >
- >::type* = 0)
-{
- return copy_to_host(first, last, result, queue);
-}
-
-// device -> host
-// Type mismatch between InputIterator and OutputIterator value_types
-// OutputIterator is NOT a contiguous iterator or value_type of OutputIterator
-// is a boolean type.
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- mpl::not_<
- is_device_iterator<OutputIterator>
- >,
- mpl::or_<
- mpl::not_<
- is_contiguous_iterator<OutputIterator>
- >,
- is_bool_value_type<OutputIterator>
- >
- >
- >::type* = 0)
-{
- typedef typename std::iterator_traits<OutputIterator>::value_type output_type;
- typedef typename InputIterator::value_type input_type;
-
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_compute_copy_to_host_")
- + type_name<input_type>() + "_" + type_name<output_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- size_t map_copy_threshold;
- size_t direct_copy_threshold;
-
- // calculate default values of thresholds
- if (device.type() & device::gpu) {
- // GPUs
- map_copy_threshold = 33554432; // 30 MB
- direct_copy_threshold = 0; // it's never efficient for GPUs
- }
- else {
- // CPUs and other devices
- map_copy_threshold = 134217728; // 128 MB
- direct_copy_threshold = 0; // it's never efficient for CPUs
- }
-
- // load thresholds
- map_copy_threshold =
- parameters->get(
- cache_key, "map_copy_threshold", map_copy_threshold
- );
- direct_copy_threshold =
- parameters->get(
- cache_key, "direct_copy_threshold", direct_copy_threshold
- );
-
- // select copy method based on thresholds & input_size_bytes
- size_t count = iterator_range_size(first, last);
- size_t input_size_bytes = count * sizeof(input_type);
-
- // [0; map_copy_threshold) -> copy_to_host_map()
- //
- // if direct_copy_threshold is less than map_copy_threshold
- // copy_to_host_map() is used for every input
- if(input_size_bytes < map_copy_threshold
- || direct_copy_threshold <= map_copy_threshold) {
- return copy_to_host_map(first, last, result, queue);
- }
- // [map_copy_threshold; inf) -> copy [first;last) to temporary vector
- // then copy (and convert) to result using std::copy()
- std::vector<input_type> vector(count);
- copy_to_host(first, last, vector.begin(), queue);
- return std::copy(vector.begin(), vector.end(), result);
-}
-
-// device -> host
-// Type mismatch between InputIterator and OutputIterator value_types
-// OutputIterator is a contiguous iterator
-// value_type of OutputIterator is NOT a boolean type
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- mpl::not_<
- is_device_iterator<OutputIterator>
- >,
- mpl::not_<
- is_same_value_type<OutputIterator, InputIterator>
- >,
- is_contiguous_iterator<OutputIterator>,
- mpl::not_<
- is_bool_value_type<OutputIterator>
- >
- >
- >::type* = 0)
-{
- typedef typename std::iterator_traits<OutputIterator>::value_type output_type;
- typedef typename InputIterator::value_type input_type;
-
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_compute_copy_to_host_")
- + type_name<input_type>() + "_" + type_name<output_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- size_t map_copy_threshold;
- size_t direct_copy_threshold;
-
- // calculate default values of thresholds
- if (device.type() & device::gpu) {
- // GPUs
- map_copy_threshold = 524288; // 0.5 MB
- direct_copy_threshold = 52428800; // 50 MB
- }
- else {
- // CPUs and other devices
- map_copy_threshold = 134217728; // 128 MB
- direct_copy_threshold = 0; // it's never efficient for CPUs
- }
-
- // load thresholds
- map_copy_threshold =
- parameters->get(
- cache_key, "map_copy_threshold", map_copy_threshold
- );
- direct_copy_threshold =
- parameters->get(
- cache_key, "direct_copy_threshold", direct_copy_threshold
- );
-
- // select copy method based on thresholds & input_size_bytes
- size_t count = iterator_range_size(first, last);
- size_t input_size_bytes = count * sizeof(input_type);
-
- // [0; map_copy_threshold) -> copy_to_host_map()
- if(input_size_bytes < map_copy_threshold) {
- return copy_to_host_map(first, last, result, queue);
- }
- // [map_copy_threshold; direct_copy_threshold) -> copy [first;last) to
- // temporary vector then copy (and convert) to result using std::copy()
- else if(input_size_bytes < direct_copy_threshold) {
- std::vector<input_type> vector(count);
- copy_to_host(first, last, vector.begin(), queue);
- return std::copy(vector.begin(), vector.end(), result);
- }
-
- // [direct_copy_threshold; inf) -> map [result; result + input_size) to
- // device and run copy kernel on device for copying & casting
- // map host memory to device.
-
- // Perform async copy to host, wait for it to be finished and
- // return the result.
- // At this point we are sure that count > 1 (first != last), so event
- // returned by dispatch_copy_async() must be valid.
- return dispatch_copy_async(first, last, result, queue).get();
-}
-
-// device -> device
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- is_device_iterator<OutputIterator>,
- mpl::not_<
- can_copy_with_copy_buffer<
- InputIterator, OutputIterator
- >
- >
- >
- >::type* = 0)
-{
- return copy_on_device(first, last, result, queue);
-}
-
-// device -> device (specialization for buffer iterators)
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- is_device_iterator<OutputIterator>,
- can_copy_with_copy_buffer<
- InputIterator, OutputIterator
- >
- >
- >::type* = 0)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- difference_type n = std::distance(first, last);
- if(n < 1){
- // nothing to copy
- return result;
- }
-
- queue.enqueue_copy_buffer(first.get_buffer(),
- result.get_buffer(),
- first.get_index() * sizeof(value_type),
- result.get_index() * sizeof(value_type),
- static_cast<size_t>(n) * sizeof(value_type));
- return result + n;
-}
-
-// device -> device (async)
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- is_device_iterator<OutputIterator>,
- mpl::not_<
- can_copy_with_copy_buffer<
- InputIterator, OutputIterator
- >
- >
- >
- >::type* = 0)
-{
- return copy_on_device_async(first, last, result, queue);
-}
-
-// device -> device (async, specialization for buffer iterators)
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-dispatch_copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if<
- mpl::and_<
- is_device_iterator<InputIterator>,
- is_device_iterator<OutputIterator>,
- can_copy_with_copy_buffer<
- InputIterator, OutputIterator
- >
- >
- >::type* = 0)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- difference_type n = std::distance(first, last);
- if(n < 1){
- // nothing to copy
- return make_future(result, event());
- }
-
- event event_ =
- queue.enqueue_copy_buffer(
- first.get_buffer(),
- result.get_buffer(),
- first.get_index() * sizeof(value_type),
- result.get_index() * sizeof(value_type),
- static_cast<size_t>(n) * sizeof(value_type)
- );
-
- return make_future(result + n, event_);
-}
-
-// host -> host
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-dispatch_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue,
- typename boost::enable_if_c<
- !is_device_iterator<InputIterator>::value &&
- !is_device_iterator<OutputIterator>::value
- >::type* = 0)
-{
- (void) queue;
-
- return std::copy(first, last, result);
-}
-
-} // end detail namespace
-
-/// Copies the values in the range [\p first, \p last) to the range
-/// beginning at \p result.
-///
-/// The generic copy() function can be used for a variety of data
-/// transfer tasks and provides a standard interface to the following
-/// OpenCL functions:
-///
-/// \li \c clEnqueueReadBuffer()
-/// \li \c clEnqueueWriteBuffer()
-/// \li \c clEnqueueCopyBuffer()
-///
-/// Unlike the aforementioned OpenCL functions, copy() will also work
-/// with non-contiguous data-structures (e.g. \c std::list<T>) as
-/// well as with "fancy" iterators (e.g. transform_iterator).
-///
-/// \param first first element in the range to copy
-/// \param last last element in the range to copy
-/// \param result first element in the result range
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// For example, to copy an array of \c int values on the host to a vector on
-/// the device:
-/// \code
-/// // array on the host
-/// int data[] = { 1, 2, 3, 4 };
-///
-/// // vector on the device
-/// boost::compute::vector<int> vec(4, context);
-///
-/// // copy values to the device vector
-/// boost::compute::copy(data, data + 4, vec.begin(), queue);
-/// \endcode
-///
-/// The copy algorithm can also be used with standard containers such as
-/// \c std::vector<T>:
-/// \code
-/// std::vector<int> host_vector = ...
-/// boost::compute::vector<int> device_vector = ...
-///
-/// // copy from the host to the device
-/// boost::compute::copy(
-/// host_vector.begin(), host_vector.end(), device_vector.begin(), queue
-/// );
-///
-/// // copy from the device to the host
-/// boost::compute::copy(
-/// device_vector.begin(), device_vector.end(), host_vector.begin(), queue
-/// );
-/// \endcode
-///
-/// \see copy_n(), copy_if(), copy_async()
-template<class InputIterator, class OutputIterator>
-inline OutputIterator copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- return detail::dispatch_copy(first, last, result, queue);
-}
-
-/// Copies the values in the range [\p first, \p last) to the range
-/// beginning at \p result. The copy is performed asynchronously.
-///
-/// \see copy()
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator>
-copy_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- return detail::dispatch_copy_async(first, last, result, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_if.hpp
deleted file mode 100644
index 3cd08ef29..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_if.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_COPY_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_COPY_IF_HPP
-
-#include <boost/compute/algorithm/transform_if.hpp>
-#include <boost/compute/functional/identity.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// like the copy_if() algorithm but writes the indices of the values for which
-// predicate returns true.
-template<class InputIterator, class OutputIterator, class Predicate>
-inline OutputIterator copy_index_if(InputIterator first,
- InputIterator last,
- OutputIterator result,
- Predicate predicate,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- return detail::transform_if_impl(
- first, last, result, identity<T>(), predicate, true, queue
- );
-}
-
-} // end detail namespace
-
-/// Copies each element in the range [\p first, \p last) for which
-/// \p predicate returns \c true to the range beginning at \p result.
-template<class InputIterator, class OutputIterator, class Predicate>
-inline OutputIterator copy_if(InputIterator first,
- InputIterator last,
- OutputIterator result,
- Predicate predicate,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- return ::boost::compute::transform_if(
- first, last, result, identity<T>(), predicate, queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_COPY_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_n.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_n.hpp
deleted file mode 100644
index f0989edc6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/copy_n.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_COPY_N_HPP
-#define BOOST_COMPUTE_ALGORITHM_COPY_N_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Copies \p count elements from \p first to \p result.
-///
-/// For example, to copy four values from the host to the device:
-/// \code
-/// // values on the host and vector on the device
-/// float values[4] = { 1.f, 2.f, 3.f, 4.f };
-/// boost::compute::vector<float> vec(4, context);
-///
-/// // copy from the host to the device
-/// boost::compute::copy_n(values, 4, vec.begin(), queue);
-/// \endcode
-///
-/// \see copy()
-template<class InputIterator, class Size, class OutputIterator>
-inline OutputIterator copy_n(InputIterator first,
- Size count,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- return ::boost::compute::copy(first,
- first + static_cast<difference_type>(count),
- result,
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_COPY_N_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count.hpp
deleted file mode 100644
index 140d67379..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_COUNT_HPP
-#define BOOST_COMPUTE_ALGORITHM_COUNT_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/count_if.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns the number of occurrences of \p value in the range
-/// [\p first, \p last).
-///
-/// \see count_if()
-template<class InputIterator, class T>
-inline size_t count(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- using ::boost::compute::_1;
- using ::boost::compute::lambda::all;
-
- if(vector_size<value_type>::value == 1){
- return ::boost::compute::count_if(first,
- last,
- _1 == value,
- queue);
- }
- else {
- return ::boost::compute::count_if(first,
- last,
- all(_1 == value),
- queue);
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_COUNT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count_if.hpp
deleted file mode 100644
index c9381ce5d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/count_if.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_COUNT_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_COUNT_IF_HPP
-
-#include <boost/compute/device.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/count_if_with_ballot.hpp>
-#include <boost/compute/algorithm/detail/count_if_with_reduce.hpp>
-#include <boost/compute/algorithm/detail/count_if_with_threads.hpp>
-#include <boost/compute/algorithm/detail/serial_count_if.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns the number of elements in the range [\p first, \p last)
-/// for which \p predicate returns \c true.
-template<class InputIterator, class Predicate>
-inline size_t count_if(InputIterator first,
- InputIterator last,
- Predicate predicate,
- command_queue &queue = system::default_queue())
-{
- const device &device = queue.get_device();
-
- size_t input_size = detail::iterator_range_size(first, last);
- if(input_size == 0){
- return 0;
- }
-
- if(device.type() & device::cpu){
- if(input_size < 1024){
- return detail::serial_count_if(first, last, predicate, queue);
- }
- else {
- return detail::count_if_with_threads(first, last, predicate, queue);
- }
- }
- else {
- if(input_size < 32){
- return detail::serial_count_if(first, last, predicate, queue);
- }
- else {
- return detail::count_if_with_reduce(first, last, predicate, queue);
- }
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_COUNT_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/balanced_path.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/balanced_path.hpp
deleted file mode 100644
index e5025532d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/balanced_path.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_BALANCED_PATH_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_BALANCED_PATH_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Balanced Path kernel class
-///
-/// Subclass of meta_kernel to break two sets into tiles according
-/// to their balanced path.
-///
-class balanced_path_kernel : public meta_kernel
-{
-public:
- unsigned int tile_size;
-
- balanced_path_kernel() : meta_kernel("balanced_path")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class OutputIterator1, class OutputIterator2,
- class Compare>
- void set_range(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator1 result_a,
- OutputIterator2 result_b,
- Compare comp)
- {
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- m_a_count = iterator_range_size(first1, last1);
- m_a_count_arg = add_arg<uint_>("a_count");
-
- m_b_count = iterator_range_size(first2, last2);
- m_b_count_arg = add_arg<uint_>("b_count");
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint target = (i+1)*" << tile_size << ";\n" <<
- "uint start = max(convert_int(0),convert_int(target)-convert_int(b_count));\n" <<
- "uint end = min(target,a_count);\n" <<
- "uint a_index, b_index;\n" <<
- "while(start<end)\n" <<
- "{\n" <<
- " a_index = (start + end)/2;\n" <<
- " b_index = target - a_index - 1;\n" <<
- " if(!(" << comp(first2[expr<uint_>("b_index")],
- first1[expr<uint_>("a_index")]) << "))\n" <<
- " start = a_index + 1;\n" <<
- " else end = a_index;\n" <<
- "}\n" <<
- "a_index = start;\n" <<
- "b_index = target - start;\n" <<
- "if(b_index < b_count)\n" <<
- "{\n" <<
- " " << decl<const value_type>("x") << " = " <<
- first2[expr<uint_>("b_index")] << ";\n" <<
- " uint a_start = 0, a_end = a_index, a_mid;\n" <<
- " uint b_start = 0, b_end = b_index, b_mid;\n" <<
- " while(a_start<a_end)\n" <<
- " {\n" <<
- " a_mid = (a_start + a_end)/2;\n" <<
- " if(" << comp(first1[expr<uint_>("a_mid")], expr<value_type>("x")) << ")\n" <<
- " a_start = a_mid+1;\n" <<
- " else a_end = a_mid;\n" <<
- " }\n" <<
- " while(b_start<b_end)\n" <<
- " {\n" <<
- " b_mid = (b_start + b_end)/2;\n" <<
- " if(" << comp(first2[expr<uint_>("b_mid")], expr<value_type>("x")) << ")\n" <<
- " b_start = b_mid+1;\n" <<
- " else b_end = b_mid;\n" <<
- " }\n" <<
- " uint a_run = a_index - a_start;\n" <<
- " uint b_run = b_index - b_start;\n" <<
- " uint x_count = a_run + b_run;\n" <<
- " uint b_advance = max(x_count / 2, x_count - a_run);\n" <<
- " b_end = min(b_count, b_start + b_advance + 1);\n" <<
- " uint temp_start = b_index, temp_end = b_end, temp_mid;" <<
- " while(temp_start < temp_end)\n" <<
- " {\n" <<
- " temp_mid = (temp_start + temp_end + 1)/2;\n" <<
- " if(" << comp(expr<value_type>("x"), first2[expr<uint_>("temp_mid")]) << ")\n" <<
- " temp_end = temp_mid-1;\n" <<
- " else temp_start = temp_mid;\n" <<
- " }\n" <<
- " b_run = temp_start - b_start + 1;\n" <<
- " b_advance = min(b_advance, b_run);\n" <<
- " uint a_advance = x_count - b_advance;\n" <<
- " uint star = convert_uint((a_advance == b_advance + 1) " <<
- "&& (b_advance < b_run));\n" <<
- " a_index = a_start + a_advance;\n" <<
- " b_index = target - a_index + star;\n" <<
- "}\n" <<
- result_a[expr<uint_>("i")] << " = a_index;\n" <<
- result_b[expr<uint_>("i")] << " = b_index;\n";
-
- }
-
- template<class InputIterator1, class InputIterator2,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator1 result_a,
- OutputIterator2 result_b)
- {
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
- ::boost::compute::less<value_type> less_than;
- set_range(first1, last1, first2, last2, result_a, result_b, less_than);
- }
-
- event exec(command_queue &queue)
- {
- if((m_a_count + m_b_count)/tile_size == 0) {
- return event();
- }
-
- set_arg(m_a_count_arg, uint_(m_a_count));
- set_arg(m_b_count_arg, uint_(m_b_count));
-
- return exec_1d(queue, 0, (m_a_count + m_b_count)/tile_size);
- }
-
-private:
- size_t m_a_count;
- size_t m_a_count_arg;
- size_t m_b_count;
- size_t m_b_count_arg;
-};
-
-} //end detail namespace
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_BALANCED_PATH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/binary_find.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/binary_find.hpp
deleted file mode 100644
index 27fa11fba..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/binary_find.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_BINARY_FIND_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_BINARY_FIND_HPP
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail{
-
-///
-/// \brief Binary find kernel class
-///
-/// Subclass of meta_kernel to perform single step in binary find.
-///
-template<class InputIterator, class UnaryPredicate>
-class binary_find_kernel : public meta_kernel
-{
-public:
- binary_find_kernel(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate)
- : meta_kernel("binary_find")
- {
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- m_index_arg = add_arg<uint_ *>(memory_object::global_memory, "index");
- m_block_arg = add_arg<uint_>("block");
-
- atomic_min<uint_> atomic_min_uint;
-
- *this <<
- "uint i = get_global_id(0) * block;\n" <<
- decl<value_type>("value") << "=" << first[var<uint_>("i")] << ";\n" <<
- "if(" << predicate(var<value_type>("value")) << ") {\n" <<
- atomic_min_uint(var<uint_ *>("index"), var<uint_>("i")) << ";\n" <<
- "}\n";
- }
-
- size_t m_index_arg;
- size_t m_block_arg;
-};
-
-///
-/// \brief Binary find algorithm
-///
-/// Finds the end of true values in the partitioned range [first, last).
-/// \return Iterator pointing to end of true values
-///
-/// \param first Iterator pointing to start of range
-/// \param last Iterator pointing to end of range
-/// \param predicate Predicate according to which the range is partitioned
-/// \param queue Queue on which to execute
-///
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator binary_find(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- const device &device = queue.get_device();
-
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- const std::string cache_key = "__boost_binary_find";
-
- size_t find_if_limit = 128;
- size_t threads = parameters->get(cache_key, "tpb", 128);
- size_t count = iterator_range_size(first, last);
-
- InputIterator search_first = first;
- InputIterator search_last = last;
-
- scalar<uint_> index(queue.get_context());
-
- // construct and compile binary_find kernel
- binary_find_kernel<InputIterator, UnaryPredicate>
- binary_find_kernel(search_first, search_last, predicate);
- ::boost::compute::kernel kernel = binary_find_kernel.compile(queue.get_context());
-
- // set buffer for index
- kernel.set_arg(binary_find_kernel.m_index_arg, index.get_buffer());
-
- while(count > find_if_limit) {
- index.write(static_cast<uint_>(count), queue);
-
- // set block and run binary_find kernel
- uint_ block = static_cast<uint_>((count - 1)/(threads - 1));
- kernel.set_arg(binary_find_kernel.m_block_arg, block);
- queue.enqueue_1d_range_kernel(kernel, 0, threads, 0);
-
- size_t i = index.read(queue);
-
- if(i == count) {
- search_first = search_last - ((count - 1)%(threads - 1));
- break;
- } else {
- search_last = search_first + i;
- search_first = search_last - ((count - 1)/(threads - 1));
- }
-
- // Make sure that first and last stay within the input range
- search_last = (std::min)(search_last, last);
- search_last = (std::max)(search_last, first);
-
- search_first = (std::max)(search_first, first);
- search_first = (std::min)(search_first, last);
-
- count = iterator_range_size(search_first, search_last);
- }
-
- return find_if(search_first, search_last, predicate, queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_BINARY_FIND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/compact.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/compact.hpp
deleted file mode 100644
index 983352d54..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/compact.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COMPACT_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COMPACT_HPP
-
-#include <iterator>
-
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Compact kernel class
-///
-/// Subclass of meta_kernel to compact the result of set kernels to
-/// get actual sets
-///
-class compact_kernel : public meta_kernel
-{
-public:
- unsigned int tile_size;
-
- compact_kernel() : meta_kernel("compact")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2, class OutputIterator>
- void set_range(InputIterator1 start,
- InputIterator2 counts_begin,
- InputIterator2 counts_end,
- OutputIterator result)
- {
- m_count = iterator_range_size(counts_begin, counts_end) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint count = i*" << tile_size << ";\n" <<
- "for(uint j = " << counts_begin[expr<uint_>("i")] << "; j<" <<
- counts_begin[expr<uint_>("i+1")] << "; j++, count++)\n" <<
- "{\n" <<
- result[expr<uint_>("j")] << " = " << start[expr<uint_>("count")]
- << ";\n" <<
- "}\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COMPACT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_on_device.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_on_device.hpp
deleted file mode 100644
index 8738c8c0b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_on_device.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_ON_DEVICE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_ON_DEVICE_HPP
-
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-#include <boost/compute/memory/svm_ptr.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/detail/work_size.hpp>
-#include <boost/compute/detail/vendor.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator>
-inline event copy_on_device_cpu(InputIterator first,
- OutputIterator result,
- size_t count,
- command_queue &queue)
-{
- meta_kernel k("copy");
- const device& device = queue.get_device();
-
- k <<
- "uint block = " <<
- "(uint)ceil(((float)count)/get_global_size(0));\n" <<
- "uint index = get_global_id(0) * block;\n" <<
- "uint end = min(count, index + block);\n" <<
- "while(index < end){\n" <<
- result[k.var<uint_>("index")] << '=' <<
- first[k.var<uint_>("index")] << ";\n" <<
- "index++;\n" <<
- "}\n";
-
- k.add_set_arg<const uint_>("count", static_cast<uint_>(count));
-
- size_t global_work_size = device.compute_units();
- if(count <= 1024) global_work_size = 1;
- return k.exec_1d(queue, 0, global_work_size);
-}
-
-template<class InputIterator, class OutputIterator>
-inline event copy_on_device_gpu(InputIterator first,
- OutputIterator result,
- size_t count,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const device& device = queue.get_device();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
- std::string cache_key =
- "__boost_copy_kernel_" + boost::lexical_cast<std::string>(sizeof(input_type));
-
- uint_ vpt = parameters->get(cache_key, "vpt", 4);
- uint_ tpb = parameters->get(cache_key, "tpb", 128);
-
- meta_kernel k("copy");
- k <<
- "uint index = get_local_id(0) + " <<
- "(" << vpt * tpb << " * get_group_id(0));\n" <<
- "for(uint i = 0; i < " << vpt << "; i++){\n" <<
- " if(index < count){\n" <<
- result[k.var<uint_>("index")] << '=' <<
- first[k.var<uint_>("index")] << ";\n" <<
- " index += " << tpb << ";\n"
- " }\n"
- "}\n";
-
- k.add_set_arg<const uint_>("count", static_cast<uint_>(count));
- size_t global_work_size = calculate_work_size(count, vpt, tpb);
- return k.exec_1d(queue, 0, global_work_size, tpb);
-}
-
-template<class InputIterator, class OutputIterator>
-inline event dispatch_copy_on_device(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue)
-{
- const size_t count = detail::iterator_range_size(first, last);
-
- if(count == 0){
- // nothing to do
- return event();
- }
-
- const device& device = queue.get_device();
- // copy_on_device_cpu() does not work for CPU on Apple platform
- // due to bug in its compiler.
- // See https://github.com/boostorg/compute/pull/626
- if((device.type() & device::cpu) && !is_apple_platform_device(device))
- {
- return copy_on_device_cpu(first, result, count, queue);
- }
- return copy_on_device_gpu(first, result, count, queue);
-}
-
-template<class InputIterator, class OutputIterator>
-inline OutputIterator copy_on_device(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue)
-{
- dispatch_copy_on_device(first, last, result, queue);
- return result + std::distance(first, last);
-}
-
-template<class InputIterator>
-inline discard_iterator copy_on_device(InputIterator first,
- InputIterator last,
- discard_iterator result,
- command_queue &queue)
-{
- (void) queue;
-
- return result + std::distance(first, last);
-}
-
-template<class InputIterator, class OutputIterator>
-inline future<OutputIterator> copy_on_device_async(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue)
-{
- event event_ = dispatch_copy_on_device(first, last, result, queue);
- return make_future(result + std::distance(first, last), event_);
-}
-
-#ifdef CL_VERSION_2_0
-// copy_on_device() specialization for svm_ptr
-template<class T>
-inline svm_ptr<T> copy_on_device(svm_ptr<T> first,
- svm_ptr<T> last,
- svm_ptr<T> result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- queue.enqueue_svm_memcpy(
- result.get(), first.get(), count * sizeof(T)
- );
-
- return result + count;
-}
-
-template<class T>
-inline future<svm_ptr<T> > copy_on_device_async(svm_ptr<T> first,
- svm_ptr<T> last,
- svm_ptr<T> result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return future<svm_ptr<T> >();
- }
-
- event event_ = queue.enqueue_svm_memcpy_async(
- result.get(), first.get(), count * sizeof(T)
- );
-
- return make_future(result + count, event_);
-}
-#endif // CL_VERSION_2_0
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_ON_DEVICE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_device.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_device.hpp
deleted file mode 100644
index bce5975f5..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_device.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_DEVICE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_DEVICE_HPP
-
-#include <iterator>
-
-#include <boost/utility/addressof.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/memory/svm_ptr.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class HostIterator, class DeviceIterator>
-inline DeviceIterator copy_to_device(HostIterator first,
- HostIterator last,
- DeviceIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
- typedef typename
- std::iterator_traits<DeviceIterator>::difference_type
- difference_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- size_t offset = result.get_index();
-
- queue.enqueue_write_buffer(result.get_buffer(),
- offset * sizeof(value_type),
- count * sizeof(value_type),
- ::boost::addressof(*first));
-
- return result + static_cast<difference_type>(count);
-}
-
-template<class HostIterator, class DeviceIterator>
-inline DeviceIterator copy_to_device_map(HostIterator first,
- HostIterator last,
- DeviceIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
- typedef typename
- std::iterator_traits<DeviceIterator>::difference_type
- difference_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- size_t offset = result.get_index();
-
- // map result buffer to host
- value_type *pointer = static_cast<value_type*>(
- queue.enqueue_map_buffer(
- result.get_buffer(),
- CL_MAP_WRITE,
- offset * sizeof(value_type),
- count * sizeof(value_type)
- )
- );
-
- // copy [first; last) to result buffer
- std::copy(first, last, pointer);
-
- // unmap result buffer
- boost::compute::event unmap_event = queue.enqueue_unmap_buffer(
- result.get_buffer(),
- static_cast<void*>(pointer)
- );
- unmap_event.wait();
-
- return result + static_cast<difference_type>(count);
-}
-
-template<class HostIterator, class DeviceIterator>
-inline future<DeviceIterator> copy_to_device_async(HostIterator first,
- HostIterator last,
- DeviceIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
- typedef typename
- std::iterator_traits<DeviceIterator>::difference_type
- difference_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return future<DeviceIterator>();
- }
-
- size_t offset = result.get_index();
-
- event event_ =
- queue.enqueue_write_buffer_async(result.get_buffer(),
- offset * sizeof(value_type),
- count * sizeof(value_type),
- ::boost::addressof(*first));
-
- return make_future(result + static_cast<difference_type>(count), event_);
-}
-
-#ifdef CL_VERSION_2_0
-// copy_to_device() specialization for svm_ptr
-template<class HostIterator, class T>
-inline svm_ptr<T> copy_to_device(HostIterator first,
- HostIterator last,
- svm_ptr<T> result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- queue.enqueue_svm_memcpy(
- result.get(), ::boost::addressof(*first), count * sizeof(T)
- );
-
- return result + count;
-}
-
-template<class HostIterator, class T>
-inline future<svm_ptr<T> > copy_to_device_async(HostIterator first,
- HostIterator last,
- svm_ptr<T> result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return future<svm_ptr<T> >();
- }
-
- event event_ = queue.enqueue_svm_memcpy_async(
- result.get(), ::boost::addressof(*first), count * sizeof(T)
- );
-
- return make_future(result + count, event_);
-}
-
-template<class HostIterator, class T>
-inline svm_ptr<T> copy_to_device_map(HostIterator first,
- HostIterator last,
- svm_ptr<T> result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- // map
- queue.enqueue_svm_map(result.get(), count * sizeof(T), CL_MAP_WRITE);
-
- // copy [first; last) to result buffer
- std::copy(first, last, static_cast<T*>(result.get()));
-
- // unmap result
- queue.enqueue_svm_unmap(result.get()).wait();
-
- return result + count;
-}
-#endif // CL_VERSION_2_0
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_DEVICE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_host.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_host.hpp
deleted file mode 100644
index d770a996e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/copy_to_host.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_HOST_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_HOST_HPP
-
-#include <iterator>
-
-#include <boost/utility/addressof.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/memory/svm_ptr.hpp>
-#include <boost/compute/detail/iterator_plus_distance.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class DeviceIterator, class HostIterator>
-inline HostIterator copy_to_host(DeviceIterator first,
- DeviceIterator last,
- HostIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- const buffer &buffer = first.get_buffer();
- size_t offset = first.get_index();
-
- queue.enqueue_read_buffer(buffer,
- offset * sizeof(value_type),
- count * sizeof(value_type),
- ::boost::addressof(*result));
-
- return iterator_plus_distance(result, count);
-}
-
-template<class DeviceIterator, class HostIterator>
-inline HostIterator copy_to_host_map(DeviceIterator first,
- DeviceIterator last,
- HostIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
- typedef typename
- std::iterator_traits<DeviceIterator>::difference_type
- difference_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- size_t offset = first.get_index();
-
- // map [first; last) buffer to host
- value_type *pointer = static_cast<value_type*>(
- queue.enqueue_map_buffer(
- first.get_buffer(),
- CL_MAP_READ,
- offset * sizeof(value_type),
- count * sizeof(value_type)
- )
- );
-
- // copy [first; last) to result buffer
- std::copy(
- pointer,
- pointer + static_cast<difference_type>(count),
- result
- );
-
- // unmap [first; last)
- boost::compute::event unmap_event = queue.enqueue_unmap_buffer(
- first.get_buffer(),
- static_cast<void*>(pointer)
- );
- unmap_event.wait();
-
- return iterator_plus_distance(result, count);
-}
-
-template<class DeviceIterator, class HostIterator>
-inline future<HostIterator> copy_to_host_async(DeviceIterator first,
- DeviceIterator last,
- HostIterator result,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<DeviceIterator>::value_type
- value_type;
-
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return future<HostIterator>();
- }
-
- const buffer &buffer = first.get_buffer();
- size_t offset = first.get_index();
-
- event event_ =
- queue.enqueue_read_buffer_async(buffer,
- offset * sizeof(value_type),
- count * sizeof(value_type),
- ::boost::addressof(*result));
-
- return make_future(iterator_plus_distance(result, count), event_);
-}
-
-#ifdef CL_VERSION_2_0
-// copy_to_host() specialization for svm_ptr
-template<class T, class HostIterator>
-inline HostIterator copy_to_host(svm_ptr<T> first,
- svm_ptr<T> last,
- HostIterator result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- queue.enqueue_svm_memcpy(
- ::boost::addressof(*result), first.get(), count * sizeof(T)
- );
-
- return result + count;
-}
-
-template<class T, class HostIterator>
-inline future<HostIterator> copy_to_host_async(svm_ptr<T> first,
- svm_ptr<T> last,
- HostIterator result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return future<HostIterator>();
- }
-
- event event_ = queue.enqueue_svm_memcpy_async(
- ::boost::addressof(*result), first.get(), count * sizeof(T)
- );
-
- return make_future(iterator_plus_distance(result, count), event_);
-}
-
-template<class T, class HostIterator>
-inline HostIterator copy_to_host_map(svm_ptr<T> first,
- svm_ptr<T> last,
- HostIterator result,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- // map
- queue.enqueue_svm_map(first.get(), count * sizeof(T), CL_MAP_READ);
-
- // copy [first; last) to result
- std::copy(
- static_cast<T*>(first.get()),
- static_cast<T*>(last.get()),
- result
- );
-
- // unmap [first; last)
- queue.enqueue_svm_unmap(first.get()).wait();
-
- return iterator_plus_distance(result, count);
-}
-#endif // CL_VERSION_2_0
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COPY_TO_HOST_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_ballot.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_ballot.hpp
deleted file mode 100644
index 584ef37ab..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_ballot.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_BALLOT_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_BALLOT_HPP
-
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/algorithm/reduce.hpp>
-#include <boost/compute/functional/detail/nvidia_ballot.hpp>
-#include <boost/compute/functional/detail/nvidia_popcount.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Predicate>
-inline size_t count_if_with_ballot(InputIterator first,
- InputIterator last,
- Predicate predicate,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
- size_t block_size = 32;
- size_t block_count = count / block_size;
- if(block_count * block_size != count){
- block_count++;
- }
-
- const ::boost::compute::context &context = queue.get_context();
-
- ::boost::compute::vector<uint_> counts(block_count, context);
-
- ::boost::compute::detail::nvidia_popcount<uint_> popc;
- ::boost::compute::detail::nvidia_ballot<uint_> ballot;
-
- meta_kernel k("count_if_with_ballot");
- k <<
- "const uint gid = get_global_id(0);\n" <<
-
- "bool value = false;\n" <<
- "if(gid < count)\n" <<
- " value = " << predicate(first[k.var<const uint_>("gid")]) << ";\n" <<
-
- "uint bits = " << ballot(k.var<const uint_>("value")) << ";\n" <<
-
- "if(get_local_id(0) == 0)\n" <<
- counts.begin()[k.var<uint_>("get_group_id(0)") ]
- << " = " << popc(k.var<uint_>("bits")) << ";\n";
-
- k.add_set_arg<const uint_>("count", count);
-
- k.exec_1d(queue, 0, block_size * block_count, block_size);
-
- uint_ result;
- ::boost::compute::reduce(
- counts.begin(),
- counts.end(),
- &result,
- queue
- );
- return result;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_BALLOT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_reduce.hpp
deleted file mode 100644
index f9449f4a4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_reduce.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_REDUCE_HPP
-
-#include <boost/compute/algorithm/reduce.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Predicate, class Arg>
-struct invoked_countable_predicate
-{
- invoked_countable_predicate(Predicate p, Arg a)
- : predicate(p), arg(a)
- {
- }
-
- Predicate predicate;
- Arg arg;
-};
-
-template<class Predicate, class Arg>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_countable_predicate<Predicate, Arg> &expr)
-{
- return kernel << "(" << expr.predicate(expr.arg) << " ? 1 : 0)";
-}
-
-// the countable_predicate wraps Predicate and converts its result from
-// bool to ulong so that it can be used with reduce()
-template<class Predicate>
-struct countable_predicate
-{
- typedef ulong_ result_type;
-
- countable_predicate(Predicate predicate)
- : m_predicate(predicate)
- {
- }
-
- template<class Arg>
- invoked_countable_predicate<Predicate, Arg> operator()(const Arg &arg) const
- {
- return invoked_countable_predicate<Predicate, Arg>(m_predicate, arg);
- }
-
- Predicate m_predicate;
-};
-
-// counts the number of elements matching predicate using reduce()
-template<class InputIterator, class Predicate>
-inline size_t count_if_with_reduce(InputIterator first,
- InputIterator last,
- Predicate predicate,
- command_queue &queue)
-{
- countable_predicate<Predicate> reduce_predicate(predicate);
-
- ulong_ count = 0;
- ::boost::compute::reduce(
- ::boost::compute::make_transform_iterator(first, reduce_predicate),
- ::boost::compute::make_transform_iterator(last, reduce_predicate),
- &count,
- ::boost::compute::plus<ulong_>(),
- queue
- );
-
- return static_cast<size_t>(count);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_threads.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_threads.hpp
deleted file mode 100644
index 6f282982e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/count_if_with_threads.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_THREADS_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_THREADS_HPP
-
-#include <numeric>
-
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Predicate>
-class count_if_with_threads_kernel : meta_kernel
-{
-public:
- typedef typename
- std::iterator_traits<InputIterator>::value_type
- value_type;
-
- count_if_with_threads_kernel()
- : meta_kernel("count_if_with_threads")
- {
- }
-
- void set_args(InputIterator first,
- InputIterator last,
- Predicate predicate)
-
- {
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- m_size = detail::iterator_range_size(first, last);
-
- m_size_arg = add_arg<const ulong_>("size");
- m_counts_arg = add_arg<ulong_ *>(memory_object::global_memory, "counts");
-
- *this <<
- // thread parameters
- "const uint gid = get_global_id(0);\n" <<
- "const uint block_size = size / get_global_size(0);\n" <<
- "const uint start = block_size * gid;\n" <<
- "uint end = 0;\n" <<
- "if(gid == get_global_size(0) - 1)\n" <<
- " end = size;\n" <<
- "else\n" <<
- " end = block_size * gid + block_size;\n" <<
-
- // count values
- "uint count = 0;\n" <<
- "for(uint i = start; i < end; i++){\n" <<
- decl<const T>("value") << "="
- << first[expr<uint_>("i")] << ";\n" <<
- if_(predicate(var<const T>("value"))) << "{\n" <<
- "count++;\n" <<
- "}\n" <<
- "}\n" <<
-
- // write count
- "counts[gid] = count;\n";
- }
-
- size_t exec(command_queue &queue)
- {
- const device &device = queue.get_device();
- const context &context = queue.get_context();
-
- size_t threads = device.compute_units();
-
- const size_t minimum_block_size = 2048;
- if(m_size / threads < minimum_block_size){
- threads = static_cast<size_t>(
- (std::max)(
- std::ceil(float(m_size) / minimum_block_size),
- 1.0f
- )
- );
- }
-
- // storage for counts
- ::boost::compute::vector<ulong_> counts(threads, context);
-
- // exec kernel
- set_arg(m_size_arg, static_cast<ulong_>(m_size));
- set_arg(m_counts_arg, counts.get_buffer());
- exec_1d(queue, 0, threads, 1);
-
- // copy counts to the host
- std::vector<ulong_> host_counts(threads);
- ::boost::compute::copy(counts.begin(), counts.end(), host_counts.begin(), queue);
-
- // return sum of counts
- return std::accumulate(host_counts.begin(), host_counts.end(), size_t(0));
- }
-
-private:
- size_t m_size;
- size_t m_size_arg;
- size_t m_counts_arg;
-};
-
-// counts values that match the predicate using one thread per block. this is
-// optimized for cpu-type devices with a small number of compute units.
-template<class InputIterator, class Predicate>
-inline size_t count_if_with_threads(InputIterator first,
- InputIterator last,
- Predicate predicate,
- command_queue &queue)
-{
- count_if_with_threads_kernel<InputIterator, Predicate> kernel;
- kernel.set_args(first, last, predicate);
- return kernel.exec(queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_COUNT_IF_WITH_THREADS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema.hpp
deleted file mode 100644
index eef2e36c3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_HPP
-
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/algorithm/detail/find_extrema_on_cpu.hpp>
-#include <boost/compute/algorithm/detail/find_extrema_with_reduce.hpp>
-#include <boost/compute/algorithm/detail/find_extrema_with_atomics.hpp>
-#include <boost/compute/algorithm/detail/serial_find_extrema.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Compare>
-inline InputIterator find_extrema(InputIterator first,
- InputIterator last,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- size_t count = iterator_range_size(first, last);
-
- // handle trivial cases
- if(count == 0 || count == 1){
- return first;
- }
-
- const device &device = queue.get_device();
-
- // CPU
- if(device.type() & device::cpu) {
- return find_extrema_on_cpu(first, last, compare, find_minimum, queue);
- }
-
- // GPU
- // use serial method for small inputs
- if(count < 512)
- {
- return serial_find_extrema(first, last, compare, find_minimum, queue);
- }
- // find_extrema_with_reduce() is used only if requirements are met
- if(find_extrema_with_reduce_requirements_met(first, last, queue))
- {
- return find_extrema_with_reduce(first, last, compare, find_minimum, queue);
- }
-
- // use serial method for OpenCL version 1.0 due to
- // problems with atomic_cmpxchg()
- #ifndef CL_VERSION_1_1
- return serial_find_extrema(first, last, compare, find_minimum, queue);
- #endif
-
- return find_extrema_with_atomics(first, last, compare, find_minimum, queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_on_cpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_on_cpu.hpp
deleted file mode 100644
index 9363ad583..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_on_cpu.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_ON_CPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_ON_CPU_HPP
-
-#include <algorithm>
-
-#include <boost/compute/algorithm/detail/find_extrema_with_reduce.hpp>
-#include <boost/compute/algorithm/detail/find_extrema_with_atomics.hpp>
-#include <boost/compute/algorithm/detail/serial_find_extrema.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Compare>
-inline InputIterator find_extrema_on_cpu(InputIterator first,
- InputIterator last,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
- size_t count = iterator_range_size(first, last);
-
- const device &device = queue.get_device();
- const uint_ compute_units = queue.get_device().compute_units();
-
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
- std::string cache_key =
- "__boost_find_extrema_cpu_"
- + boost::lexical_cast<std::string>(sizeof(input_type));
-
- // for inputs smaller than serial_find_extrema_threshold
- // serial_find_extrema algorithm is used
- uint_ serial_find_extrema_threshold = parameters->get(
- cache_key,
- "serial_find_extrema_threshold",
- 16384 * sizeof(input_type)
- );
- serial_find_extrema_threshold =
- (std::max)(serial_find_extrema_threshold, uint_(2 * compute_units));
-
- const context &context = queue.get_context();
- if(count < serial_find_extrema_threshold) {
- return serial_find_extrema(first, last, compare, find_minimum, queue);
- }
-
- meta_kernel k("find_extrema_on_cpu");
- buffer output(context, sizeof(input_type) * compute_units);
- buffer output_idx(
- context, sizeof(uint_) * compute_units,
- buffer::read_write | buffer::alloc_host_ptr
- );
-
- size_t count_arg = k.add_arg<uint_>("count");
- size_t output_arg =
- k.add_arg<input_type *>(memory_object::global_memory, "output");
- size_t output_idx_arg =
- k.add_arg<uint_ *>(memory_object::global_memory, "output_idx");
-
- k <<
- "uint block = " <<
- "(uint)ceil(((float)count)/get_global_size(0));\n" <<
- "uint index = get_global_id(0) * block;\n" <<
- "uint end = min(count, index + block);\n" <<
-
- "uint value_index = index;\n" <<
- k.decl<input_type>("value") << " = " << first[k.var<uint_>("index")] << ";\n" <<
-
- "index++;\n" <<
- "while(index < end){\n" <<
- k.decl<input_type>("candidate") <<
- " = " << first[k.var<uint_>("index")] << ";\n" <<
- "#ifndef BOOST_COMPUTE_FIND_MAXIMUM\n" <<
- "bool compare = " << compare(k.var<input_type>("candidate"),
- k.var<input_type>("value")) << ";\n" <<
- "#else\n" <<
- "bool compare = " << compare(k.var<input_type>("value"),
- k.var<input_type>("candidate")) << ";\n" <<
- "#endif\n" <<
- "value = compare ? candidate : value;\n" <<
- "value_index = compare ? index : value_index;\n" <<
- "index++;\n" <<
- "}\n" <<
- "output[get_global_id(0)] = value;\n" <<
- "output_idx[get_global_id(0)] = value_index;\n";
-
- size_t global_work_size = compute_units;
- std::string options;
- if(!find_minimum){
- options = "-DBOOST_COMPUTE_FIND_MAXIMUM";
- }
- kernel kernel = k.compile(context, options);
-
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(output_arg, output);
- kernel.set_arg(output_idx_arg, output_idx);
- queue.enqueue_1d_range_kernel(kernel, 0, global_work_size, 0);
-
- buffer_iterator<input_type> result = serial_find_extrema(
- make_buffer_iterator<input_type>(output),
- make_buffer_iterator<input_type>(output, global_work_size),
- compare,
- find_minimum,
- queue
- );
-
- uint_* output_idx_host_ptr =
- static_cast<uint_*>(
- queue.enqueue_map_buffer(
- output_idx, command_queue::map_read,
- 0, global_work_size * sizeof(uint_)
- )
- );
-
- difference_type extremum_idx =
- static_cast<difference_type>(*(output_idx_host_ptr + result.get_index()));
- return first + extremum_idx;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_ON_CPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_atomics.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_atomics.hpp
deleted file mode 100644
index 406d1becb..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_atomics.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_ATOMICS_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_ATOMICS_HPP
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/functional/atomic.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Compare>
-inline InputIterator find_extrema_with_atomics(InputIterator first,
- InputIterator last,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- const context &context = queue.get_context();
-
- meta_kernel k("find_extrema");
- atomic_cmpxchg<uint_> atomic_cmpxchg_uint;
-
- k <<
- "const uint gid = get_global_id(0);\n" <<
- "uint old_index = *index;\n" <<
-
- k.decl<value_type>("old") <<
- " = " << first[k.var<uint_>("old_index")] << ";\n" <<
- k.decl<value_type>("new") <<
- " = " << first[k.var<uint_>("gid")] << ";\n" <<
-
- k.decl<bool>("compare_result") << ";\n" <<
- "#ifdef BOOST_COMPUTE_FIND_MAXIMUM\n" <<
- "while(" <<
- "(compare_result = " << compare(k.var<value_type>("old"),
- k.var<value_type>("new")) << ")" <<
- " || (!(compare_result" <<
- " || " << compare(k.var<value_type>("new"),
- k.var<value_type>("old")) << ") "
- "&& gid < old_index)){\n" <<
- "#else\n" <<
- // while condition explained for minimum case with less (<)
- // as comparison function:
- // while(new_value < old_value
- // OR (new_value == old_value AND new_index < old_index))
- "while(" <<
- "(compare_result = " << compare(k.var<value_type>("new"),
- k.var<value_type>("old")) << ")" <<
- " || (!(compare_result" <<
- " || " << compare(k.var<value_type>("old"),
- k.var<value_type>("new")) << ") "
- "&& gid < old_index)){\n" <<
- "#endif\n" <<
-
- " if(" << atomic_cmpxchg_uint(k.var<uint_ *>("index"),
- k.var<uint_>("old_index"),
- k.var<uint_>("gid")) << " == old_index)\n" <<
- " break;\n" <<
- " else\n" <<
- " old_index = *index;\n" <<
- "old = " << first[k.var<uint_>("old_index")] << ";\n" <<
- "}\n";
-
- size_t index_arg_index = k.add_arg<uint_ *>(memory_object::global_memory, "index");
-
- std::string options;
- if(!find_minimum){
- options = "-DBOOST_COMPUTE_FIND_MAXIMUM";
- }
- kernel kernel = k.compile(context, options);
-
- // setup index buffer
- scalar<uint_> index(context);
- kernel.set_arg(index_arg_index, index.get_buffer());
-
- // initialize index
- index.write(0, queue);
-
- // run kernel
- size_t count = iterator_range_size(first, last);
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- // read index and return iterator
- return first + static_cast<difference_type>(index.read(queue));
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_ATOMICS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_reduce.hpp
deleted file mode 100644
index 8f2a83c38..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_extrema_with_reduce.hpp
+++ /dev/null
@@ -1,443 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_REDUCE_HPP
-
-#include <algorithm>
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/allocator/pinned_allocator.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator>
-bool find_extrema_with_reduce_requirements_met(InputIterator first,
- InputIterator last,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const device &device = queue.get_device();
-
- // device must have dedicated local memory storage
- // otherwise reduction would be highly inefficient
- if(device.get_info<CL_DEVICE_LOCAL_MEM_TYPE>() != CL_LOCAL)
- {
- return false;
- }
-
- const size_t max_work_group_size = device.get_info<CL_DEVICE_MAX_WORK_GROUP_SIZE>();
- // local memory size in bytes (per compute unit)
- const size_t local_mem_size = device.get_info<CL_DEVICE_LOCAL_MEM_SIZE>();
-
- std::string cache_key = std::string("__boost_find_extrema_reduce_")
- + type_name<input_type>();
- // load parameters
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // Get preferred work group size
- size_t work_group_size = parameters->get(cache_key, "wgsize", 256);
-
- work_group_size = (std::min)(max_work_group_size, work_group_size);
-
- // local memory size needed to perform parallel reduction
- size_t required_local_mem_size = 0;
- // indices size
- required_local_mem_size += sizeof(uint_) * work_group_size;
- // values size
- required_local_mem_size += sizeof(input_type) * work_group_size;
-
- // at least 4 work groups per compute unit otherwise reduction
- // would be highly inefficient
- return ((required_local_mem_size * 4) <= local_mem_size);
-}
-
-/// \internal_
-/// Algorithm finds the first extremum in given range, i.e., with the lowest
-/// index.
-///
-/// If \p use_input_idx is false, it's assumed that input data is ordered by
-/// increasing index and \p input_idx is not used in the algorithm.
-template<class InputIterator, class ResultIterator, class Compare>
-inline void find_extrema_with_reduce(InputIterator input,
- vector<uint_>::iterator input_idx,
- size_t count,
- ResultIterator result,
- vector<uint_>::iterator result_idx,
- size_t work_groups_no,
- size_t work_group_size,
- Compare compare,
- const bool find_minimum,
- const bool use_input_idx,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const context &context = queue.get_context();
-
- meta_kernel k("find_extrema_reduce");
- size_t count_arg = k.add_arg<uint_>("count");
- size_t block_arg = k.add_arg<input_type *>(memory_object::local_memory, "block");
- size_t block_idx_arg = k.add_arg<uint_ *>(memory_object::local_memory, "block_idx");
-
- k <<
- // Work item global id
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
-
- // Index of element that will be read from input buffer
- k.decl<uint_>("idx") << " = gid;\n" <<
-
- k.decl<input_type>("acc") << ";\n" <<
- k.decl<uint_>("acc_idx") << ";\n" <<
- "if(gid < count) {\n" <<
- // Real index of currently best element
- "#ifdef BOOST_COMPUTE_USE_INPUT_IDX\n" <<
- k.var<uint_>("acc_idx") << " = " << input_idx[k.var<uint_>("idx")] << ";\n" <<
- "#else\n" <<
- k.var<uint_>("acc_idx") << " = idx;\n" <<
- "#endif\n" <<
-
- // Init accumulator with first[get_global_id(0)]
- "acc = " << input[k.var<uint_>("idx")] << ";\n" <<
- "idx += get_global_size(0);\n" <<
- "}\n" <<
-
- k.decl<bool>("compare_result") << ";\n" <<
- k.decl<bool>("equal") << ";\n\n" <<
- "while( idx < count ){\n" <<
- // Next element
- k.decl<input_type>("next") << " = " << input[k.var<uint_>("idx")] << ";\n" <<
- "#ifdef BOOST_COMPUTE_USE_INPUT_IDX\n" <<
- k.decl<uint_>("next_idx") << " = " << input_idx[k.var<uint_>("idx")] << ";\n" <<
- "#endif\n" <<
-
- // Comparison between currently best element (acc) and next element
- "#ifdef BOOST_COMPUTE_FIND_MAXIMUM\n" <<
- "compare_result = " << compare(k.var<input_type>("next"),
- k.var<input_type>("acc")) << ";\n" <<
- "# ifdef BOOST_COMPUTE_USE_INPUT_IDX\n" <<
- "equal = !compare_result && !" <<
- compare(k.var<input_type>("acc"),
- k.var<input_type>("next")) << ";\n" <<
- "# endif\n" <<
- "#else\n" <<
- "compare_result = " << compare(k.var<input_type>("acc"),
- k.var<input_type>("next")) << ";\n" <<
- "# ifdef BOOST_COMPUTE_USE_INPUT_IDX\n" <<
- "equal = !compare_result && !" <<
- compare(k.var<input_type>("next"),
- k.var<input_type>("acc")) << ";\n" <<
- "# endif\n" <<
- "#endif\n" <<
-
- // save the winner
- "acc = compare_result ? acc : next;\n" <<
- "#ifdef BOOST_COMPUTE_USE_INPUT_IDX\n" <<
- "acc_idx = compare_result ? " <<
- "acc_idx : " <<
- "(equal ? min(acc_idx, next_idx) : next_idx);\n" <<
- "#else\n" <<
- "acc_idx = compare_result ? acc_idx : idx;\n" <<
- "#endif\n" <<
- "idx += get_global_size(0);\n" <<
- "}\n\n" <<
-
- // Work item local id
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
- "block[lid] = acc;\n" <<
- "block_idx[lid] = acc_idx;\n" <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
-
- k.decl<uint_>("group_offset") <<
- " = count - (get_local_size(0) * get_group_id(0));\n\n";
-
- k <<
- "#pragma unroll\n"
- "for(" << k.decl<uint_>("offset") << " = " << uint_(work_group_size) << " / 2; offset > 0; " <<
- "offset = offset / 2) {\n" <<
- "if((lid < offset) && ((lid + offset) < group_offset)) { \n" <<
- k.decl<input_type>("mine") << " = block[lid];\n" <<
- k.decl<input_type>("other") << " = block[lid+offset];\n" <<
- "#ifdef BOOST_COMPUTE_FIND_MAXIMUM\n" <<
- "compare_result = " << compare(k.var<input_type>("other"),
- k.var<input_type>("mine")) << ";\n" <<
- "equal = !compare_result && !" <<
- compare(k.var<input_type>("mine"),
- k.var<input_type>("other")) << ";\n" <<
- "#else\n" <<
- "compare_result = " << compare(k.var<input_type>("mine"),
- k.var<input_type>("other")) << ";\n" <<
- "equal = !compare_result && !" <<
- compare(k.var<input_type>("other"),
- k.var<input_type>("mine")) << ";\n" <<
- "#endif\n" <<
- "block[lid] = compare_result ? mine : other;\n" <<
- k.decl<uint_>("mine_idx") << " = block_idx[lid];\n" <<
- k.decl<uint_>("other_idx") << " = block_idx[lid+offset];\n" <<
- "block_idx[lid] = compare_result ? " <<
- "mine_idx : " <<
- "(equal ? min(mine_idx, other_idx) : other_idx);\n" <<
- "}\n"
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "}\n\n" <<
-
- // write block result to global output
- "if(lid == 0){\n" <<
- result[k.var<uint_>("get_group_id(0)")] << " = block[0];\n" <<
- result_idx[k.var<uint_>("get_group_id(0)")] << " = block_idx[0];\n" <<
- "}";
-
- std::string options;
- if(!find_minimum){
- options = "-DBOOST_COMPUTE_FIND_MAXIMUM";
- }
- if(use_input_idx){
- options += " -DBOOST_COMPUTE_USE_INPUT_IDX";
- }
-
- kernel kernel = k.compile(context, options);
-
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(block_arg, local_buffer<input_type>(work_group_size));
- kernel.set_arg(block_idx_arg, local_buffer<uint_>(work_group_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- work_groups_no * work_group_size,
- work_group_size);
-}
-
-template<class InputIterator, class ResultIterator, class Compare>
-inline void find_extrema_with_reduce(InputIterator input,
- size_t count,
- ResultIterator result,
- vector<uint_>::iterator result_idx,
- size_t work_groups_no,
- size_t work_group_size,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- // dummy will not be used
- buffer_iterator<uint_> dummy = result_idx;
- return find_extrema_with_reduce(
- input, dummy, count, result, result_idx, work_groups_no,
- work_group_size, compare, find_minimum, false, queue
- );
-}
-
-template<class InputIterator, class Compare>
-InputIterator find_extrema_with_reduce(InputIterator first,
- InputIterator last,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- // Getting information about used queue and device
- const size_t compute_units_no = device.get_info<CL_DEVICE_MAX_COMPUTE_UNITS>();
- const size_t max_work_group_size = device.get_info<CL_DEVICE_MAX_WORK_GROUP_SIZE>();
-
- const size_t count = detail::iterator_range_size(first, last);
-
- std::string cache_key = std::string("__boost_find_extrema_with_reduce_")
- + type_name<input_type>();
-
- // load parameters
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // get preferred work group size and preferred number
- // of work groups per compute unit
- size_t work_group_size = parameters->get(cache_key, "wgsize", 256);
- size_t work_groups_per_cu = parameters->get(cache_key, "wgpcu", 100);
-
- // calculate work group size and number of work groups
- work_group_size = (std::min)(max_work_group_size, work_group_size);
- size_t work_groups_no = compute_units_no * work_groups_per_cu;
- work_groups_no = (std::min)(
- work_groups_no,
- static_cast<size_t>(std::ceil(float(count) / work_group_size))
- );
-
- // phase I: finding candidates for extremum
-
- // device buffors for extremum candidates and their indices
- // each work-group computes its candidate
- vector<input_type> candidates(work_groups_no, context);
- vector<uint_> candidates_idx(work_groups_no, context);
-
- // finding candidates for first extremum and their indices
- find_extrema_with_reduce(
- first, count, candidates.begin(), candidates_idx.begin(),
- work_groups_no, work_group_size, compare, find_minimum, queue
- );
-
- // phase II: finding extremum from among the candidates
-
- // zero-copy buffers for final result (value and index)
- vector<input_type, ::boost::compute::pinned_allocator<input_type> >
- result(1, context);
- vector<uint_, ::boost::compute::pinned_allocator<uint_> >
- result_idx(1, context);
-
- // get extremum from among the candidates
- find_extrema_with_reduce(
- candidates.begin(), candidates_idx.begin(), work_groups_no, result.begin(),
- result_idx.begin(), 1, work_group_size, compare, find_minimum, true, queue
- );
-
- // mapping extremum index to host
- uint_* result_idx_host_ptr =
- static_cast<uint_*>(
- queue.enqueue_map_buffer(
- result_idx.get_buffer(), command_queue::map_read,
- 0, sizeof(uint_)
- )
- );
-
- return first + static_cast<difference_type>(*result_idx_host_ptr);
-}
-
-template<class InputIterator>
-InputIterator find_extrema_with_reduce(InputIterator first,
- InputIterator last,
- ::boost::compute::less<
- typename std::iterator_traits<
- InputIterator
- >::value_type
- >
- compare,
- const bool find_minimum,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
- typedef typename std::iterator_traits<InputIterator>::value_type input_type;
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- // Getting information about used queue and device
- const size_t compute_units_no = device.get_info<CL_DEVICE_MAX_COMPUTE_UNITS>();
- const size_t max_work_group_size = device.get_info<CL_DEVICE_MAX_WORK_GROUP_SIZE>();
-
- const size_t count = detail::iterator_range_size(first, last);
-
- std::string cache_key = std::string("__boost_find_extrema_with_reduce_")
- + type_name<input_type>();
-
- // load parameters
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // get preferred work group size and preferred number
- // of work groups per compute unit
- size_t work_group_size = parameters->get(cache_key, "wgsize", 256);
- size_t work_groups_per_cu = parameters->get(cache_key, "wgpcu", 64);
-
- // calculate work group size and number of work groups
- work_group_size = (std::min)(max_work_group_size, work_group_size);
- size_t work_groups_no = compute_units_no * work_groups_per_cu;
- work_groups_no = (std::min)(
- work_groups_no,
- static_cast<size_t>(std::ceil(float(count) / work_group_size))
- );
-
- // phase I: finding candidates for extremum
-
- // device buffors for extremum candidates and their indices
- // each work-group computes its candidate
- // zero-copy buffers are used to eliminate copying data back to host
- vector<input_type, ::boost::compute::pinned_allocator<input_type> >
- candidates(work_groups_no, context);
- vector<uint_, ::boost::compute::pinned_allocator <uint_> >
- candidates_idx(work_groups_no, context);
-
- // finding candidates for first extremum and their indices
- find_extrema_with_reduce(
- first, count, candidates.begin(), candidates_idx.begin(),
- work_groups_no, work_group_size, compare, find_minimum, queue
- );
-
- // phase II: finding extremum from among the candidates
-
- // mapping candidates and their indices to host
- input_type* candidates_host_ptr =
- static_cast<input_type*>(
- queue.enqueue_map_buffer(
- candidates.get_buffer(), command_queue::map_read,
- 0, work_groups_no * sizeof(input_type)
- )
- );
-
- uint_* candidates_idx_host_ptr =
- static_cast<uint_*>(
- queue.enqueue_map_buffer(
- candidates_idx.get_buffer(), command_queue::map_read,
- 0, work_groups_no * sizeof(uint_)
- )
- );
-
- input_type* i = candidates_host_ptr;
- uint_* idx = candidates_idx_host_ptr;
- uint_* extremum_idx = idx;
- input_type extremum = *candidates_host_ptr;
- i++; idx++;
-
- // find extremum (serial) from among the candidates on host
- if(!find_minimum) {
- while(idx != (candidates_idx_host_ptr + work_groups_no)) {
- input_type next = *i;
- bool compare_result = next > extremum;
- bool equal = next == extremum;
- extremum = compare_result ? next : extremum;
- extremum_idx = compare_result ? idx : extremum_idx;
- extremum_idx = equal ? ((*extremum_idx < *idx) ? extremum_idx : idx) : extremum_idx;
- idx++, i++;
- }
- }
- else {
- while(idx != (candidates_idx_host_ptr + work_groups_no)) {
- input_type next = *i;
- bool compare_result = next < extremum;
- bool equal = next == extremum;
- extremum = compare_result ? next : extremum;
- extremum_idx = compare_result ? idx : extremum_idx;
- extremum_idx = equal ? ((*extremum_idx < *idx) ? extremum_idx : idx) : extremum_idx;
- idx++, i++;
- }
- }
-
- return first + static_cast<difference_type>(*extremum_idx);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_EXTREMA_WITH_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_if_with_atomics.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_if_with_atomics.hpp
deleted file mode 100644
index 112c34cf0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/find_if_with_atomics.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_IF_WITH_ATOMICS_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_IF_WITH_ATOMICS_HPP
-
-#include <iterator>
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_if_with_atomics_one_vpt(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- const size_t count,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- const context &context = queue.get_context();
-
- detail::meta_kernel k("find_if");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- atomic_min<uint_> atomic_min_uint;
-
- k << k.decl<const uint_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("value") << "="
- << first[k.var<const uint_>("i")] << ";\n"
- << "if(" << predicate(k.var<const value_type>("value")) << "){\n"
- << " " << atomic_min_uint(k.var<uint_ *>("index"), k.var<uint_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<uint_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- // initialize index to the last iterator's index
- index.write(static_cast<uint_>(count), queue);
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- // read index and return iterator
- return first + static_cast<difference_type>(index.read(queue));
-}
-
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_if_with_atomics_multiple_vpt(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- const size_t count,
- const size_t vpt,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- detail::meta_kernel k("find_if");
- size_t index_arg = k.add_arg<uint_ *>(memory_object::global_memory, "index");
- size_t count_arg = k.add_arg<const uint_>("count");
- size_t vpt_arg = k.add_arg<const uint_>("vpt");
- atomic_min<uint_> atomic_min_uint;
-
- // for GPUs reads from global memory are coalesced
- if(device.type() & device::gpu) {
- k <<
- k.decl<const uint_>("lsize") << " = get_local_size(0);\n" <<
- k.decl<uint_>("id") << " = get_local_id(0) + get_group_id(0) * lsize * vpt;\n" <<
- k.decl<const uint_>("end") << " = min(" <<
- "id + (lsize *" << k.var<uint_>("vpt") << ")," <<
- "count" <<
- ");\n" <<
-
- // checking if the index is already found
- "__local uint local_index;\n" <<
- "if(get_local_id(0) == 0){\n" <<
- " local_index = *index;\n " <<
- "};\n" <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "if(local_index < id){\n" <<
- " return;\n" <<
- "}\n" <<
-
- "while(id < end){\n" <<
- " " << k.decl<const value_type>("value") << " = " <<
- first[k.var<const uint_>("id")] << ";\n"
- " if(" << predicate(k.var<const value_type>("value")) << "){\n" <<
- " " << atomic_min_uint(k.var<uint_ *>("index"),
- k.var<uint_>("id")) << ";\n" <<
- " return;\n"
- " }\n" <<
- " id+=lsize;\n" <<
- "}\n";
- // for CPUs (and other devices) reads are ordered so the big cache is
- // efficiently used.
- } else {
- k <<
- k.decl<uint_>("id") << " = get_global_id(0) * " << k.var<uint_>("vpt") << ";\n" <<
- k.decl<const uint_>("end") << " = min(" <<
- "id + " << k.var<uint_>("vpt") << "," <<
- "count" <<
- ");\n" <<
- "while(id < end && (*index) > id){\n" <<
- " " << k.decl<const value_type>("value") << " = " <<
- first[k.var<const uint_>("id")] << ";\n"
- " if(" << predicate(k.var<const value_type>("value")) << "){\n" <<
- " " << atomic_min_uint(k.var<uint_ *>("index"),
- k.var<uint_>("id")) << ";\n" <<
- " return;\n" <<
- " }\n" <<
- " id++;\n" <<
- "}\n";
- }
-
- kernel kernel = k.compile(context);
-
- scalar<uint_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(vpt_arg, static_cast<uint_>(vpt));
-
- // initialize index to the last iterator's index
- index.write(static_cast<uint_>(count), queue);
-
- const size_t global_wg_size = static_cast<size_t>(
- std::ceil(float(count) / vpt)
- );
- queue.enqueue_1d_range_kernel(kernel, 0, global_wg_size, 0);
-
- // read index and return iterator
- return first + static_cast<difference_type>(index.read(queue));
-}
-
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_if_with_atomics(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return last;
- }
-
- const device &device = queue.get_device();
-
- // load cached parameters
- std::string cache_key = std::string("__boost_find_if_with_atomics_")
- + type_name<value_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // for relatively small inputs on GPUs kernel checking one value per thread
- // (work-item) is more efficient than its multiple values per thread version
- if(device.type() & device::gpu){
- const size_t one_vpt_threshold =
- parameters->get(cache_key, "one_vpt_threshold", 1048576);
- if(count <= one_vpt_threshold){
- return find_if_with_atomics_one_vpt(
- first, last, predicate, count, queue
- );
- }
- }
-
- // values per thread
- size_t vpt;
- if(device.type() & device::gpu){
- // get vpt parameter
- vpt = parameters->get(cache_key, "vpt", 32);
- } else {
- // for CPUs work is split equally between compute units
- const size_t max_compute_units =
- device.get_info<CL_DEVICE_MAX_COMPUTE_UNITS>();
- vpt = static_cast<size_t>(
- std::ceil(float(count) / max_compute_units)
- );
- }
-
- return find_if_with_atomics_multiple_vpt(
- first, last, predicate, count, vpt, queue
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_FIND_IF_WITH_ATOMICS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/inplace_reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/inplace_reduce.hpp
deleted file mode 100644
index 60c61e83f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/inplace_reduce.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_INPLACE_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_INPLACE_REDUCE_HPP
-
-#include <iterator>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class BinaryFunction>
-inline void inplace_reduce(Iterator first,
- Iterator last,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<Iterator>::value_type
- value_type;
-
- size_t input_size = iterator_range_size(first, last);
- if(input_size < 2){
- return;
- }
-
- const context &context = queue.get_context();
-
- size_t block_size = 64;
- size_t values_per_thread = 8;
- size_t block_count = input_size / (block_size * values_per_thread);
- if(block_count * block_size * values_per_thread != input_size)
- block_count++;
-
- vector<value_type> output(block_count, context);
-
- meta_kernel k("inplace_reduce");
- size_t input_arg = k.add_arg<value_type *>(memory_object::global_memory, "input");
- size_t input_size_arg = k.add_arg<const uint_>("input_size");
- size_t output_arg = k.add_arg<value_type *>(memory_object::global_memory, "output");
- size_t scratch_arg = k.add_arg<value_type *>(memory_object::local_memory, "scratch");
- k <<
- "const uint gid = get_global_id(0);\n" <<
- "const uint lid = get_local_id(0);\n" <<
- "const uint values_per_thread =\n"
- << uint_(values_per_thread) << ";\n" <<
-
- // thread reduce
- "const uint index = gid * values_per_thread;\n" <<
- "if(index < input_size){\n" <<
- k.decl<value_type>("sum") << " = input[index];\n" <<
- "for(uint i = 1;\n" <<
- "i < values_per_thread && (index + i) < input_size;\n" <<
- "i++){\n" <<
- " sum = " <<
- function(k.var<value_type>("sum"),
- k.var<value_type>("input[index+i]")) << ";\n" <<
- "}\n" <<
- "scratch[lid] = sum;\n" <<
- "}\n" <<
-
- // local reduce
- "for(uint i = 1; i < get_local_size(0); i <<= 1){\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " uint mask = (i << 1) - 1;\n" <<
- " uint next_index = (gid + i) * values_per_thread;\n"
- " if((lid & mask) == 0 && next_index < input_size){\n" <<
- " scratch[lid] = " <<
- function(k.var<value_type>("scratch[lid]"),
- k.var<value_type>("scratch[lid+i]")) << ";\n" <<
- " }\n" <<
- "}\n" <<
-
- // write output for block
- "if(lid == 0){\n" <<
- " output[get_group_id(0)] = scratch[0];\n" <<
- "}\n"
- ;
-
- const buffer *input_buffer = &first.get_buffer();
- const buffer *output_buffer = &output.get_buffer();
-
- kernel kernel = k.compile(context);
-
- while(input_size > 1){
- kernel.set_arg(input_arg, *input_buffer);
- kernel.set_arg(input_size_arg, static_cast<uint_>(input_size));
- kernel.set_arg(output_arg, *output_buffer);
- kernel.set_arg(scratch_arg, local_buffer<value_type>(block_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- block_count * block_size,
- block_size);
-
- input_size =
- static_cast<size_t>(
- std::ceil(float(input_size) / (block_size * values_per_thread)
- )
- );
-
- block_count = input_size / (block_size * values_per_thread);
- if(block_count * block_size * values_per_thread != input_size)
- block_count++;
-
- std::swap(input_buffer, output_buffer);
- }
-
- if(input_buffer != &first.get_buffer()){
- ::boost::compute::copy(output.begin(),
- output.begin() + 1,
- first,
- queue);
- }
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_INPLACE_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/insertion_sort.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/insertion_sort.hpp
deleted file mode 100644
index 4b5b95139..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/insertion_sort.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_INSERTION_SORT_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_INSERTION_SORT_HPP
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class Compare>
-inline void serial_insertion_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<Iterator>::value_type T;
-
- size_t count = iterator_range_size(first, last);
- if(count < 2){
- return;
- }
-
- meta_kernel k("serial_insertion_sort");
- size_t local_data_arg = k.add_arg<T *>(memory_object::local_memory, "data");
- size_t count_arg = k.add_arg<uint_>("n");
-
- k <<
- // copy data to local memory
- "for(uint i = 0; i < n; i++){\n" <<
- " data[i] = " << first[k.var<uint_>("i")] << ";\n"
- "}\n"
-
- // sort data in local memory
- "for(uint i = 1; i < n; i++){\n" <<
- " " << k.decl<const T>("value") << " = data[i];\n" <<
- " uint pos = i;\n" <<
- " while(pos > 0 && " <<
- compare(k.var<const T>("value"),
- k.var<const T>("data[pos-1]")) << "){\n" <<
- " data[pos] = data[pos-1];\n" <<
- " pos--;\n" <<
- " }\n" <<
- " data[pos] = value;\n" <<
- "}\n" <<
-
- // copy sorted data to output
- "for(uint i = 0; i < n; i++){\n" <<
- " " << first[k.var<uint_>("i")] << " = data[i];\n"
- "}\n";
-
- const context &context = queue.get_context();
- ::boost::compute::kernel kernel = k.compile(context);
- kernel.set_arg(local_data_arg, local_buffer<T>(count));
- kernel.set_arg(count_arg, static_cast<uint_>(count));
-
- queue.enqueue_task(kernel);
-}
-
-template<class Iterator>
-inline void serial_insertion_sort(Iterator first,
- Iterator last,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<Iterator>::value_type T;
-
- ::boost::compute::less<T> less;
-
- return serial_insertion_sort(first, last, less, queue);
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void serial_insertion_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
- typedef typename std::iterator_traits<ValueIterator>::value_type value_type;
-
- size_t count = iterator_range_size(keys_first, keys_last);
- if(count < 2){
- return;
- }
-
- meta_kernel k("serial_insertion_sort_by_key");
- size_t local_keys_arg = k.add_arg<key_type *>(memory_object::local_memory, "keys");
- size_t local_data_arg = k.add_arg<value_type *>(memory_object::local_memory, "data");
- size_t count_arg = k.add_arg<uint_>("n");
-
- k <<
- // copy data to local memory
- "for(uint i = 0; i < n; i++){\n" <<
- " keys[i] = " << keys_first[k.var<uint_>("i")] << ";\n"
- " data[i] = " << values_first[k.var<uint_>("i")] << ";\n"
- "}\n"
-
- // sort data in local memory
- "for(uint i = 1; i < n; i++){\n" <<
- " " << k.decl<const key_type>("key") << " = keys[i];\n" <<
- " " << k.decl<const value_type>("value") << " = data[i];\n" <<
- " uint pos = i;\n" <<
- " while(pos > 0 && " <<
- compare(k.var<const key_type>("key"),
- k.var<const key_type>("keys[pos-1]")) << "){\n" <<
- " keys[pos] = keys[pos-1];\n" <<
- " data[pos] = data[pos-1];\n" <<
- " pos--;\n" <<
- " }\n" <<
- " keys[pos] = key;\n" <<
- " data[pos] = value;\n" <<
- "}\n" <<
-
- // copy sorted data to output
- "for(uint i = 0; i < n; i++){\n" <<
- " " << keys_first[k.var<uint_>("i")] << " = keys[i];\n"
- " " << values_first[k.var<uint_>("i")] << " = data[i];\n"
- "}\n";
-
- const context &context = queue.get_context();
- ::boost::compute::kernel kernel = k.compile(context);
- kernel.set_arg(local_keys_arg, static_cast<uint_>(count * sizeof(key_type)), 0);
- kernel.set_arg(local_data_arg, static_cast<uint_>(count * sizeof(value_type)), 0);
- kernel.set_arg(count_arg, static_cast<uint_>(count));
-
- queue.enqueue_task(kernel);
-}
-
-template<class KeyIterator, class ValueIterator>
-inline void serial_insertion_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
-
- serial_insertion_sort_by_key(
- keys_first,
- keys_last,
- values_first,
- boost::compute::less<key_type>(),
- queue
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_INSERTION_SORT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_path.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_path.hpp
deleted file mode 100644
index bc2c8fa88..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_path.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_PATH_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_PATH_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Merge Path kernel class
-///
-/// Subclass of meta_kernel to break two sets into tiles according
-/// to their merge path
-///
-class merge_path_kernel : public meta_kernel
-{
-public:
- unsigned int tile_size;
-
- merge_path_kernel() : meta_kernel("merge_path")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class OutputIterator1, class OutputIterator2,
- class Compare>
- void set_range(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator1 result_a,
- OutputIterator2 result_b,
- Compare comp)
- {
- m_a_count = iterator_range_size(first1, last1);
- m_a_count_arg = add_arg<uint_>("a_count");
-
- m_b_count = iterator_range_size(first2, last2);
- m_b_count_arg = add_arg<uint_>("b_count");
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint target = (i+1)*" << tile_size << ";\n" <<
- "uint start = max(convert_int(0),convert_int(target)-convert_int(b_count));\n" <<
- "uint end = min(target,a_count);\n" <<
- "uint a_index, b_index;\n" <<
- "while(start<end)\n" <<
- "{\n" <<
- " a_index = (start + end)/2;\n" <<
- " b_index = target - a_index - 1;\n" <<
- " if(!(" << comp(first2[expr<uint_>("b_index")],
- first1[expr<uint_>("a_index")]) << "))\n" <<
- " start = a_index + 1;\n" <<
- " else end = a_index;\n" <<
- "}\n" <<
- result_a[expr<uint_>("i")] << " = start;\n" <<
- result_b[expr<uint_>("i")] << " = target - start;\n";
- }
-
- template<class InputIterator1, class InputIterator2,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator1 result_a,
- OutputIterator2 result_b)
- {
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
- ::boost::compute::less<value_type> less_than;
- set_range(first1, last1, first2, last2, result_a, result_b, less_than);
- }
-
- event exec(command_queue &queue)
- {
- if((m_a_count + m_b_count)/tile_size == 0) {
- return event();
- }
-
- set_arg(m_a_count_arg, uint_(m_a_count));
- set_arg(m_b_count_arg, uint_(m_b_count));
-
- return exec_1d(queue, 0, (m_a_count + m_b_count)/tile_size);
- }
-
-private:
- size_t m_a_count;
- size_t m_a_count_arg;
- size_t m_b_count;
- size_t m_b_count_arg;
-};
-
-} //end detail namespace
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_PATH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_cpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_cpu.hpp
deleted file mode 100644
index f4b53f10a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_cpu.hpp
+++ /dev/null
@@ -1,366 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_CPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_CPU_HPP
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/merge_with_merge_path.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void merge_blocks(KeyIterator keys_first,
- ValueIterator values_first,
- KeyIterator keys_result,
- ValueIterator values_result,
- Compare compare,
- size_t count,
- const size_t block_size,
- const bool sort_by_key,
- command_queue &queue)
-{
- (void) values_result;
- (void) values_first;
-
- meta_kernel k("merge_sort_on_cpu_merge_blocks");
- size_t count_arg = k.add_arg<const uint_>("count");
- size_t block_size_arg = k.add_arg<uint_>("block_size");
-
- k <<
- k.decl<uint_>("b1_start") << " = get_global_id(0) * block_size * 2;\n" <<
- k.decl<uint_>("b1_end") << " = min(count, b1_start + block_size);\n" <<
- k.decl<uint_>("b2_start") << " = min(count, b1_start + block_size);\n" <<
- k.decl<uint_>("b2_end") << " = min(count, b2_start + block_size);\n" <<
- k.decl<uint_>("result_idx") << " = b1_start;\n" <<
-
- // merging block 1 and block 2 (stable)
- "while(b1_start < b1_end && b2_start < b2_end){\n" <<
- " if( " << compare(keys_first[k.var<uint_>("b2_start")],
- keys_first[k.var<uint_>("b1_start")]) << "){\n" <<
- " " << keys_result[k.var<uint_>("result_idx")] << " = " <<
- keys_first[k.var<uint_>("b2_start")] << ";\n";
- if(sort_by_key){
- k <<
- " " << values_result[k.var<uint_>("result_idx")] << " = " <<
- values_first[k.var<uint_>("b2_start")] << ";\n";
- }
- k <<
- " b2_start++;\n" <<
- " }\n" <<
- " else {\n" <<
- " " << keys_result[k.var<uint_>("result_idx")] << " = " <<
- keys_first[k.var<uint_>("b1_start")] << ";\n";
- if(sort_by_key){
- k <<
- " " << values_result[k.var<uint_>("result_idx")] << " = " <<
- values_first[k.var<uint_>("b1_start")] << ";\n";
- }
- k <<
- " b1_start++;\n" <<
- " }\n" <<
- " result_idx++;\n" <<
- "}\n" <<
- "while(b1_start < b1_end){\n" <<
- " " << keys_result[k.var<uint_>("result_idx")] << " = " <<
- keys_first[k.var<uint_>("b1_start")] << ";\n";
- if(sort_by_key){
- k <<
- " " << values_result[k.var<uint_>("result_idx")] << " = " <<
- values_first[k.var<uint_>("b1_start")] << ";\n";
- }
- k <<
- " b1_start++;\n" <<
- " result_idx++;\n" <<
- "}\n" <<
- "while(b2_start < b2_end){\n" <<
- " " << keys_result[k.var<uint_>("result_idx")] << " = " <<
- keys_first[k.var<uint_>("b2_start")] << ";\n";
- if(sort_by_key){
- k <<
- " " << values_result[k.var<uint_>("result_idx")] << " = " <<
- values_first[k.var<uint_>("b2_start")] << ";\n";
- }
- k <<
- " b2_start++;\n" <<
- " result_idx++;\n" <<
- "}\n";
-
- const context &context = queue.get_context();
- ::boost::compute::kernel kernel = k.compile(context);
- kernel.set_arg(count_arg, static_cast<const uint_>(count));
- kernel.set_arg(block_size_arg, static_cast<uint_>(block_size));
-
- const size_t global_size = static_cast<size_t>(
- std::ceil(float(count) / (2 * block_size))
- );
- queue.enqueue_1d_range_kernel(kernel, 0, global_size, 0);
-}
-
-template<class Iterator, class Compare>
-inline void merge_blocks(Iterator first,
- Iterator result,
- Compare compare,
- size_t count,
- const size_t block_size,
- const bool sort_by_key,
- command_queue &queue)
-{
- // dummy iterator as it's not sort by key
- Iterator dummy;
- merge_blocks(first, dummy, result, dummy, compare, count, block_size, false, queue);
-}
-
-template<class Iterator, class Compare>
-inline void dispatch_merge_blocks(Iterator first,
- Iterator result,
- Compare compare,
- size_t count,
- const size_t block_size,
- const size_t input_size_threshold,
- const size_t blocks_no_threshold,
- command_queue &queue)
-{
- const size_t blocks_no = static_cast<size_t>(
- std::ceil(float(count) / block_size)
- );
- // merge with merge path should used only for the large arrays and at the
- // end of merging part when there are only a few big blocks left to be merged
- if(blocks_no <= blocks_no_threshold && count >= input_size_threshold){
- Iterator last = first + count;
- for(size_t i = 0; i < count; i+= 2*block_size)
- {
- Iterator first1 = (std::min)(first + i, last);
- Iterator last1 = (std::min)(first1 + block_size, last);
- Iterator first2 = last1;
- Iterator last2 = (std::min)(first2 + block_size, last);
- Iterator block_result = (std::min)(result + i, result + count);
- merge_with_merge_path(first1, last1, first2, last2,
- block_result, compare, queue);
- }
- }
- else {
- merge_blocks(first, result, compare, count, block_size, false, queue);
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void block_insertion_sort(KeyIterator keys_first,
- ValueIterator values_first,
- Compare compare,
- const size_t count,
- const size_t block_size,
- const bool sort_by_key,
- command_queue &queue)
-{
- (void) values_first;
-
- typedef typename std::iterator_traits<KeyIterator>::value_type K;
- typedef typename std::iterator_traits<ValueIterator>::value_type T;
-
- meta_kernel k("merge_sort_on_cpu_block_insertion_sort");
- size_t count_arg = k.add_arg<uint_>("count");
- size_t block_size_arg = k.add_arg<uint_>("block_size");
-
- k <<
- k.decl<uint_>("start") << " = get_global_id(0) * block_size;\n" <<
- k.decl<uint_>("end") << " = min(count, start + block_size);\n" <<
-
- // block insertion sort (stable)
- "for(uint i = start+1; i < end; i++){\n" <<
- " " << k.decl<const K>("key") << " = " <<
- keys_first[k.var<uint_>("i")] << ";\n";
- if(sort_by_key){
- k <<
- " " << k.decl<const T>("value") << " = " <<
- values_first[k.var<uint_>("i")] << ";\n";
- }
- k <<
- " uint pos = i;\n" <<
- " while(pos > start && " <<
- compare(k.var<const K>("key"),
- keys_first[k.var<uint_>("pos-1")]) << "){\n" <<
- " " << keys_first[k.var<uint_>("pos")] << " = " <<
- keys_first[k.var<uint_>("pos-1")] << ";\n";
- if(sort_by_key){
- k <<
- " " << values_first[k.var<uint_>("pos")] << " = " <<
- values_first[k.var<uint_>("pos-1")] << ";\n";
- }
- k <<
- " pos--;\n" <<
- " }\n" <<
- " " << keys_first[k.var<uint_>("pos")] << " = key;\n";
- if(sort_by_key) {
- k <<
- " " << values_first[k.var<uint_>("pos")] << " = value;\n";
- }
- k <<
- "}\n"; // block insertion sort
-
- const context &context = queue.get_context();
- ::boost::compute::kernel kernel = k.compile(context);
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(block_size_arg, static_cast<uint_>(block_size));
-
- const size_t global_size = static_cast<size_t>(std::ceil(float(count) / block_size));
- queue.enqueue_1d_range_kernel(kernel, 0, global_size, 0);
-}
-
-template<class Iterator, class Compare>
-inline void block_insertion_sort(Iterator first,
- Compare compare,
- const size_t count,
- const size_t block_size,
- command_queue &queue)
-{
- // dummy iterator as it's not sort by key
- Iterator dummy;
- block_insertion_sort(first, dummy, compare, count, block_size, false, queue);
-}
-
-// This sort is stable.
-template<class Iterator, class Compare>
-inline void merge_sort_on_cpu(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- size_t count = iterator_range_size(first, last);
- if(count < 2){
- return;
- }
- // for small input size only insertion sort is performed
- else if(count <= 512){
- block_insertion_sort(first, compare, count, count, queue);
- return;
- }
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_merge_sort_on_cpu_") + type_name<value_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // When there is merge_with_path_blocks_no_threshold or less blocks left to
- // merge AND input size is merge_with_merge_path_input_size_threshold or more
- // merge_with_merge_path() algorithm is used to merge sorted blocks;
- // otherwise merge_blocks() is used.
- const size_t merge_with_path_blocks_no_threshold =
- parameters->get(cache_key, "merge_with_merge_path_blocks_no_threshold", 8);
- const size_t merge_with_path_input_size_threshold =
- parameters->get(cache_key, "merge_with_merge_path_input_size_threshold", 2097152);
-
- const size_t block_size =
- parameters->get(cache_key, "insertion_sort_block_size", 64);
- block_insertion_sort(first, compare, count, block_size, queue);
-
- // temporary buffer for merge result
- vector<value_type> temp(count, context);
- bool result_in_temporary_buffer = false;
-
- for(size_t i = block_size; i < count; i *= 2){
- result_in_temporary_buffer = !result_in_temporary_buffer;
- if(result_in_temporary_buffer) {
- dispatch_merge_blocks(first, temp.begin(), compare, count, i,
- merge_with_path_input_size_threshold,
- merge_with_path_blocks_no_threshold,
- queue);
- } else {
- dispatch_merge_blocks(temp.begin(), first, compare, count, i,
- merge_with_path_input_size_threshold,
- merge_with_path_blocks_no_threshold,
- queue);
- }
- }
-
- if(result_in_temporary_buffer) {
- copy(temp.begin(), temp.end(), first, queue);
- }
-}
-
-// This sort is stable.
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void merge_sort_by_key_on_cpu(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
- typedef typename std::iterator_traits<ValueIterator>::value_type value_type;
-
- size_t count = iterator_range_size(keys_first, keys_last);
- if(count < 2){
- return;
- }
- // for small input size only insertion sort is performed
- else if(count <= 512){
- block_insertion_sort(keys_first, values_first, compare,
- count, count, true, queue);
- return;
- }
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- // loading parameters
- std::string cache_key =
- std::string("__boost_merge_sort_by_key_on_cpu_") + type_name<value_type>()
- + "_with_" + type_name<key_type>();
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- const size_t block_size =
- parameters->get(cache_key, "insertion_sort_by_key_block_size", 64);
- block_insertion_sort(keys_first, values_first, compare,
- count, block_size, true, queue);
-
- // temporary buffer for merge results
- vector<value_type> values_temp(count, context);
- vector<key_type> keys_temp(count, context);
- bool result_in_temporary_buffer = false;
-
- for(size_t i = block_size; i < count; i *= 2){
- result_in_temporary_buffer = !result_in_temporary_buffer;
- if(result_in_temporary_buffer) {
- merge_blocks(keys_first, values_first,
- keys_temp.begin(), values_temp.begin(),
- compare, count, i, true, queue);
- } else {
- merge_blocks(keys_temp.begin(), values_temp.begin(),
- keys_first, values_first,
- compare, count, i, true, queue);
- }
- }
-
- if(result_in_temporary_buffer) {
- copy(keys_temp.begin(), keys_temp.end(), keys_first, queue);
- copy(values_temp.begin(), values_temp.end(), values_first, queue);
- }
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_CPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_gpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_gpu.hpp
deleted file mode 100644
index e62c6beb8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_sort_on_gpu.hpp
+++ /dev/null
@@ -1,590 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_GPU_HPP_
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_GPU_HPP_
-
-#include <algorithm>
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class KeyType, class ValueType>
-inline size_t pick_bitonic_block_sort_block_size(size_t proposed_wg,
- size_t lmem_size,
- bool sort_by_key)
-{
- size_t n = proposed_wg;
-
- size_t lmem_required = n * sizeof(KeyType);
- if(sort_by_key) {
- lmem_required += n * sizeof(ValueType);
- }
-
- // try to force at least 4 work-groups of >64 elements
- // for better occupancy
- while(lmem_size < (lmem_required * 4) && (n > 64)) {
- n /= 2;
- lmem_required = n * sizeof(KeyType);
- }
- while(lmem_size < lmem_required && (n != 1)) {
- n /= 2;
- if(n < 1) n = 1;
- lmem_required = n * sizeof(KeyType);
- }
-
- if(n < 2) { return 1; }
- else if(n < 4) { return 2; }
- else if(n < 8) { return 4; }
- else if(n < 16) { return 8; }
- else if(n < 32) { return 16; }
- else if(n < 64) { return 32; }
- else if(n < 128) { return 64; }
- else if(n < 256) { return 128; }
- else { return 256; }
-}
-
-
-/// Performs bitonic block sort according to \p compare.
-///
-/// Since bitonic sort can be only performed when input size is equal to 2^n,
-/// in this case input size is block size (\p work_group_size), we would have
-/// to require \p count be a exact multiple of block size. That would not be
-/// great.
-/// Instead, bitonic sort kernel is merged with odd-even merge sort so if the
-/// last block is not equal to 2^n (where n is some natural number) the odd-even
-/// sort is performed for that block. That way bitonic_block_sort() works for
-/// input of any size. Block size (\p work_group_size) still have to be equal
-/// to 2^n.
-///
-/// This is NOT stable.
-///
-/// \param keys_first first key element in the range to sort
-/// \param values_first first value element in the range to sort
-/// \param compare comparison function for keys
-/// \param count number of elements in the range; count > 0
-/// \param work_group_size size of the work group, also the block size; must be
-/// equal to n^2 where n is natural number
-/// \param queue command queue to perform the operation
-template<class KeyIterator, class ValueIterator, class Compare>
-inline size_t bitonic_block_sort(KeyIterator keys_first,
- ValueIterator values_first,
- Compare compare,
- const size_t count,
- const bool sort_by_key,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
-
- meta_kernel k("bitonic_block_sort");
- size_t count_arg = k.add_arg<const uint_>("count");
-
- size_t local_keys_arg = k.add_arg<key_type *>(memory_object::local_memory, "lkeys");
- size_t local_vals_arg = 0;
- if(sort_by_key) {
- local_vals_arg = k.add_arg<uchar_ *>(memory_object::local_memory, "lidx");
- }
-
- k <<
- // Work item global and local ids
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n";
-
- // declare my_key and my_value
- k <<
- k.decl<key_type>("my_key") << ";\n";
- // Instead of copying values (my_value) in local memory with keys
- // we save local index (uchar) and copy my_value at the end at
- // final index. This saves local memory.
- if(sort_by_key)
- {
- k <<
- k.decl<uchar_>("my_index") << " = (uchar)(lid);\n";
- }
-
- // load key
- k <<
- "if(gid < count) {\n" <<
- k.var<key_type>("my_key") << " = " <<
- keys_first[k.var<const uint_>("gid")] << ";\n" <<
- "}\n";
-
- // load key and index to local memory
- k <<
- "lkeys[lid] = my_key;\n";
- if(sort_by_key)
- {
- k <<
- "lidx[lid] = my_index;\n";
- }
- k <<
- k.decl<const uint_>("offset") << " = get_group_id(0) * get_local_size(0);\n" <<
- k.decl<const uint_>("n") << " = min((uint)(get_local_size(0)),(count - offset));\n";
-
- // When work group size is a power of 2 bitonic sorter can be used;
- // otherwise, slower odd-even sort is used.
-
- k <<
- // check if n is power of 2
- "if(((n != 0) && ((n & (~n + 1)) == n))) {\n";
-
- // bitonic sort, not stable
- k <<
- // wait for keys and vals to be stored in local memory
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
-
- "#pragma unroll\n" <<
- "for(" <<
- k.decl<uint_>("length") << " = 1; " <<
- "length < n; " <<
- "length <<= 1" <<
- ") {\n" <<
- // direction of sort: false -> asc, true -> desc
- k.decl<bool>("direction") << "= ((lid & (length<<1)) != 0);\n" <<
- "for(" <<
- k.decl<uint_>("k") << " = length; " <<
- "k > 0; " <<
- "k >>= 1" <<
- ") {\n" <<
-
- // sibling to compare with my key
- k.decl<uint_>("sibling_idx") << " = lid ^ k;\n" <<
- k.decl<key_type>("sibling_key") << " = lkeys[sibling_idx];\n" <<
- k.decl<bool>("compare") << " = " <<
- compare(k.var<key_type>("sibling_key"),
- k.var<key_type>("my_key")) << ";\n" <<
- k.decl<bool>("swap") <<
- " = compare ^ (sibling_idx < lid) ^ direction;\n" <<
- "my_key = swap ? sibling_key : my_key;\n";
- if(sort_by_key)
- {
- k <<
- "my_index = swap ? lidx[sibling_idx] : my_index;\n";
- }
- k <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "lkeys[lid] = my_key;\n";
- if(sort_by_key)
- {
- k <<
- "lidx[lid] = my_index;\n";
- }
- k <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "}\n" <<
- "}\n";
-
- // end of bitonic sort
-
- // odd-even sort, not stable
- k <<
- "}\n" <<
- "else { \n";
-
- k <<
- k.decl<bool>("lid_is_even") << " = (lid%2) == 0;\n" <<
- k.decl<uint_>("oddsibling_idx") << " = " <<
- "(lid_is_even) ? max(lid,(uint)(1)) - 1 : min(lid+1,n-1);\n" <<
- k.decl<uint_>("evensibling_idx") << " = " <<
- "(lid_is_even) ? min(lid+1,n-1) : max(lid,(uint)(1)) - 1;\n" <<
-
- // wait for keys and vals to be stored in local memory
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
-
- "#pragma unroll\n" <<
- "for(" <<
- k.decl<uint_>("i") << " = 0; " <<
- "i < n; " <<
- "i++" <<
- ") {\n" <<
- k.decl<uint_>("sibling_idx") <<
- " = i%2 == 0 ? evensibling_idx : oddsibling_idx;\n" <<
- k.decl<key_type>("sibling_key") << " = lkeys[sibling_idx];\n" <<
- k.decl<bool>("compare") << " = " <<
- compare(k.var<key_type>("sibling_key"),
- k.var<key_type>("my_key")) << ";\n" <<
- k.decl<bool>("swap") <<
- " = compare ^ (sibling_idx < lid);\n" <<
- "my_key = swap ? sibling_key : my_key;\n";
- if(sort_by_key)
- {
- k <<
- "my_index = swap ? lidx[sibling_idx] : my_index;\n";
- }
- k <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "lkeys[lid] = my_key;\n";
- if(sort_by_key)
- {
- k <<
- "lidx[lid] = my_index;\n";
- }
- k <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n"
- "}\n" << // for
-
- "}\n"; // else
- // end of odd-even sort
-
- // save key and value
- k <<
- "if(gid < count) {\n" <<
- keys_first[k.var<const uint_>("gid")] << " = " <<
- k.var<key_type>("my_key") << ";\n";
- if(sort_by_key)
- {
- k << values_first[k.var<const uint_>("gid")] << " = " <<
- values_first[k.var<const uint_>("offset + my_index")] << ";\n";
- }
- k <<
- // end if
- "}\n";
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
- ::boost::compute::kernel kernel = k.compile(context);
-
- const size_t work_group_size =
- pick_bitonic_block_sort_block_size<key_type, uchar_>(
- kernel.get_work_group_info<size_t>(
- device, CL_KERNEL_WORK_GROUP_SIZE
- ),
- device.get_info<size_t>(CL_DEVICE_LOCAL_MEM_SIZE),
- sort_by_key
- );
-
- const size_t global_size =
- work_group_size * static_cast<size_t>(
- std::ceil(float(count) / work_group_size)
- );
-
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(local_keys_arg, local_buffer<key_type>(work_group_size));
- if(sort_by_key) {
- kernel.set_arg(local_vals_arg, local_buffer<uchar_>(work_group_size));
- }
-
- queue.enqueue_1d_range_kernel(kernel, 0, global_size, work_group_size);
- // return size of the block
- return work_group_size;
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline size_t block_sort(KeyIterator keys_first,
- ValueIterator values_first,
- Compare compare,
- const size_t count,
- const bool sort_by_key,
- const bool stable,
- command_queue &queue)
-{
- if(stable) {
- // TODO: Implement stable block sort (stable odd-even merge sort)
- return size_t(1);
- }
- return bitonic_block_sort(
- keys_first, values_first,
- compare, count,
- sort_by_key, queue
- );
-}
-
-/// space: O(n + m); n - number of keys, m - number of values
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void merge_blocks_on_gpu(KeyIterator keys_first,
- ValueIterator values_first,
- KeyIterator out_keys_first,
- ValueIterator out_values_first,
- Compare compare,
- const size_t count,
- const size_t block_size,
- const bool sort_by_key,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
- typedef typename std::iterator_traits<ValueIterator>::value_type value_type;
-
- meta_kernel k("merge_blocks");
- size_t count_arg = k.add_arg<const uint_>("count");
- size_t block_size_arg = k.add_arg<const uint_>("block_size");
-
- k <<
- // get global id
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
- "if(gid >= count) {\n" <<
- "return;\n" <<
- "}\n" <<
-
- k.decl<const key_type>("my_key") << " = " <<
- keys_first[k.var<const uint_>("gid")] << ";\n";
-
- if(sort_by_key) {
- k <<
- k.decl<const value_type>("my_value") << " = " <<
- values_first[k.var<const uint_>("gid")] << ";\n";
- }
-
- k <<
- // get my block idx
- k.decl<const uint_>("my_block_idx") << " = gid / block_size;\n" <<
- k.decl<const bool>("my_block_idx_is_odd") << " = " <<
- "my_block_idx & 0x1;\n" <<
-
- k.decl<const uint_>("other_block_idx") << " = " <<
- // if(my_block_idx is odd) {} else {}
- "my_block_idx_is_odd ? my_block_idx - 1 : my_block_idx + 1;\n" <<
-
- // get ranges of my block and the other block
- // [my_block_start; my_block_end)
- // [other_block_start; other_block_end)
- k.decl<const uint_>("my_block_start") << " = " <<
- "min(my_block_idx * block_size, count);\n" << // including
- k.decl<const uint_>("my_block_end") << " = " <<
- "min((my_block_idx + 1) * block_size, count);\n" << // excluding
-
- k.decl<const uint_>("other_block_start") << " = " <<
- "min(other_block_idx * block_size, count);\n" << // including
- k.decl<const uint_>("other_block_end") << " = " <<
- "min((other_block_idx + 1) * block_size, count);\n" << // excluding
-
- // other block is empty, nothing to merge here
- "if(other_block_start == count){\n" <<
- out_keys_first[k.var<uint_>("gid")] << " = my_key;\n";
- if(sort_by_key) {
- k <<
- out_values_first[k.var<uint_>("gid")] << " = my_value;\n";
- }
-
- k <<
- "return;\n" <<
- "}\n" <<
-
- // lower bound
- // left_idx - lower bound
- k.decl<uint_>("left_idx") << " = other_block_start;\n" <<
- k.decl<uint_>("right_idx") << " = other_block_end;\n" <<
- "while(left_idx < right_idx) {\n" <<
- k.decl<uint_>("mid_idx") << " = (left_idx + right_idx) / 2;\n" <<
- k.decl<key_type>("mid_key") << " = " <<
- keys_first[k.var<const uint_>("mid_idx")] << ";\n" <<
- k.decl<bool>("smaller") << " = " <<
- compare(k.var<key_type>("mid_key"),
- k.var<key_type>("my_key")) << ";\n" <<
- "left_idx = smaller ? mid_idx + 1 : left_idx;\n" <<
- "right_idx = smaller ? right_idx : mid_idx;\n" <<
- "}\n" <<
- // left_idx is found position in other block
-
- // if my_block is odd we need to get the upper bound
- "right_idx = other_block_end;\n" <<
- "if(my_block_idx_is_odd && left_idx != right_idx) {\n" <<
- k.decl<key_type>("upper_key") << " = " <<
- keys_first[k.var<const uint_>("left_idx")] << ";\n" <<
- "while(" <<
- "!(" << compare(k.var<key_type>("upper_key"),
- k.var<key_type>("my_key")) <<
- ") && " <<
- "!(" << compare(k.var<key_type>("my_key"),
- k.var<key_type>("upper_key")) <<
- ") && " <<
- "left_idx < right_idx" <<
- ")" <<
- "{\n" <<
- k.decl<uint_>("mid_idx") << " = (left_idx + right_idx) / 2;\n" <<
- k.decl<key_type>("mid_key") << " = " <<
- keys_first[k.var<const uint_>("mid_idx")] << ";\n" <<
- k.decl<bool>("equal") << " = " <<
- "!(" << compare(k.var<key_type>("mid_key"),
- k.var<key_type>("my_key")) <<
- ") && " <<
- "!(" << compare(k.var<key_type>("my_key"),
- k.var<key_type>("mid_key")) <<
- ");\n" <<
- "left_idx = equal ? mid_idx + 1 : left_idx + 1;\n" <<
- "right_idx = equal ? right_idx : mid_idx;\n" <<
- "upper_key = equal ? upper_key : " <<
- keys_first[k.var<const uint_>("left_idx")] << ";\n" <<
- "}\n" <<
- "}\n" <<
-
- k.decl<uint_>("offset") << " = 0;\n" <<
- "offset += gid - my_block_start;\n" <<
- "offset += left_idx - other_block_start;\n" <<
- "offset += min(my_block_start, other_block_start);\n" <<
- out_keys_first[k.var<uint_>("offset")] << " = my_key;\n";
- if(sort_by_key) {
- k <<
- out_values_first[k.var<uint_>("offset")] << " = my_value;\n";
- }
-
- const context &context = queue.get_context();
- ::boost::compute::kernel kernel = k.compile(context);
-
- const size_t work_group_size = (std::min)(
- size_t(256),
- kernel.get_work_group_info<size_t>(
- queue.get_device(), CL_KERNEL_WORK_GROUP_SIZE
- )
- );
- const size_t global_size =
- work_group_size * static_cast<size_t>(
- std::ceil(float(count) / work_group_size)
- );
-
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(block_size_arg, static_cast<uint_>(block_size));
- queue.enqueue_1d_range_kernel(kernel, 0, global_size, work_group_size);
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void merge_sort_by_key_on_gpu(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- bool stable,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
- typedef typename std::iterator_traits<ValueIterator>::value_type value_type;
-
- size_t count = iterator_range_size(keys_first, keys_last);
- if(count < 2){
- return;
- }
-
- size_t block_size =
- block_sort(
- keys_first, values_first,
- compare, count,
- true /* sort_by_key */, stable /* stable */,
- queue
- );
-
- // for small input size only block sort is performed
- if(count <= block_size) {
- return;
- }
-
- const context &context = queue.get_context();
-
- bool result_in_temporary_buffer = false;
- ::boost::compute::vector<key_type> temp_keys(count, context);
- ::boost::compute::vector<value_type> temp_values(count, context);
-
- for(; block_size < count; block_size *= 2) {
- result_in_temporary_buffer = !result_in_temporary_buffer;
- if(result_in_temporary_buffer) {
- merge_blocks_on_gpu(keys_first, values_first,
- temp_keys.begin(), temp_values.begin(),
- compare, count, block_size,
- true /* sort_by_key */, queue);
- } else {
- merge_blocks_on_gpu(temp_keys.begin(), temp_values.begin(),
- keys_first, values_first,
- compare, count, block_size,
- true /* sort_by_key */, queue);
- }
- }
-
- if(result_in_temporary_buffer) {
- copy_async(temp_keys.begin(), temp_keys.end(), keys_first, queue);
- copy_async(temp_values.begin(), temp_values.end(), values_first, queue);
- }
-}
-
-template<class Iterator, class Compare>
-inline void merge_sort_on_gpu(Iterator first,
- Iterator last,
- Compare compare,
- bool stable,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<Iterator>::value_type key_type;
-
- size_t count = iterator_range_size(first, last);
- if(count < 2){
- return;
- }
-
- Iterator dummy;
- size_t block_size =
- block_sort(
- first, dummy,
- compare, count,
- false /* sort_by_key */, stable /* stable */,
- queue
- );
-
- // for small input size only block sort is performed
- if(count <= block_size) {
- return;
- }
-
- const context &context = queue.get_context();
-
- bool result_in_temporary_buffer = false;
- ::boost::compute::vector<key_type> temp_keys(count, context);
-
- for(; block_size < count; block_size *= 2) {
- result_in_temporary_buffer = !result_in_temporary_buffer;
- if(result_in_temporary_buffer) {
- merge_blocks_on_gpu(first, dummy, temp_keys.begin(), dummy,
- compare, count, block_size,
- false /* sort_by_key */, queue);
- } else {
- merge_blocks_on_gpu(temp_keys.begin(), dummy, first, dummy,
- compare, count, block_size,
- false /* sort_by_key */, queue);
- }
- }
-
- if(result_in_temporary_buffer) {
- copy_async(temp_keys.begin(), temp_keys.end(), first, queue);
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void merge_sort_by_key_on_gpu(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- merge_sort_by_key_on_gpu(
- keys_first, keys_last, values_first,
- compare, false /* not stable */, queue
- );
-}
-
-template<class Iterator, class Compare>
-inline void merge_sort_on_gpu(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue)
-{
- merge_sort_on_gpu(
- first, last, compare, false /* not stable */, queue
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif /* BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_SORT_ON_GPU_HPP_ */
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_with_merge_path.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_with_merge_path.hpp
deleted file mode 100644
index c3cc5e8e9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/merge_with_merge_path.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_WIH_MERGE_PATH_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_WIH_MERGE_PATH_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/merge_path.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial merge kernel class
-///
-/// Subclass of meta_kernel to perform serial merge after tiling
-///
-class serial_merge_kernel : meta_kernel
-{
-public:
- unsigned int tile_size;
-
- serial_merge_kernel() : meta_kernel("merge")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator, class Compare>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator result,
- Compare comp)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint index = i*" << tile_size << ";\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(!(" << comp(first2[expr<uint_>("start2")],
- first1[expr<uint_>("start1")]) << "))\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++;\n" <<
- " start1++;\n" <<
- " }\n" <<
- " else\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++;\n" <<
- " start2++;\n" <<
- " }\n" <<
- "}\n" <<
- "while(start1<end1)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++;\n" <<
- " start1++;\n" <<
- "}\n" <<
- "while(start2<end2)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++;\n" <<
- " start2++;\n" <<
- "}\n";
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator result)
- {
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
- ::boost::compute::less<value_type> less_than;
- set_range(first1, first2, tile_first1, tile_last1, tile_first2, result, less_than);
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-///
-/// \brief Merge algorithm with merge path
-///
-/// Merges the sorted values in the range [\p first1, \p last1) with
-/// the sorted values in the range [\p first2, last2) and stores the
-/// result in the range beginning at \p result
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param result Iterator pointing to start of range in which the result
-/// will be stored
-/// \param comp Comparator which performs less than function
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-inline OutputIterator
-merge_with_merge_path(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- Compare comp,
- command_queue &queue = system::default_queue())
-{
- typedef typename
- std::iterator_traits<OutputIterator>::difference_type result_difference_type;
-
- size_t tile_size = 1024;
-
- size_t count1 = iterator_range_size(first1, last1);
- size_t count2 = iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- merge_path_kernel tiling_kernel;
- tiling_kernel.tile_size = static_cast<unsigned int>(tile_size);
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1, comp);
- fill_n(tile_a.begin(), 1, uint_(0), queue);
- fill_n(tile_b.begin(), 1, uint_(0), queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, static_cast<uint_>(count1), queue);
- fill_n(tile_b.end()-1, 1, static_cast<uint_>(count2), queue);
-
- // Merge
- serial_merge_kernel merge_kernel;
- merge_kernel.tile_size = static_cast<unsigned int>(tile_size);
- merge_kernel.set_range(first1, first2, tile_a.begin(), tile_a.end(),
- tile_b.begin(), result, comp);
-
- merge_kernel.exec(queue);
-
- return result + static_cast<result_difference_type>(count1 + count2);
-}
-
-/// \overload
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator
-merge_with_merge_path(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
- ::boost::compute::less<value_type> less_than;
- return merge_with_merge_path(first1, last1, first2, last2, result, less_than, queue);
-}
-
-} //end detail namespace
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_MERGE_WIH_MERGE_PATH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/radix_sort.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/radix_sort.hpp
deleted file mode 100644
index 8e6d5f9c0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/radix_sort.hpp
+++ /dev/null
@@ -1,461 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_RADIX_SORT_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_RADIX_SORT_HPP
-
-#include <iterator>
-
-#include <boost/assert.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/type_traits/is_fundamental.hpp>
-#include <boost/compute/type_traits/is_vector_type.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// meta-function returning true if type T is radix-sortable
-template<class T>
-struct is_radix_sortable :
- boost::mpl::and_<
- typename ::boost::compute::is_fundamental<T>::type,
- typename boost::mpl::not_<typename is_vector_type<T>::type>::type
- >
-{
-};
-
-template<size_t N>
-struct radix_sort_value_type
-{
-};
-
-template<>
-struct radix_sort_value_type<1>
-{
- typedef uchar_ type;
-};
-
-template<>
-struct radix_sort_value_type<2>
-{
- typedef ushort_ type;
-};
-
-template<>
-struct radix_sort_value_type<4>
-{
- typedef uint_ type;
-};
-
-template<>
-struct radix_sort_value_type<8>
-{
- typedef ulong_ type;
-};
-
-template<typename T>
-inline const char* enable_double()
-{
- return " -DT2_double=0";
-}
-
-template<>
-inline const char* enable_double<double>()
-{
- return " -DT2_double=1";
-}
-
-const char radix_sort_source[] =
-"#if T2_double\n"
-"#pragma OPENCL EXTENSION cl_khr_fp64 : enable\n"
-"#endif\n"
-"#define K2_BITS (1 << K_BITS)\n"
-"#define RADIX_MASK ((((T)(1)) << K_BITS) - 1)\n"
-"#define SIGN_BIT ((sizeof(T) * CHAR_BIT) - 1)\n"
-
-"#if defined(ASC)\n" // asc order
-
-"inline uint radix(const T x, const uint low_bit)\n"
-"{\n"
-"#if defined(IS_FLOATING_POINT)\n"
-" const T mask = -(x >> SIGN_BIT) | (((T)(1)) << SIGN_BIT);\n"
-" return ((x ^ mask) >> low_bit) & RADIX_MASK;\n"
-"#elif defined(IS_SIGNED)\n"
-" return ((x ^ (((T)(1)) << SIGN_BIT)) >> low_bit) & RADIX_MASK;\n"
-"#else\n"
-" return (x >> low_bit) & RADIX_MASK;\n"
-"#endif\n"
-"}\n"
-
-"#else\n" // desc order
-
-// For signed types we just negate the x and for unsigned types we
-// subtract the x from max value of its type ((T)(-1) is a max value
-// of type T when T is an unsigned type).
-"inline uint radix(const T x, const uint low_bit)\n"
-"{\n"
-"#if defined(IS_FLOATING_POINT)\n"
-" const T mask = -(x >> SIGN_BIT) | (((T)(1)) << SIGN_BIT);\n"
-" return (((-x) ^ mask) >> low_bit) & RADIX_MASK;\n"
-"#elif defined(IS_SIGNED)\n"
-" return (((-x) ^ (((T)(1)) << SIGN_BIT)) >> low_bit) & RADIX_MASK;\n"
-"#else\n"
-" return (((T)(-1) - x) >> low_bit) & RADIX_MASK;\n"
-"#endif\n"
-"}\n"
-
-"#endif\n" // #if defined(ASC)
-
-"__kernel void count(__global const T *input,\n"
-" const uint input_offset,\n"
-" const uint input_size,\n"
-" __global uint *global_counts,\n"
-" __global uint *global_offsets,\n"
-" __local uint *local_counts,\n"
-" const uint low_bit)\n"
-"{\n"
- // work-item parameters
-" const uint gid = get_global_id(0);\n"
-" const uint lid = get_local_id(0);\n"
-
- // zero local counts
-" if(lid < K2_BITS){\n"
-" local_counts[lid] = 0;\n"
-" }\n"
-" barrier(CLK_LOCAL_MEM_FENCE);\n"
-
- // reduce local counts
-" if(gid < input_size){\n"
-" T value = input[input_offset+gid];\n"
-" uint bucket = radix(value, low_bit);\n"
-" atomic_inc(local_counts + bucket);\n"
-" }\n"
-" barrier(CLK_LOCAL_MEM_FENCE);\n"
-
- // write block-relative offsets
-" if(lid < K2_BITS){\n"
-" global_counts[K2_BITS*get_group_id(0) + lid] = local_counts[lid];\n"
-
- // write global offsets
-" if(get_group_id(0) == (get_num_groups(0) - 1)){\n"
-" global_offsets[lid] = local_counts[lid];\n"
-" }\n"
-" }\n"
-"}\n"
-
-"__kernel void scan(__global const uint *block_offsets,\n"
-" __global uint *global_offsets,\n"
-" const uint block_count)\n"
-"{\n"
-" __global const uint *last_block_offsets =\n"
-" block_offsets + K2_BITS * (block_count - 1);\n"
-
- // calculate and scan global_offsets
-" uint sum = 0;\n"
-" for(uint i = 0; i < K2_BITS; i++){\n"
-" uint x = global_offsets[i] + last_block_offsets[i];\n"
-" global_offsets[i] = sum;\n"
-" sum += x;\n"
-" }\n"
-"}\n"
-
-"__kernel void scatter(__global const T *input,\n"
-" const uint input_offset,\n"
-" const uint input_size,\n"
-" const uint low_bit,\n"
-" __global const uint *counts,\n"
-" __global const uint *global_offsets,\n"
-"#ifndef SORT_BY_KEY\n"
-" __global T *output,\n"
-" const uint output_offset)\n"
-"#else\n"
-" __global T *keys_output,\n"
-" const uint keys_output_offset,\n"
-" __global T2 *values_input,\n"
-" const uint values_input_offset,\n"
-" __global T2 *values_output,\n"
-" const uint values_output_offset)\n"
-"#endif\n"
-"{\n"
- // work-item parameters
-" const uint gid = get_global_id(0);\n"
-" const uint lid = get_local_id(0);\n"
-
- // copy input to local memory
-" T value;\n"
-" uint bucket;\n"
-" __local uint local_input[BLOCK_SIZE];\n"
-" if(gid < input_size){\n"
-" value = input[input_offset+gid];\n"
-" bucket = radix(value, low_bit);\n"
-" local_input[lid] = bucket;\n"
-" }\n"
-
- // copy block counts to local memory
-" __local uint local_counts[(1 << K_BITS)];\n"
-" if(lid < K2_BITS){\n"
-" local_counts[lid] = counts[get_group_id(0) * K2_BITS + lid];\n"
-" }\n"
-
- // wait until local memory is ready
-" barrier(CLK_LOCAL_MEM_FENCE);\n"
-
-" if(gid >= input_size){\n"
-" return;\n"
-" }\n"
-
- // get global offset
-" uint offset = global_offsets[bucket] + local_counts[bucket];\n"
-
- // calculate local offset
-" uint local_offset = 0;\n"
-" for(uint i = 0; i < lid; i++){\n"
-" if(local_input[i] == bucket)\n"
-" local_offset++;\n"
-" }\n"
-
-"#ifndef SORT_BY_KEY\n"
- // write value to output
-" output[output_offset + offset + local_offset] = value;\n"
-"#else\n"
- // write key and value if doing sort_by_key
-" keys_output[keys_output_offset+offset + local_offset] = value;\n"
-" values_output[values_output_offset+offset + local_offset] =\n"
-" values_input[values_input_offset+gid];\n"
-"#endif\n"
-"}\n";
-
-template<class T, class T2>
-inline void radix_sort_impl(const buffer_iterator<T> first,
- const buffer_iterator<T> last,
- const buffer_iterator<T2> values_first,
- const bool ascending,
- command_queue &queue)
-{
-
- typedef T value_type;
- typedef typename radix_sort_value_type<sizeof(T)>::type sort_type;
-
- const device &device = queue.get_device();
- const context &context = queue.get_context();
-
-
- // if we have a valid values iterator then we are doing a
- // sort by key and have to set up the values buffer
- bool sort_by_key = (values_first.get_buffer().get() != 0);
-
- // load (or create) radix sort program
- std::string cache_key =
- std::string("__boost_radix_sort_") + type_name<value_type>();
-
- if(sort_by_key){
- cache_key += std::string("_with_") + type_name<T2>();
- }
-
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(context);
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // sort parameters
- const uint_ k = parameters->get(cache_key, "k", 4);
- const uint_ k2 = 1 << k;
- const uint_ block_size = parameters->get(cache_key, "tpb", 128);
-
- // sort program compiler options
- std::stringstream options;
- options << "-DK_BITS=" << k;
- options << " -DT=" << type_name<sort_type>();
- options << " -DBLOCK_SIZE=" << block_size;
-
- if(boost::is_floating_point<value_type>::value){
- options << " -DIS_FLOATING_POINT";
- }
-
- if(boost::is_signed<value_type>::value){
- options << " -DIS_SIGNED";
- }
-
- if(sort_by_key){
- options << " -DSORT_BY_KEY";
- options << " -DT2=" << type_name<T2>();
- options << enable_double<T2>();
- }
-
- if(ascending){
- options << " -DASC";
- }
-
- // load radix sort program
- program radix_sort_program = cache->get_or_build(
- cache_key, options.str(), radix_sort_source, context
- );
-
- kernel count_kernel(radix_sort_program, "count");
- kernel scan_kernel(radix_sort_program, "scan");
- kernel scatter_kernel(radix_sort_program, "scatter");
-
- size_t count = detail::iterator_range_size(first, last);
-
- uint_ block_count = static_cast<uint_>(count / block_size);
- if(block_count * block_size != count){
- block_count++;
- }
-
- // setup temporary buffers
- vector<value_type> output(count, context);
- vector<T2> values_output(sort_by_key ? count : 0, context);
- vector<uint_> offsets(k2, context);
- vector<uint_> counts(block_count * k2, context);
-
- const buffer *input_buffer = &first.get_buffer();
- uint_ input_offset = static_cast<uint_>(first.get_index());
- const buffer *output_buffer = &output.get_buffer();
- uint_ output_offset = 0;
- const buffer *values_input_buffer = &values_first.get_buffer();
- uint_ values_input_offset = static_cast<uint_>(values_first.get_index());
- const buffer *values_output_buffer = &values_output.get_buffer();
- uint_ values_output_offset = 0;
-
- for(uint_ i = 0; i < sizeof(sort_type) * CHAR_BIT / k; i++){
- // write counts
- count_kernel.set_arg(0, *input_buffer);
- count_kernel.set_arg(1, input_offset);
- count_kernel.set_arg(2, static_cast<uint_>(count));
- count_kernel.set_arg(3, counts);
- count_kernel.set_arg(4, offsets);
- count_kernel.set_arg(5, block_size * sizeof(uint_), 0);
- count_kernel.set_arg(6, i * k);
- queue.enqueue_1d_range_kernel(count_kernel,
- 0,
- block_count * block_size,
- block_size);
-
- // scan counts
- if(k == 1){
- typedef uint2_ counter_type;
- ::boost::compute::exclusive_scan(
- make_buffer_iterator<counter_type>(counts.get_buffer(), 0),
- make_buffer_iterator<counter_type>(counts.get_buffer(), counts.size() / 2),
- make_buffer_iterator<counter_type>(counts.get_buffer()),
- queue
- );
- }
- else if(k == 2){
- typedef uint4_ counter_type;
- ::boost::compute::exclusive_scan(
- make_buffer_iterator<counter_type>(counts.get_buffer(), 0),
- make_buffer_iterator<counter_type>(counts.get_buffer(), counts.size() / 4),
- make_buffer_iterator<counter_type>(counts.get_buffer()),
- queue
- );
- }
- else if(k == 4){
- typedef uint16_ counter_type;
- ::boost::compute::exclusive_scan(
- make_buffer_iterator<counter_type>(counts.get_buffer(), 0),
- make_buffer_iterator<counter_type>(counts.get_buffer(), counts.size() / 16),
- make_buffer_iterator<counter_type>(counts.get_buffer()),
- queue
- );
- }
- else {
- BOOST_ASSERT(false && "unknown k");
- break;
- }
-
- // scan global offsets
- scan_kernel.set_arg(0, counts);
- scan_kernel.set_arg(1, offsets);
- scan_kernel.set_arg(2, block_count);
- queue.enqueue_task(scan_kernel);
-
- // scatter values
- scatter_kernel.set_arg(0, *input_buffer);
- scatter_kernel.set_arg(1, input_offset);
- scatter_kernel.set_arg(2, static_cast<uint_>(count));
- scatter_kernel.set_arg(3, i * k);
- scatter_kernel.set_arg(4, counts);
- scatter_kernel.set_arg(5, offsets);
- scatter_kernel.set_arg(6, *output_buffer);
- scatter_kernel.set_arg(7, output_offset);
- if(sort_by_key){
- scatter_kernel.set_arg(8, *values_input_buffer);
- scatter_kernel.set_arg(9, values_input_offset);
- scatter_kernel.set_arg(10, *values_output_buffer);
- scatter_kernel.set_arg(11, values_output_offset);
- }
- queue.enqueue_1d_range_kernel(scatter_kernel,
- 0,
- block_count * block_size,
- block_size);
-
- // swap buffers
- std::swap(input_buffer, output_buffer);
- std::swap(values_input_buffer, values_output_buffer);
- std::swap(input_offset, output_offset);
- std::swap(values_input_offset, values_output_offset);
- }
-}
-
-template<class Iterator>
-inline void radix_sort(Iterator first,
- Iterator last,
- command_queue &queue)
-{
- radix_sort_impl(first, last, buffer_iterator<int>(), true, queue);
-}
-
-template<class KeyIterator, class ValueIterator>
-inline void radix_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- command_queue &queue)
-{
- radix_sort_impl(keys_first, keys_last, values_first, true, queue);
-}
-
-template<class Iterator>
-inline void radix_sort(Iterator first,
- Iterator last,
- const bool ascending,
- command_queue &queue)
-{
- radix_sort_impl(first, last, buffer_iterator<int>(), ascending, queue);
-}
-
-template<class KeyIterator, class ValueIterator>
-inline void radix_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- const bool ascending,
- command_queue &queue)
-{
- radix_sort_impl(keys_first, keys_last, values_first, ascending, queue);
-}
-
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_RADIX_SORT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key.hpp
deleted file mode 100644
index 65844c9eb..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_HPP
-
-#include <algorithm>
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/algorithm/detail/serial_reduce_by_key.hpp>
-#include <boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp>
-#include <boost/compute/type_traits.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction, class BinaryPredicate>
-size_t reduce_by_key_on_gpu(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- BinaryPredicate predicate,
- command_queue &queue)
-{
- return detail::reduce_by_key_with_scan(keys_first, keys_last, values_first,
- keys_result, values_result, function,
- predicate, queue);
-}
-
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator>
-bool reduce_by_key_on_gpu_requirements_met(InputKeyIterator keys_first,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- const size_t count,
- command_queue &queue)
-{
- const device &device = queue.get_device();
- return (count > 256)
- && !(device.type() & device::cpu)
- && reduce_by_key_with_scan_requirements_met(keys_first, values_first,
- keys_result,values_result,
- count, queue);
- return true;
-}
-
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction, class BinaryPredicate>
-inline std::pair<OutputKeyIterator, OutputValueIterator>
-dispatch_reduce_by_key(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- BinaryPredicate predicate,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<OutputKeyIterator>::difference_type key_difference_type;
- typedef typename
- std::iterator_traits<OutputValueIterator>::difference_type value_difference_type;
-
- const size_t count = detail::iterator_range_size(keys_first, keys_last);
- if (count < 2) {
- boost::compute::copy_n(keys_first, count, keys_result, queue);
- boost::compute::copy_n(values_first, count, values_result, queue);
- return
- std::make_pair<OutputKeyIterator, OutputValueIterator>(
- keys_result + static_cast<key_difference_type>(count),
- values_result + static_cast<value_difference_type>(count)
- );
- }
-
- size_t result_size = 0;
- if(reduce_by_key_on_gpu_requirements_met(keys_first, values_first, keys_result,
- values_result, count, queue)){
- result_size =
- detail::reduce_by_key_on_gpu(keys_first, keys_last, values_first,
- keys_result, values_result, function,
- predicate, queue);
- }
- else {
- result_size =
- detail::serial_reduce_by_key(keys_first, keys_last, values_first,
- keys_result, values_result, function,
- predicate, queue);
- }
-
- return
- std::make_pair<OutputKeyIterator, OutputValueIterator>(
- keys_result + static_cast<key_difference_type>(result_size),
- values_result + static_cast<value_difference_type>(result_size)
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp
deleted file mode 100644
index e6852a67e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp
+++ /dev/null
@@ -1,541 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_WITH_SCAN_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_WITH_SCAN_HPP
-
-#include <algorithm>
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/algorithm/inclusive_scan.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/type_traits.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-/// \internal_
-///
-/// Fills \p new_keys_first with unsigned integer keys generated from vector
-/// of original keys \p keys_first. New keys can be distinguish by simple equality
-/// predicate.
-///
-/// \param keys_first iterator pointing to the first key
-/// \param number_of_keys number of keys
-/// \param predicate binary predicate for key comparison
-/// \param new_keys_first iterator pointing to the new keys vector
-/// \param preferred_work_group_size preferred work group size
-/// \param queue command queue to perform the operation
-///
-/// Binary function \p predicate must take two keys as arguments and
-/// return true only if they are considered the same.
-///
-/// The first new key equals zero and the last equals number of unique keys
-/// minus one.
-///
-/// No local memory usage.
-template<class InputKeyIterator, class BinaryPredicate>
-inline void generate_uint_keys(InputKeyIterator keys_first,
- size_t number_of_keys,
- BinaryPredicate predicate,
- vector<uint_>::iterator new_keys_first,
- size_t preferred_work_group_size,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputKeyIterator>::value_type key_type;
-
- detail::meta_kernel k("reduce_by_key_new_key_flags");
- k.add_set_arg<const uint_>("count", uint_(number_of_keys));
-
- k <<
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
- k.decl<uint_>("value") << " = 0;\n" <<
- "if(gid >= count){\n return;\n}\n" <<
- "if(gid > 0){ \n" <<
- k.decl<key_type>("key") << " = " <<
- keys_first[k.var<const uint_>("gid")] << ";\n" <<
- k.decl<key_type>("previous_key") << " = " <<
- keys_first[k.var<const uint_>("gid - 1")] << ";\n" <<
- " value = " << predicate(k.var<key_type>("previous_key"),
- k.var<key_type>("key")) <<
- " ? 0 : 1;\n" <<
- "}\n else {\n" <<
- " value = 0;\n" <<
- "}\n" <<
- new_keys_first[k.var<const uint_>("gid")] << " = value;\n";
-
- const context &context = queue.get_context();
- kernel kernel = k.compile(context);
-
- size_t work_group_size = preferred_work_group_size;
- size_t work_groups_no = static_cast<size_t>(
- std::ceil(float(number_of_keys) / work_group_size)
- );
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- work_groups_no * work_group_size,
- work_group_size);
-
- inclusive_scan(new_keys_first, new_keys_first + number_of_keys,
- new_keys_first, queue);
-}
-
-/// \internal_
-/// Calculate carry-out for each work group.
-/// Carry-out is a pair of the last key processed by a work group and sum of all
-/// values under this key in this work group.
-template<class InputValueIterator, class OutputValueIterator, class BinaryFunction>
-inline void carry_outs(vector<uint_>::iterator keys_first,
- InputValueIterator values_first,
- size_t count,
- vector<uint_>::iterator carry_out_keys_first,
- OutputValueIterator carry_out_values_first,
- BinaryFunction function,
- size_t work_group_size,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<OutputValueIterator>::value_type value_out_type;
-
- detail::meta_kernel k("reduce_by_key_with_scan_carry_outs");
- k.add_set_arg<const uint_>("count", uint_(count));
- size_t local_keys_arg = k.add_arg<uint_ *>(memory_object::local_memory, "lkeys");
- size_t local_vals_arg = k.add_arg<value_out_type *>(memory_object::local_memory, "lvals");
-
- k <<
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
- k.decl<const uint_>("wg_size") << " = get_local_size(0);\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
- k.decl<const uint_>("group_id") << " = get_group_id(0);\n" <<
-
- k.decl<uint_>("key") << ";\n" <<
- k.decl<value_out_type>("value") << ";\n" <<
- "if(gid < count){\n" <<
- k.var<uint_>("key") << " = " <<
- keys_first[k.var<const uint_>("gid")] << ";\n" <<
- k.var<value_out_type>("value") << " = " <<
- values_first[k.var<const uint_>("gid")] << ";\n" <<
- "lkeys[lid] = key;\n" <<
- "lvals[lid] = value;\n" <<
- "}\n" <<
-
- // Calculate carry out for each work group by performing Hillis/Steele scan
- // where only last element (key-value pair) is saved
- k.decl<value_out_type>("result") << " = value;\n" <<
- k.decl<uint_>("other_key") << ";\n" <<
- k.decl<value_out_type>("other_value") << ";\n" <<
-
- "for(" << k.decl<uint_>("offset") << " = 1; " <<
- "offset < wg_size; offset *= 2){\n"
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " if(lid >= offset){\n"
- " other_key = lkeys[lid - offset];\n" <<
- " if(other_key == key){\n" <<
- " other_value = lvals[lid - offset];\n" <<
- " result = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("other_value")) << ";\n" <<
- " }\n" <<
- " }\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " lvals[lid] = result;\n" <<
- "}\n" <<
-
- // save carry out
- "if(lid == (wg_size - 1)){\n" <<
- carry_out_keys_first[k.var<const uint_>("group_id")] << " = key;\n" <<
- carry_out_values_first[k.var<const uint_>("group_id")] << " = result;\n" <<
- "}\n";
-
- size_t work_groups_no = static_cast<size_t>(
- std::ceil(float(count) / work_group_size)
- );
-
- const context &context = queue.get_context();
- kernel kernel = k.compile(context);
- kernel.set_arg(local_keys_arg, local_buffer<uint_>(work_group_size));
- kernel.set_arg(local_vals_arg, local_buffer<value_out_type>(work_group_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- work_groups_no * work_group_size,
- work_group_size);
-}
-
-/// \internal_
-/// Calculate carry-in by performing inclusive scan by key on carry-outs vector.
-template<class OutputValueIterator, class BinaryFunction>
-inline void carry_ins(vector<uint_>::iterator carry_out_keys_first,
- OutputValueIterator carry_out_values_first,
- OutputValueIterator carry_in_values_first,
- size_t carry_out_size,
- BinaryFunction function,
- size_t work_group_size,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<OutputValueIterator>::value_type value_out_type;
-
- uint_ values_pre_work_item = static_cast<uint_>(
- std::ceil(float(carry_out_size) / work_group_size)
- );
-
- detail::meta_kernel k("reduce_by_key_with_scan_carry_ins");
- k.add_set_arg<const uint_>("carry_out_size", uint_(carry_out_size));
- k.add_set_arg<const uint_>("values_per_work_item", values_pre_work_item);
- size_t local_keys_arg = k.add_arg<uint_ *>(memory_object::local_memory, "lkeys");
- size_t local_vals_arg = k.add_arg<value_out_type *>(memory_object::local_memory, "lvals");
-
- k <<
- k.decl<uint_>("id") << " = get_global_id(0) * values_per_work_item;\n" <<
- k.decl<uint_>("idx") << " = id;\n" <<
- k.decl<const uint_>("wg_size") << " = get_local_size(0);\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
- k.decl<const uint_>("group_id") << " = get_group_id(0);\n" <<
-
- k.decl<uint_>("key") << ";\n" <<
- k.decl<value_out_type>("value") << ";\n" <<
- k.decl<uint_>("previous_key") << ";\n" <<
- k.decl<value_out_type>("result") << ";\n" <<
-
- "if(id < carry_out_size){\n" <<
- k.var<uint_>("previous_key") << " = " <<
- carry_out_keys_first[k.var<const uint_>("id")] << ";\n" <<
- k.var<value_out_type>("result") << " = " <<
- carry_out_values_first[k.var<const uint_>("id")] << ";\n" <<
- carry_in_values_first[k.var<const uint_>("id")] << " = result;\n" <<
- "}\n" <<
-
- k.decl<const uint_>("end") << " = (id + values_per_work_item) <= carry_out_size" <<
- " ? (values_per_work_item + id) : carry_out_size;\n" <<
-
- "for(idx = idx + 1; idx < end; idx += 1){\n" <<
- " key = " << carry_out_keys_first[k.var<const uint_>("idx")] << ";\n" <<
- " value = " << carry_out_values_first[k.var<const uint_>("idx")] << ";\n" <<
- " if(previous_key == key){\n" <<
- " result = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("value")) << ";\n" <<
- " }\n else { \n" <<
- " result = value;\n"
- " }\n" <<
- " " << carry_in_values_first[k.var<const uint_>("idx")] << " = result;\n" <<
- " previous_key = key;\n"
- "}\n" <<
-
- // save the last key and result to local memory
- "lkeys[lid] = previous_key;\n" <<
- "lvals[lid] = result;\n" <<
-
- // Hillis/Steele scan
- "for(" << k.decl<uint_>("offset") << " = 1; " <<
- "offset < wg_size; offset *= 2){\n"
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " if(lid >= offset){\n"
- " key = lkeys[lid - offset];\n" <<
- " if(previous_key == key){\n" <<
- " value = lvals[lid - offset];\n" <<
- " result = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("value")) << ";\n" <<
- " }\n" <<
- " }\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " lvals[lid] = result;\n" <<
- "}\n" <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
-
- "if(lid > 0){\n" <<
- // load key-value reduced by previous work item
- " previous_key = lkeys[lid - 1];\n" <<
- " result = lvals[lid - 1];\n" <<
- "}\n" <<
-
- // add key-value reduced by previous work item
- "for(idx = id; idx < id + values_per_work_item; idx += 1){\n" <<
- // make sure all carry-ins are saved in global memory
- " barrier( CLK_GLOBAL_MEM_FENCE );\n" <<
- " if(lid > 0 && idx < carry_out_size) {\n"
- " key = " << carry_out_keys_first[k.var<const uint_>("idx")] << ";\n" <<
- " value = " << carry_in_values_first[k.var<const uint_>("idx")] << ";\n" <<
- " if(previous_key == key){\n" <<
- " value = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("value")) << ";\n" <<
- " }\n" <<
- " " << carry_in_values_first[k.var<const uint_>("idx")] << " = value;\n" <<
- " }\n" <<
- "}\n";
-
-
- const context &context = queue.get_context();
- kernel kernel = k.compile(context);
- kernel.set_arg(local_keys_arg, local_buffer<uint_>(work_group_size));
- kernel.set_arg(local_vals_arg, local_buffer<value_out_type>(work_group_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- work_group_size,
- work_group_size);
-}
-
-/// \internal_
-///
-/// Perform final reduction by key. Each work item:
-/// 1. Perform local work-group reduction (Hillis/Steele scan)
-/// 2. Add carry-in (if keys are right)
-/// 3. Save reduced value if next key is different than processed one
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction>
-inline void final_reduction(InputKeyIterator keys_first,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- size_t count,
- BinaryFunction function,
- vector<uint_>::iterator new_keys_first,
- vector<uint_>::iterator carry_in_keys_first,
- OutputValueIterator carry_in_values_first,
- size_t carry_in_size,
- size_t work_group_size,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<OutputValueIterator>::value_type value_out_type;
-
- detail::meta_kernel k("reduce_by_key_with_scan_final_reduction");
- k.add_set_arg<const uint_>("count", uint_(count));
- size_t local_keys_arg = k.add_arg<uint_ *>(memory_object::local_memory, "lkeys");
- size_t local_vals_arg = k.add_arg<value_out_type *>(memory_object::local_memory, "lvals");
-
- k <<
- k.decl<const uint_>("gid") << " = get_global_id(0);\n" <<
- k.decl<const uint_>("wg_size") << " = get_local_size(0);\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
- k.decl<const uint_>("group_id") << " = get_group_id(0);\n" <<
-
- k.decl<uint_>("key") << ";\n" <<
- k.decl<value_out_type>("value") << ";\n"
-
- "if(gid < count){\n" <<
- k.var<uint_>("key") << " = " <<
- new_keys_first[k.var<const uint_>("gid")] << ";\n" <<
- k.var<value_out_type>("value") << " = " <<
- values_first[k.var<const uint_>("gid")] << ";\n" <<
- "lkeys[lid] = key;\n" <<
- "lvals[lid] = value;\n" <<
- "}\n" <<
-
- // Hillis/Steele scan
- k.decl<value_out_type>("result") << " = value;\n" <<
- k.decl<uint_>("other_key") << ";\n" <<
- k.decl<value_out_type>("other_value") << ";\n" <<
-
- "for(" << k.decl<uint_>("offset") << " = 1; " <<
- "offset < wg_size ; offset *= 2){\n"
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " if(lid >= offset) {\n" <<
- " other_key = lkeys[lid - offset];\n" <<
- " if(other_key == key){\n" <<
- " other_value = lvals[lid - offset];\n" <<
- " result = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("other_value")) << ";\n" <<
- " }\n" <<
- " }\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " lvals[lid] = result;\n" <<
- "}\n" <<
-
- "if(gid >= count) {\n return;\n};\n" <<
-
- k.decl<const bool>("save") << " = (gid < (count - 1)) ?"
- << new_keys_first[k.var<const uint_>("gid + 1")] << " != key" <<
- ": true;\n" <<
-
- // Add carry in
- k.decl<uint_>("carry_in_key") << ";\n" <<
- "if(group_id > 0 && save) {\n" <<
- " carry_in_key = " << carry_in_keys_first[k.var<const uint_>("group_id - 1")] << ";\n" <<
- " if(key == carry_in_key){\n" <<
- " other_value = " << carry_in_values_first[k.var<const uint_>("group_id - 1")] << ";\n" <<
- " result = " << function(k.var<value_out_type>("result"),
- k.var<value_out_type>("other_value")) << ";\n" <<
- " }\n" <<
- "}\n" <<
-
- // Save result only if the next key is different or it's the last element.
- "if(save){\n" <<
- keys_result[k.var<uint_>("key")] << " = " << keys_first[k.var<const uint_>("gid")] << ";\n" <<
- values_result[k.var<uint_>("key")] << " = result;\n" <<
- "}\n"
- ;
-
- size_t work_groups_no = static_cast<size_t>(
- std::ceil(float(count) / work_group_size)
- );
-
- const context &context = queue.get_context();
- kernel kernel = k.compile(context);
- kernel.set_arg(local_keys_arg, local_buffer<uint_>(work_group_size));
- kernel.set_arg(local_vals_arg, local_buffer<value_out_type>(work_group_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- work_groups_no * work_group_size,
- work_group_size);
-}
-
-/// \internal_
-/// Returns preferred work group size for reduce by key with scan algorithm.
-template<class KeyType, class ValueType>
-inline size_t get_work_group_size(const device& device)
-{
- std::string cache_key = std::string("__boost_reduce_by_key_with_scan")
- + "k_" + type_name<KeyType>() + "_v_" + type_name<ValueType>();
-
- // load parameters
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- return (std::max)(
- static_cast<size_t>(parameters->get(cache_key, "wgsize", 256)),
- static_cast<size_t>(device.get_info<CL_DEVICE_MAX_WORK_GROUP_SIZE>())
- );
-}
-
-/// \internal_
-///
-/// 1. For each work group carry-out value is calculated (it's done by key-oriented
-/// Hillis/Steele scan). Carry-out is a pair of the last key processed by work
-/// group and sum of all values under this key in work group.
-/// 2. From every carry-out carry-in is calculated by performing inclusive scan
-/// by key.
-/// 3. Final reduction by key is performed (key-oriented Hillis/Steele scan),
-/// carry-in values are added where needed.
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction, class BinaryPredicate>
-inline size_t reduce_by_key_with_scan(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- BinaryPredicate predicate,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputValueIterator>::value_type value_type;
- typedef typename
- std::iterator_traits<InputKeyIterator>::value_type key_type;
- typedef typename
- std::iterator_traits<OutputValueIterator>::value_type value_out_type;
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count == 0){
- return size_t(0);
- }
-
- const device &device = queue.get_device();
- size_t work_group_size = get_work_group_size<value_type, key_type>(device);
-
- // Replace original key with unsigned integer keys generated based on given
- // predicate. New key is also an index for keys_result and values_result vectors,
- // which points to place where reduced value should be saved.
- vector<uint_> new_keys(count, context);
- vector<uint_>::iterator new_keys_first = new_keys.begin();
- generate_uint_keys(keys_first, count, predicate, new_keys_first,
- work_group_size, queue);
-
- // Calculate carry-out and carry-in vectors size
- const size_t carry_out_size = static_cast<size_t>(
- std::ceil(float(count) / work_group_size)
- );
- vector<uint_> carry_out_keys(carry_out_size, context);
- vector<value_out_type> carry_out_values(carry_out_size, context);
- carry_outs(new_keys_first, values_first, count, carry_out_keys.begin(),
- carry_out_values.begin(), function, work_group_size, queue);
-
- vector<value_out_type> carry_in_values(carry_out_size, context);
- carry_ins(carry_out_keys.begin(), carry_out_values.begin(),
- carry_in_values.begin(), carry_out_size, function, work_group_size,
- queue);
-
- final_reduction(keys_first, values_first, keys_result, values_result,
- count, function, new_keys_first, carry_out_keys.begin(),
- carry_in_values.begin(), carry_out_size, work_group_size,
- queue);
-
- const size_t result = read_single_value<uint_>(new_keys.get_buffer(),
- count - 1, queue);
- return result + 1;
-}
-
-/// \internal_
-/// Return true if requirements for running reduce by key with scan on given
-/// device are met (at least one work group of preferred size can be run).
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator>
-bool reduce_by_key_with_scan_requirements_met(InputKeyIterator keys_first,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- const size_t count,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputValueIterator>::value_type value_type;
- typedef typename
- std::iterator_traits<InputKeyIterator>::value_type key_type;
- typedef typename
- std::iterator_traits<OutputValueIterator>::value_type value_out_type;
-
- (void) keys_first;
- (void) values_first;
- (void) keys_result;
- (void) values_result;
-
- const device &device = queue.get_device();
- // device must have dedicated local memory storage
- if(device.get_info<CL_DEVICE_LOCAL_MEM_TYPE>() != CL_LOCAL)
- {
- return false;
- }
-
- // local memory size in bytes (per compute unit)
- const size_t local_mem_size = device.get_info<CL_DEVICE_LOCAL_MEM_SIZE>();
-
- // preferred work group size
- size_t work_group_size = get_work_group_size<key_type, value_type>(device);
-
- // local memory size needed to perform parallel reduction
- size_t required_local_mem_size = 0;
- // keys size
- required_local_mem_size += sizeof(uint_) * work_group_size;
- // reduced values size
- required_local_mem_size += sizeof(value_out_type) * work_group_size;
-
- return (required_local_mem_size <= local_mem_size);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_BY_KEY_WITH_SCAN_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_cpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_cpu.hpp
deleted file mode 100644
index 490d7d538..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_cpu.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_CPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_CPU_HPP
-
-#include <algorithm>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-#include <boost/compute/algorithm/detail/serial_reduce.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline void reduce_on_cpu(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type T;
- typedef typename
- ::boost::compute::result_of<BinaryFunction(T, T)>::type result_type;
-
- const device &device = queue.get_device();
- const uint_ compute_units = queue.get_device().compute_units();
-
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- std::string cache_key =
- "__boost_reduce_cpu_" + boost::lexical_cast<std::string>(sizeof(T));
-
- // for inputs smaller than serial_reduce_threshold
- // serial_reduce algorithm is used
- uint_ serial_reduce_threshold =
- parameters->get(cache_key, "serial_reduce_threshold", 16384 * sizeof(T));
- serial_reduce_threshold =
- (std::max)(serial_reduce_threshold, uint_(compute_units));
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return;
- }
- else if(count < serial_reduce_threshold) {
- return serial_reduce(first, last, result, function, queue);
- }
-
- meta_kernel k("reduce_on_cpu");
- buffer output(context, sizeof(result_type) * compute_units);
-
- size_t count_arg = k.add_arg<uint_>("count");
- size_t output_arg =
- k.add_arg<result_type *>(memory_object::global_memory, "output");
-
- k <<
- "uint block = " <<
- "(uint)ceil(((float)count)/get_global_size(0));\n" <<
- "uint index = get_global_id(0) * block;\n" <<
- "uint end = min(count, index + block);\n" <<
-
- k.decl<result_type>("result") << " = " << first[k.var<uint_>("index")] << ";\n" <<
- "index++;\n" <<
- "while(index < end){\n" <<
- "result = " << function(k.var<T>("result"),
- first[k.var<uint_>("index")]) << ";\n" <<
- "index++;\n" <<
- "}\n" <<
- "output[get_global_id(0)] = result;\n";
-
- size_t global_work_size = compute_units;
- kernel kernel = k.compile(context);
-
- // reduction to global_work_size elements
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(output_arg, output);
- queue.enqueue_1d_range_kernel(kernel, 0, global_work_size, 0);
-
- // final reduction
- reduce_on_cpu(
- make_buffer_iterator<result_type>(output),
- make_buffer_iterator<result_type>(output, global_work_size),
- result,
- function,
- queue
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_CPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_gpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_gpu.hpp
deleted file mode 100644
index 335fba872..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/reduce_on_gpu.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_GPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_GPU_HPP
-
-#include <iterator>
-
-#include <boost/compute/utility/source.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/vendor.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-#include <boost/compute/detail/work_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-/// \internal
-/// body reduction inside a warp
-template<typename T,bool isNvidiaDevice>
-struct ReduceBody
-{
- static std::string body()
- {
- std::stringstream k;
- // local reduction
- k << "for(int i = 1; i < TPB; i <<= 1){\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " uint mask = (i << 1) - 1;\n" <<
- " if((lid & mask) == 0){\n" <<
- " scratch[lid] += scratch[lid+i];\n" <<
- " }\n" <<
- "}\n";
- return k.str();
- }
-};
-
-/// \internal
-/// body reduction inside a warp
-/// for nvidia device we can use the "unsafe"
-/// memory optimisation
-template<typename T>
-struct ReduceBody<T,true>
-{
- static std::string body()
- {
- std::stringstream k;
- // local reduction
- // we use TPB to compile only useful instruction
- // local reduction when size is greater than warp size
- k << "barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "if(TPB >= 1024){\n" <<
- "if(lid < 512) { sum += scratch[lid + 512]; scratch[lid] = sum;} barrier(CLK_LOCAL_MEM_FENCE);}\n" <<
- "if(TPB >= 512){\n" <<
- "if(lid < 256) { sum += scratch[lid + 256]; scratch[lid] = sum;} barrier(CLK_LOCAL_MEM_FENCE);}\n" <<
- "if(TPB >= 256){\n" <<
- "if(lid < 128) { sum += scratch[lid + 128]; scratch[lid] = sum;} barrier(CLK_LOCAL_MEM_FENCE);}\n" <<
- "if(TPB >= 128){\n" <<
- "if(lid < 64) { sum += scratch[lid + 64]; scratch[lid] = sum;} barrier(CLK_LOCAL_MEM_FENCE);} \n" <<
-
- // warp reduction
- "if(lid < 32){\n" <<
- // volatile this way we don't need any barrier
- "volatile __local " << type_name<T>() << " *lmem = scratch;\n" <<
- "if(TPB >= 64) { lmem[lid] = sum = sum + lmem[lid+32];} \n" <<
- "if(TPB >= 32) { lmem[lid] = sum = sum + lmem[lid+16];} \n" <<
- "if(TPB >= 16) { lmem[lid] = sum = sum + lmem[lid+ 8];} \n" <<
- "if(TPB >= 8) { lmem[lid] = sum = sum + lmem[lid+ 4];} \n" <<
- "if(TPB >= 4) { lmem[lid] = sum = sum + lmem[lid+ 2];} \n" <<
- "if(TPB >= 2) { lmem[lid] = sum = sum + lmem[lid+ 1];} \n" <<
- "}\n";
- return k.str();
- }
-};
-
-template<class InputIterator, class Function>
-inline void initial_reduce(InputIterator first,
- InputIterator last,
- buffer result,
- const Function &function,
- kernel &reduce_kernel,
- const uint_ vpt,
- const uint_ tpb,
- command_queue &queue)
-{
- (void) function;
- (void) reduce_kernel;
-
- typedef typename std::iterator_traits<InputIterator>::value_type Arg;
- typedef typename boost::tr1_result_of<Function(Arg, Arg)>::type T;
-
- size_t count = std::distance(first, last);
- detail::meta_kernel k("initial_reduce");
- k.add_set_arg<const uint_>("count", uint_(count));
- size_t output_arg = k.add_arg<T *>(memory_object::global_memory, "output");
-
- k <<
- k.decl<const uint_>("offset") << " = get_group_id(0) * VPT * TPB;\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
-
- "__local " << type_name<T>() << " scratch[TPB];\n" <<
-
- // private reduction
- k.decl<T>("sum") << " = 0;\n" <<
- "for(uint i = 0; i < VPT; i++){\n" <<
- " if(offset + lid + i*TPB < count){\n" <<
- " sum = sum + " << first[k.var<uint_>("offset+lid+i*TPB")] << ";\n" <<
- " }\n" <<
- "}\n" <<
-
- "scratch[lid] = sum;\n" <<
-
- // local reduction
- ReduceBody<T,false>::body() <<
-
- // write sum to output
- "if(lid == 0){\n" <<
- " output[get_group_id(0)] = scratch[0];\n" <<
- "}\n";
-
- const context &context = queue.get_context();
- std::stringstream options;
- options << "-DVPT=" << vpt << " -DTPB=" << tpb;
- kernel generic_reduce_kernel = k.compile(context, options.str());
- generic_reduce_kernel.set_arg(output_arg, result);
-
- size_t work_size = calculate_work_size(count, vpt, tpb);
-
- queue.enqueue_1d_range_kernel(generic_reduce_kernel, 0, work_size, tpb);
-}
-
-template<class T>
-inline void initial_reduce(const buffer_iterator<T> &first,
- const buffer_iterator<T> &last,
- const buffer &result,
- const plus<T> &function,
- kernel &reduce_kernel,
- const uint_ vpt,
- const uint_ tpb,
- command_queue &queue)
-{
- (void) function;
-
- size_t count = std::distance(first, last);
-
- reduce_kernel.set_arg(0, first.get_buffer());
- reduce_kernel.set_arg(1, uint_(first.get_index()));
- reduce_kernel.set_arg(2, uint_(count));
- reduce_kernel.set_arg(3, result);
- reduce_kernel.set_arg(4, uint_(0));
-
- size_t work_size = calculate_work_size(count, vpt, tpb);
-
- queue.enqueue_1d_range_kernel(reduce_kernel, 0, work_size, tpb);
-}
-
-template<class InputIterator, class T, class Function>
-inline void reduce_on_gpu(InputIterator first,
- InputIterator last,
- buffer_iterator<T> result,
- Function function,
- command_queue &queue)
-{
- const device &device = queue.get_device();
- const context &context = queue.get_context();
-
- detail::meta_kernel k("reduce");
- k.add_arg<const T*>(memory_object::global_memory, "input");
- k.add_arg<const uint_>("offset");
- k.add_arg<const uint_>("count");
- k.add_arg<T*>(memory_object::global_memory, "output");
- k.add_arg<const uint_>("output_offset");
-
- k <<
- k.decl<const uint_>("block_offset") << " = get_group_id(0) * VPT * TPB;\n" <<
- "__global const " << type_name<T>() << " *block = input + offset + block_offset;\n" <<
- k.decl<const uint_>("lid") << " = get_local_id(0);\n" <<
-
- "__local " << type_name<T>() << " scratch[TPB];\n" <<
- // private reduction
- k.decl<T>("sum") << " = 0;\n" <<
- "for(uint i = 0; i < VPT; i++){\n" <<
- " if(block_offset + lid + i*TPB < count){\n" <<
- " sum = sum + block[lid+i*TPB]; \n" <<
- " }\n" <<
- "}\n" <<
-
- "scratch[lid] = sum;\n";
-
- // discrimination on vendor name
- if(is_nvidia_device(device))
- k << ReduceBody<T,true>::body();
- else
- k << ReduceBody<T,false>::body();
-
- k <<
- // write sum to output
- "if(lid == 0){\n" <<
- " output[output_offset + get_group_id(0)] = scratch[0];\n" <<
- "}\n";
-
- std::string cache_key = std::string("__boost_reduce_on_gpu_") + type_name<T>();
-
- // load parameters
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- uint_ vpt = parameters->get(cache_key, "vpt", 8);
- uint_ tpb = parameters->get(cache_key, "tpb", 128);
-
- // reduce program compiler flags
- std::stringstream options;
- options << "-DT=" << type_name<T>()
- << " -DVPT=" << vpt
- << " -DTPB=" << tpb;
-
- // load program
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(context);
-
- program reduce_program = cache->get_or_build(
- cache_key, options.str(), k.source(), context
- );
-
- // create reduce kernel
- kernel reduce_kernel(reduce_program, "reduce");
-
- size_t count = std::distance(first, last);
-
- // first pass, reduce from input to ping
- buffer ping(context, std::ceil(float(count) / vpt / tpb) * sizeof(T));
- initial_reduce(first, last, ping, function, reduce_kernel, vpt, tpb, queue);
-
- // update count after initial reduce
- count = static_cast<size_t>(std::ceil(float(count) / vpt / tpb));
-
- // middle pass(es), reduce between ping and pong
- const buffer *input_buffer = &ping;
- buffer pong(context, static_cast<size_t>(count / vpt / tpb * sizeof(T)));
- const buffer *output_buffer = &pong;
- if(count > vpt * tpb){
- while(count > vpt * tpb){
- reduce_kernel.set_arg(0, *input_buffer);
- reduce_kernel.set_arg(1, uint_(0));
- reduce_kernel.set_arg(2, uint_(count));
- reduce_kernel.set_arg(3, *output_buffer);
- reduce_kernel.set_arg(4, uint_(0));
-
- size_t work_size = static_cast<size_t>(std::ceil(float(count) / vpt));
- if(work_size % tpb != 0){
- work_size += tpb - work_size % tpb;
- }
- queue.enqueue_1d_range_kernel(reduce_kernel, 0, work_size, tpb);
-
- std::swap(input_buffer, output_buffer);
- count = static_cast<size_t>(std::ceil(float(count) / vpt / tpb));
- }
- }
-
- // final pass, reduce from ping/pong to result
- reduce_kernel.set_arg(0, *input_buffer);
- reduce_kernel.set_arg(1, uint_(0));
- reduce_kernel.set_arg(2, uint_(count));
- reduce_kernel.set_arg(3, result.get_buffer());
- reduce_kernel.set_arg(4, uint_(result.get_index()));
-
- queue.enqueue_1d_range_kernel(reduce_kernel, 0, tpb, tpb);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_REDUCE_ON_GPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan.hpp
deleted file mode 100644
index 154b6001b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_HPP
-
-#include <boost/compute/device.hpp>
-#include <boost/compute/algorithm/detail/scan_on_cpu.hpp>
-#include <boost/compute/algorithm/detail/scan_on_gpu.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- const device &device = queue.get_device();
-
- if(device.type() & device::cpu){
- return scan_on_cpu(first, last, result, exclusive, init, op, queue);
- }
- else {
- return scan_on_gpu(first, last, result, exclusive, init, op, queue);
- }
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_cpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_cpu.hpp
deleted file mode 100644
index d81117c65..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_cpu.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_CPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_CPU_HPP
-
-#include <iterator>
-
-#include <boost/compute/device.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/serial_scan.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator scan_on_cpu(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type input_type;
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- const context &context = queue.get_context();
- const device &device = queue.get_device();
- const size_t compute_units = queue.get_device().compute_units();
-
- boost::shared_ptr<parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- std::string cache_key =
- "__boost_scan_cpu_" + boost::lexical_cast<std::string>(sizeof(T));
-
- // for inputs smaller than serial_scan_threshold
- // serial_scan algorithm is used
- uint_ serial_scan_threshold =
- parameters->get(cache_key, "serial_scan_threshold", 16384 * sizeof(T));
- serial_scan_threshold =
- (std::max)(serial_scan_threshold, uint_(compute_units));
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
- else if(count < serial_scan_threshold) {
- return serial_scan(first, last, result, exclusive, init, op, queue);
- }
-
- buffer block_partial_sums(context, sizeof(output_type) * compute_units );
-
- // create scan kernel
- meta_kernel k("scan_on_cpu_block_scan");
-
- // Arguments
- size_t count_arg = k.add_arg<uint_>("count");
- size_t init_arg = k.add_arg<output_type>("initial_value");
- size_t block_partial_sums_arg =
- k.add_arg<output_type *>(memory_object::global_memory, "block_partial_sums");
-
- k <<
- "uint block = " <<
- "(uint)ceil(((float)count)/(get_global_size(0) + 1));\n" <<
- "uint index = get_global_id(0) * block;\n" <<
- "uint end = min(count, index + block);\n";
-
- if(!exclusive){
- k <<
- k.decl<output_type>("sum") << " = " <<
- first[k.var<uint_>("index")] << ";\n" <<
- result[k.var<uint_>("index")] << " = sum;\n" <<
- "index++;\n";
- }
- else {
- k <<
- k.decl<output_type>("sum") << ";\n" <<
- "if(index == 0){\n" <<
- "sum = initial_value;\n" <<
- "}\n" <<
- "else {\n" <<
- "sum = " << first[k.var<uint_>("index")] << ";\n" <<
- "index++;\n" <<
- "}\n";
- }
-
- k <<
- "while(index < end){\n" <<
- // load next value
- k.decl<const input_type>("value") << " = "
- << first[k.var<uint_>("index")] << ";\n";
-
- if(exclusive){
- k <<
- "if(get_global_id(0) == 0){\n" <<
- result[k.var<uint_>("index")] << " = sum;\n" <<
- "}\n";
- }
- k <<
- "sum = " << op(k.var<output_type>("sum"),
- k.var<output_type>("value")) << ";\n";
-
- if(!exclusive){
- k <<
- "if(get_global_id(0) == 0){\n" <<
- result[k.var<uint_>("index")] << " = sum;\n" <<
- "}\n";
- }
-
- k <<
- "index++;\n" <<
- "}\n" << // end while
- "block_partial_sums[get_global_id(0)] = sum;\n";
-
- // compile scan kernel
- kernel block_scan_kernel = k.compile(context);
-
- // setup kernel arguments
- block_scan_kernel.set_arg(count_arg, static_cast<uint_>(count));
- block_scan_kernel.set_arg(init_arg, static_cast<output_type>(init));
- block_scan_kernel.set_arg(block_partial_sums_arg, block_partial_sums);
-
- // execute the kernel
- size_t global_work_size = compute_units;
- queue.enqueue_1d_range_kernel(block_scan_kernel, 0, global_work_size, 0);
-
- // scan is done
- if(compute_units < 2) {
- return result + count;
- }
-
- // final scan kernel
- meta_kernel l("scan_on_cpu_final_scan");
-
- // Arguments
- count_arg = l.add_arg<uint_>("count");
- block_partial_sums_arg =
- l.add_arg<output_type *>(memory_object::global_memory, "block_partial_sums");
-
- l <<
- "uint block = " <<
- "(uint)ceil(((float)count)/(get_global_size(0) + 1));\n" <<
- "uint index = block + get_global_id(0) * block;\n" <<
- "uint end = min(count, index + block);\n" <<
-
- k.decl<output_type>("sum") << " = block_partial_sums[0];\n" <<
- "for(uint i = 0; i < get_global_id(0); i++) {\n" <<
- "sum = " << op(k.var<output_type>("sum"),
- k.var<output_type>("block_partial_sums[i + 1]")) << ";\n" <<
- "}\n" <<
-
- "while(index < end){\n";
- if(exclusive){
- l <<
- l.decl<output_type>("value") << " = "
- << first[k.var<uint_>("index")] << ";\n" <<
- result[k.var<uint_>("index")] << " = sum;\n" <<
- "sum = " << op(k.var<output_type>("sum"),
- k.var<output_type>("value")) << ";\n";
- }
- else {
- l <<
- "sum = " << op(k.var<output_type>("sum"),
- first[k.var<uint_>("index")]) << ";\n" <<
- result[k.var<uint_>("index")] << " = sum;\n";
- }
- l <<
- "index++;\n" <<
- "}\n";
-
-
- // compile scan kernel
- kernel final_scan_kernel = l.compile(context);
-
- // setup kernel arguments
- final_scan_kernel.set_arg(count_arg, static_cast<uint_>(count));
- final_scan_kernel.set_arg(block_partial_sums_arg, block_partial_sums);
-
- // execute the kernel
- global_work_size = compute_units;
- queue.enqueue_1d_range_kernel(final_scan_kernel, 0, global_work_size, 0);
-
- // return iterator pointing to the end of the result range
- return result + count;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_CPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_gpu.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_gpu.hpp
deleted file mode 100644
index dcaff2cdf..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/scan_on_gpu.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_GPU_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_GPU_HPP
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryOperator>
-class local_scan_kernel : public meta_kernel
-{
-public:
- local_scan_kernel(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- BinaryOperator op)
- : meta_kernel("local_scan")
- {
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- (void) last;
-
- bool checked = true;
-
- m_block_sums_arg = add_arg<T *>(memory_object::global_memory, "block_sums");
- m_scratch_arg = add_arg<T *>(memory_object::local_memory, "scratch");
- m_block_size_arg = add_arg<const cl_uint>("block_size");
- m_count_arg = add_arg<const cl_uint>("count");
- m_init_value_arg = add_arg<const T>("init");
-
- // work-item parameters
- *this <<
- "const uint gid = get_global_id(0);\n" <<
- "const uint lid = get_local_id(0);\n";
-
- // check against data size
- if(checked){
- *this <<
- "if(gid < count){\n";
- }
-
- // copy values from input to local memory
- if(exclusive){
- *this <<
- decl<const T>("local_init") << "= (gid == 0) ? init : 0;\n" <<
- "if(lid == 0){ scratch[lid] = local_init; }\n" <<
- "else { scratch[lid] = " << first[expr<cl_uint>("gid-1")] << "; }\n";
- }
- else{
- *this <<
- "scratch[lid] = " << first[expr<cl_uint>("gid")] << ";\n";
- }
-
- if(checked){
- *this <<
- "}\n"
- "else {\n" <<
- " scratch[lid] = 0;\n" <<
- "}\n";
- }
-
- // wait for all threads to read from input
- *this <<
- "barrier(CLK_LOCAL_MEM_FENCE);\n";
-
- // perform scan
- *this <<
- "for(uint i = 1; i < block_size; i <<= 1){\n" <<
- " " << decl<const T>("x") << " = lid >= i ? scratch[lid-i] : 0;\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " if(lid >= i){\n" <<
- " scratch[lid] = " << op(var<T>("scratch[lid]"), var<T>("x")) << ";\n" <<
- " }\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- "}\n";
-
- // copy results to output
- if(checked){
- *this <<
- "if(gid < count){\n";
- }
-
- *this <<
- result[expr<cl_uint>("gid")] << " = scratch[lid];\n";
-
- if(checked){
- *this << "}\n";
- }
-
- // store sum for the block
- if(exclusive){
- *this <<
- "if(lid == block_size - 1){\n" <<
- " block_sums[get_group_id(0)] = " <<
- op(first[expr<cl_uint>("gid")], var<T>("scratch[lid]")) <<
- ";\n" <<
- "}\n";
- }
- else {
- *this <<
- "if(lid == block_size - 1){\n" <<
- " block_sums[get_group_id(0)] = scratch[lid];\n" <<
- "}\n";
- }
- }
-
- size_t m_block_sums_arg;
- size_t m_scratch_arg;
- size_t m_block_size_arg;
- size_t m_count_arg;
- size_t m_init_value_arg;
-};
-
-template<class T, class BinaryOperator>
-class write_scanned_output_kernel : public meta_kernel
-{
-public:
- write_scanned_output_kernel(BinaryOperator op)
- : meta_kernel("write_scanned_output")
- {
- bool checked = true;
-
- m_output_arg = add_arg<T *>(memory_object::global_memory, "output");
- m_block_sums_arg = add_arg<const T *>(memory_object::global_memory, "block_sums");
- m_count_arg = add_arg<const cl_uint>("count");
-
- // work-item parameters
- *this <<
- "const uint gid = get_global_id(0);\n" <<
- "const uint block_id = get_group_id(0);\n";
-
- // check against data size
- if(checked){
- *this << "if(gid < count){\n";
- }
-
- // write output
- *this <<
- "output[gid] = " <<
- op(var<T>("block_sums[block_id]"), var<T>("output[gid] ")) << ";\n";
-
- if(checked){
- *this << "}\n";
- }
- }
-
- size_t m_output_arg;
- size_t m_block_sums_arg;
- size_t m_count_arg;
-};
-
-template<class InputIterator>
-inline size_t pick_scan_block_size(InputIterator first, InputIterator last)
-{
- size_t count = iterator_range_size(first, last);
-
- if(count == 0) { return 0; }
- else if(count <= 1) { return 1; }
- else if(count <= 2) { return 2; }
- else if(count <= 4) { return 4; }
- else if(count <= 8) { return 8; }
- else if(count <= 16) { return 16; }
- else if(count <= 32) { return 32; }
- else if(count <= 64) { return 64; }
- else if(count <= 128) { return 128; }
- else { return 256; }
-}
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator scan_impl(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type
- input_type;
- typedef typename
- std::iterator_traits<InputIterator>::difference_type
- difference_type;
- typedef typename
- std::iterator_traits<OutputIterator>::value_type
- output_type;
-
- const context &context = queue.get_context();
- const size_t count = detail::iterator_range_size(first, last);
-
- size_t block_size = pick_scan_block_size(first, last);
- size_t block_count = count / block_size;
-
- if(block_count * block_size < count){
- block_count++;
- }
-
- ::boost::compute::vector<input_type> block_sums(block_count, context);
-
- // zero block sums
- input_type zero;
- std::memset(&zero, 0, sizeof(input_type));
- ::boost::compute::fill(block_sums.begin(), block_sums.end(), zero, queue);
-
- // local scan
- local_scan_kernel<InputIterator, OutputIterator, BinaryOperator>
- local_scan_kernel(first, last, result, exclusive, op);
-
- ::boost::compute::kernel kernel = local_scan_kernel.compile(context);
- kernel.set_arg(local_scan_kernel.m_scratch_arg, local_buffer<input_type>(block_size));
- kernel.set_arg(local_scan_kernel.m_block_sums_arg, block_sums);
- kernel.set_arg(local_scan_kernel.m_block_size_arg, static_cast<cl_uint>(block_size));
- kernel.set_arg(local_scan_kernel.m_count_arg, static_cast<cl_uint>(count));
- kernel.set_arg(local_scan_kernel.m_init_value_arg, static_cast<output_type>(init));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- block_count * block_size,
- block_size);
-
- // inclusive scan block sums
- if(block_count > 1){
- scan_impl(block_sums.begin(),
- block_sums.end(),
- block_sums.begin(),
- false,
- init,
- op,
- queue
- );
- }
-
- // add block sums to each block
- if(block_count > 1){
- write_scanned_output_kernel<input_type, BinaryOperator>
- write_output_kernel(op);
- kernel = write_output_kernel.compile(context);
- kernel.set_arg(write_output_kernel.m_output_arg, result.get_buffer());
- kernel.set_arg(write_output_kernel.m_block_sums_arg, block_sums);
- kernel.set_arg(write_output_kernel.m_count_arg, static_cast<cl_uint>(count));
-
- queue.enqueue_1d_range_kernel(kernel,
- block_size,
- block_count * block_size,
- block_size);
- }
-
- return result + static_cast<difference_type>(count);
-}
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator dispatch_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- return scan_impl(first, last, result, exclusive, init, op, queue);
-}
-
-template<class InputIterator, class T, class BinaryOperator>
-inline InputIterator dispatch_scan(InputIterator first,
- InputIterator last,
- InputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- if(first == result){
- // scan input in-place
- const context &context = queue.get_context();
-
- // make a temporary copy the input
- size_t count = iterator_range_size(first, last);
- vector<value_type> tmp(count, context);
- copy(first, last, tmp.begin(), queue);
-
- // scan from temporary values
- return scan_impl(tmp.begin(), tmp.end(), first, exclusive, init, op, queue);
- }
- else {
- // scan input to output
- return scan_impl(first, last, result, exclusive, init, op, queue);
- }
-}
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator scan_on_gpu(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- if(first == last){
- return result;
- }
-
- return dispatch_scan(first, last, result, exclusive, init, op, queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SCAN_ON_GPU_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/search_all.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/search_all.hpp
deleted file mode 100644
index b091ec7de..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/search_all.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_ALL_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_ALL_HPP
-
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Search kernel class
-///
-/// Subclass of meta_kernel which is capable of performing pattern matching
-///
-template<class PatternIterator, class TextIterator, class OutputIterator>
-class search_kernel : public meta_kernel
-{
-public:
- search_kernel() : meta_kernel("search")
- {}
-
- void set_range(PatternIterator p_first,
- PatternIterator p_last,
- TextIterator t_first,
- TextIterator t_last,
- OutputIterator result)
- {
- m_p_count = iterator_range_size(p_first, p_last);
- m_p_count_arg = add_arg<uint_>("p_count");
-
- m_count = iterator_range_size(t_first, t_last);
- m_count = m_count + 1 - m_p_count;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "const uint i1 = i;\n" <<
- "uint j;\n" <<
- "for(j = 0; j<p_count; j++,i++)\n" <<
- "{\n" <<
- " if(" << p_first[expr<uint_>("j")] << " != " <<
- t_first[expr<uint_>("i")] << ")\n" <<
- " j = p_count + 1;\n" <<
- "}\n" <<
- "if(j == p_count)\n" <<
- result[expr<uint_>("i1")] << " = 1;\n" <<
- "else\n" <<
- result[expr<uint_>("i1")] << " = 0;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- set_arg(m_p_count_arg, uint_(m_p_count));
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_p_count;
- size_t m_p_count_arg;
- size_t m_count;
-};
-
-} //end detail namespace
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_ALL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_accumulate.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_accumulate.hpp
deleted file mode 100644
index 84f991012..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_accumulate.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_ACCUMULATE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_ACCUMULATE_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class T, class BinaryFunction>
-inline void serial_accumulate(InputIterator first,
- InputIterator last,
- OutputIterator result,
- T init,
- BinaryFunction function,
- command_queue &queue)
-{
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(first, last);
-
- meta_kernel k("serial_accumulate");
- size_t init_arg = k.add_arg<T>("init");
- size_t count_arg = k.add_arg<cl_uint>("count");
-
- k <<
- k.decl<T>("result") << " = init;\n" <<
- "for(uint i = 0; i < count; i++)\n" <<
- " result = " << function(k.var<T>("result"),
- first[k.var<cl_uint>("i")]) << ";\n" <<
- result[0] << " = result;\n";
-
- kernel kernel = k.compile(context);
-
- kernel.set_arg(init_arg, init);
- kernel.set_arg(count_arg, static_cast<cl_uint>(count));
-
- queue.enqueue_task(kernel);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_ACCUMULATE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_count_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_count_if.hpp
deleted file mode 100644
index be6794c42..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_count_if.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_COUNT_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_COUNT_IF_HPP
-
-#include <iterator>
-
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// counts values that match the predicate using a single thread
-template<class InputIterator, class Predicate>
-inline size_t serial_count_if(InputIterator first,
- InputIterator last,
- Predicate predicate,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- const context &context = queue.get_context();
- size_t size = iterator_range_size(first, last);
-
- meta_kernel k("serial_count_if");
- k.add_set_arg("size", static_cast<uint_>(size));
- size_t result_arg = k.add_arg<uint_ *>(memory_object::global_memory, "result");
-
- k <<
- "uint count = 0;\n" <<
- "for(uint i = 0; i < size; i++){\n" <<
- k.decl<const value_type>("value") << "="
- << first[k.var<uint_>("i")] << ";\n" <<
- "if(" << predicate(k.var<const value_type>("value")) << "){\n" <<
- "count++;\n" <<
- "}\n"
- "}\n"
- "*result = count;\n";
-
- kernel kernel = k.compile(context);
-
- // setup result buffer
- scalar<uint_> result(context);
- kernel.set_arg(result_arg, result.get_buffer());
-
- // run kernel
- queue.enqueue_task(kernel);
-
- // read index
- return result.read(queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_COUNT_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_find_extrema.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_find_extrema.hpp
deleted file mode 100644
index 8407c8812..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_find_extrema.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_FIND_EXTREMA_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_FIND_EXTREMA_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Compare>
-inline InputIterator serial_find_extrema(InputIterator first,
- InputIterator last,
- Compare compare,
- const bool find_minimum,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- const context &context = queue.get_context();
-
- meta_kernel k("serial_find_extrema");
-
- k <<
- k.decl<value_type>("value") << " = " << first[k.expr<uint_>("0")] << ";\n" <<
- k.decl<uint_>("value_index") << " = 0;\n" <<
- "for(uint i = 1; i < size; i++){\n" <<
- " " << k.decl<value_type>("candidate") << "="
- << first[k.expr<uint_>("i")] << ";\n" <<
-
- "#ifndef BOOST_COMPUTE_FIND_MAXIMUM\n" <<
- " if(" << compare(k.var<value_type>("candidate"),
- k.var<value_type>("value")) << "){\n" <<
- "#else\n" <<
- " if(" << compare(k.var<value_type>("value"),
- k.var<value_type>("candidate")) << "){\n" <<
- "#endif\n" <<
-
- " value = candidate;\n" <<
- " value_index = i;\n" <<
- " }\n" <<
- "}\n" <<
- "*index = value_index;\n";
-
- size_t index_arg_index = k.add_arg<uint_ *>(memory_object::global_memory, "index");
- size_t size_arg_index = k.add_arg<uint_>("size");
-
- std::string options;
- if(!find_minimum){
- options = "-DBOOST_COMPUTE_FIND_MAXIMUM";
- }
- kernel kernel = k.compile(context, options);
-
- // setup index buffer
- scalar<uint_> index(context);
- kernel.set_arg(index_arg_index, index.get_buffer());
-
- // setup count
- size_t count = iterator_range_size(first, last);
- kernel.set_arg(size_arg_index, static_cast<uint_>(count));
-
- // run kernel
- queue.enqueue_task(kernel);
-
- // read index and return iterator
- return first + static_cast<difference_type>(index.read(queue));
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_FIND_EXTREMA_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_merge.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_merge.hpp
deleted file mode 100644
index 85e38f704..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_merge.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SERIAL_MERGE_HPP
-#define BOOST_COMPUTE_ALGORITHM_SERIAL_MERGE_HPP
-
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator1,
- class InputIterator2,
- class OutputIterator,
- class Compare>
-inline OutputIterator serial_merge(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- Compare comp,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator1>::value_type
- input_type1;
- typedef typename
- std::iterator_traits<InputIterator2>::value_type
- input_type2;
- typedef typename
- std::iterator_traits<OutputIterator>::difference_type
- result_difference_type;
-
- std::ptrdiff_t size1 = std::distance(first1, last1);
- std::ptrdiff_t size2 = std::distance(first2, last2);
-
- meta_kernel k("serial_merge");
- k.add_set_arg<uint_>("size1", static_cast<uint_>(size1));
- k.add_set_arg<uint_>("size2", static_cast<uint_>(size2));
-
- k <<
- "uint i = 0;\n" << // index in result range
- "uint j = 0;\n" << // index in first input range
- "uint k = 0;\n" << // index in second input range
-
- // fetch initial values from each range
- k.decl<input_type1>("j_value") << " = " << first1[0] << ";\n" <<
- k.decl<input_type2>("k_value") << " = " << first2[0] << ";\n" <<
-
- // merge values from both input ranges to the result range
- "while(j < size1 && k < size2){\n" <<
- " if(" << comp(k.var<input_type1>("j_value"),
- k.var<input_type2>("k_value")) << "){\n" <<
- " " << result[k.var<uint_>("i++")] << " = j_value;\n" <<
- " j_value = " << first1[k.var<uint_>("++j")] << ";\n" <<
- " }\n" <<
- " else{\n"
- " " << result[k.var<uint_>("i++")] << " = k_value;\n"
- " k_value = " << first2[k.var<uint_>("++k")] << ";\n" <<
- " }\n"
- "}\n"
-
- // copy any remaining values from first range
- "while(j < size1){\n" <<
- result[k.var<uint_>("i++")] << " = " <<
- first1[k.var<uint_>("j++")] << ";\n" <<
- "}\n"
-
- // copy any remaining values from second range
- "while(k < size2){\n" <<
- result[k.var<uint_>("i++")] << " = " <<
- first2[k.var<uint_>("k++")] << ";\n" <<
- "}\n";
-
- // run kernel
- k.exec(queue);
-
- return result + static_cast<result_difference_type>(size1 + size2);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SERIAL_MERGE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce.hpp
deleted file mode 100644
index 53aaf140f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline void serial_reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type T;
- typedef typename
- ::boost::compute::result_of<BinaryFunction(T, T)>::type result_type;
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return;
- }
-
- meta_kernel k("serial_reduce");
- size_t count_arg = k.add_arg<cl_uint>("count");
-
- k <<
- k.decl<result_type>("result") << " = " << first[0] << ";\n" <<
- "for(uint i = 1; i < count; i++)\n" <<
- " result = " << function(k.var<T>("result"),
- first[k.var<uint_>("i")]) << ";\n" <<
- result[0] << " = result;\n";
-
- kernel kernel = k.compile(context);
-
- kernel.set_arg(count_arg, static_cast<uint_>(count));
-
- queue.enqueue_task(kernel);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce_by_key.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce_by_key.hpp
deleted file mode 100644
index f9bda8e47..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_reduce_by_key.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_BY_KEY_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_BY_KEY_HPP
-
-#include <iterator>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction, class BinaryPredicate>
-inline size_t serial_reduce_by_key(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- BinaryPredicate predicate,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputValueIterator>::value_type value_type;
- typedef typename
- std::iterator_traits<InputKeyIterator>::value_type key_type;
- typedef typename
- ::boost::compute::result_of<BinaryFunction(value_type, value_type)>::type result_type;
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(keys_first, keys_last);
- if(count < 1){
- return count;
- }
-
- meta_kernel k("serial_reduce_by_key");
- size_t count_arg = k.add_arg<uint_>("count");
- size_t result_size_arg = k.add_arg<uint_ *>(memory_object::global_memory,
- "result_size");
-
- convert<result_type> to_result_type;
-
- k <<
- k.decl<result_type>("result") <<
- " = " << to_result_type(values_first[0]) << ";\n" <<
- k.decl<key_type>("previous_key") << " = " << keys_first[0] << ";\n" <<
- k.decl<result_type>("value") << ";\n" <<
- k.decl<key_type>("key") << ";\n" <<
-
- k.decl<uint_>("size") << " = 1;\n" <<
-
- keys_result[0] << " = previous_key;\n" <<
- values_result[0] << " = result;\n" <<
-
- "for(ulong i = 1; i < count; i++) {\n" <<
- " value = " << to_result_type(values_first[k.var<uint_>("i")]) << ";\n" <<
- " key = " << keys_first[k.var<uint_>("i")] << ";\n" <<
- " if (" << predicate(k.var<key_type>("previous_key"),
- k.var<key_type>("key")) << ") {\n" <<
-
- " result = " << function(k.var<result_type>("result"),
- k.var<result_type>("value")) << ";\n" <<
- " }\n " <<
- " else { \n" <<
- keys_result[k.var<uint_>("size - 1")] << " = previous_key;\n" <<
- values_result[k.var<uint_>("size - 1")] << " = result;\n" <<
- " result = value;\n" <<
- " size++;\n" <<
- " } \n" <<
- " previous_key = key;\n" <<
- "}\n" <<
- keys_result[k.var<uint_>("size - 1")] << " = previous_key;\n" <<
- values_result[k.var<uint_>("size - 1")] << " = result;\n" <<
- "*result_size = size;";
-
- kernel kernel = k.compile(context);
-
- scalar<uint_> result_size(context);
- kernel.set_arg(result_size_arg, result_size.get_buffer());
- kernel.set_arg(count_arg, static_cast<uint_>(count));
-
- queue.enqueue_task(kernel);
-
- return static_cast<size_t>(result_size.read(queue));
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_REDUCE_BY_KEY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_scan.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_scan.hpp
deleted file mode 100644
index 7590fd94f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/detail/serial_scan.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_SCAN_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_SCAN_HPP
-
-#include <iterator>
-
-#include <boost/compute/device.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator serial_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- bool exclusive,
- T init,
- BinaryOperator op,
- command_queue &queue)
-{
- if(first == last){
- return result;
- }
-
- typedef typename
- std::iterator_traits<InputIterator>::value_type input_type;
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- const context &context = queue.get_context();
-
- // create scan kernel
- meta_kernel k("serial_scan");
-
- // Arguments
- size_t n_arg = k.add_arg<ulong_>("n");
- size_t init_arg = k.add_arg<output_type>("initial_value");
-
- if(!exclusive){
- k <<
- k.decl<const ulong_>("start_idx") << " = 1;\n" <<
- k.decl<output_type>("sum") << " = " << first[0] << ";\n" <<
- result[0] << " = sum;\n";
- }
- else {
- k <<
- k.decl<const ulong_>("start_idx") << " = 0;\n" <<
- k.decl<output_type>("sum") << " = initial_value;\n";
- }
-
- k <<
- "for(ulong i = start_idx; i < n; i++){\n" <<
- k.decl<const input_type>("x") << " = "
- << first[k.var<ulong_>("i")] << ";\n";
-
- if(exclusive){
- k << result[k.var<ulong_>("i")] << " = sum;\n";
- }
-
- k << " sum = "
- << op(k.var<output_type>("sum"), k.var<output_type>("x"))
- << ";\n";
-
- if(!exclusive){
- k << result[k.var<ulong_>("i")] << " = sum;\n";
- }
-
- k << "}\n";
-
- // compile scan kernel
- kernel scan_kernel = k.compile(context);
-
- // setup kernel arguments
- size_t n = detail::iterator_range_size(first, last);
- scan_kernel.set_arg<ulong_>(n_arg, n);
- scan_kernel.set_arg<output_type>(init_arg, static_cast<output_type>(init));
-
- // execute the kernel
- queue.enqueue_1d_range_kernel(scan_kernel, 0, 1, 1);
-
- // return iterator pointing to the end of the result range
- return result + n;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SERIAL_SCAN_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal.hpp
deleted file mode 100644
index 35d0c5f0e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_EQUAL_HPP
-#define BOOST_COMPUTE_ALGORITHM_EQUAL_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/mismatch.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if the range [\p first1, \p last1) and the range
-/// beginning at \p first2 are equal.
-template<class InputIterator1, class InputIterator2>
-inline bool equal(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::mismatch(first1,
- last1,
- first2,
- queue).first == last1;
-}
-
-/// \overload
-template<class InputIterator1, class InputIterator2>
-inline bool equal(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue = system::default_queue())
-{
- if(std::distance(first1, last1) != std::distance(first2, last2)){
- return false;
- }
-
- return ::boost::compute::equal(first1, last1, first2, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_EQUAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal_range.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal_range.hpp
deleted file mode 100644
index fd8217732..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/equal_range.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_EQUAL_RANGE_HPP
-#define BOOST_COMPUTE_ALGORITHM_EQUAL_RANGE_HPP
-
-#include <utility>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/lower_bound.hpp>
-#include <boost/compute/algorithm/upper_bound.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns a pair of iterators containing the range of values equal
-/// to \p value in the sorted range [\p first, \p last).
-template<class InputIterator, class T>
-inline std::pair<InputIterator, InputIterator>
-equal_range(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- return std::make_pair(
- ::boost::compute::lower_bound(first, last, value, queue),
- ::boost::compute::upper_bound(first, last, value, queue)
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_EQUAL_RANGE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/exclusive_scan.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/exclusive_scan.hpp
deleted file mode 100644
index 205d3de65..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/exclusive_scan.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_EXCLUSIVE_SCAN_HPP
-#define BOOST_COMPUTE_ALGORITHM_EXCLUSIVE_SCAN_HPP
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/scan.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Performs an exclusive scan of the elements in the range [\p first, \p last)
-/// and stores the results in the range beginning at \p result.
-///
-/// Each element in the output is assigned to the sum of all the previous
-/// values in the input.
-///
-/// \param first first element in the range to scan
-/// \param last last element in the range to scan
-/// \param result first element in the result range
-/// \param init value used to initialize the scan sequence
-/// \param binary_op associative binary operator
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// The default operation is to add the elements up.
-///
-/// \snippet test/test_scan.cpp exclusive_scan_int
-///
-/// But different associative operation can be specified as \p binary_op
-/// instead (e.g., multiplication, maximum, minimum). Also value used to
-/// initialized the scan sequence can be specified.
-///
-/// \snippet test/test_scan.cpp exclusive_scan_int_multiplies
-///
-/// \see inclusive_scan()
-template<class InputIterator, class OutputIterator, class T, class BinaryOperator>
-inline OutputIterator
-exclusive_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- T init,
- BinaryOperator binary_op,
- command_queue &queue = system::default_queue())
-{
- return detail::scan(first, last, result, true, init, binary_op, queue);
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator, class T>
-inline OutputIterator
-exclusive_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- T init,
- command_queue &queue = system::default_queue())
-{
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- return detail::scan(first, last, result, true,
- init, boost::compute::plus<output_type>(),
- queue);
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-exclusive_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- return detail::scan(first, last, result, true,
- output_type(0), boost::compute::plus<output_type>(),
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_EXCLUSIVE_SCAN_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill.hpp
deleted file mode 100644
index c711f46b9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill.hpp
+++ /dev/null
@@ -1,306 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FILL_HPP
-#define BOOST_COMPUTE_ALGORITHM_FILL_HPP
-
-#include <iterator>
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/iterator/constant_iterator.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-#include <boost/compute/detail/is_buffer_iterator.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-namespace mpl = boost::mpl;
-
-// fills the range [first, first + count) with value using copy()
-template<class BufferIterator, class T>
-inline void fill_with_copy(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- ::boost::compute::copy(
- ::boost::compute::make_constant_iterator(value, 0),
- ::boost::compute::make_constant_iterator(value, count),
- first,
- queue
- );
-}
-
-// fills the range [first, first + count) with value using copy_async()
-template<class BufferIterator, class T>
-inline future<void> fill_async_with_copy(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- return ::boost::compute::copy_async(
- ::boost::compute::make_constant_iterator(value, 0),
- ::boost::compute::make_constant_iterator(value, count),
- first,
- queue
- );
-}
-
-#if defined(CL_VERSION_1_2)
-
-// meta-function returing true if Iterator points to a range of values
-// that can be filled using clEnqueueFillBuffer(). to meet this criteria
-// it must have a buffer accessible through iter.get_buffer() and the
-// size of its value_type must by in {1, 2, 4, 8, 16, 32, 64, 128}.
-template<class Iterator>
-struct is_valid_fill_buffer_iterator :
- public mpl::and_<
- is_buffer_iterator<Iterator>,
- mpl::contains<
- mpl::vector<
- mpl::int_<1>,
- mpl::int_<2>,
- mpl::int_<4>,
- mpl::int_<8>,
- mpl::int_<16>,
- mpl::int_<32>,
- mpl::int_<64>,
- mpl::int_<128>
- >,
- mpl::int_<
- sizeof(typename std::iterator_traits<Iterator>::value_type)
- >
- >
- >::type { };
-
-template<>
-struct is_valid_fill_buffer_iterator<discard_iterator> : public boost::false_type {};
-
-// specialization which uses clEnqueueFillBuffer for buffer iterators
-template<class BufferIterator, class T>
-inline void
-dispatch_fill(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue,
- typename boost::enable_if<
- is_valid_fill_buffer_iterator<BufferIterator>
- >::type* = 0)
-{
- typedef typename std::iterator_traits<BufferIterator>::value_type value_type;
-
- if(count == 0){
- // nothing to do
- return;
- }
-
- // check if the device supports OpenCL 1.2 (required for enqueue_fill_buffer)
- if(!queue.check_device_version(1, 2)){
- return fill_with_copy(first, count, value, queue);
- }
-
- value_type pattern = static_cast<value_type>(value);
- size_t offset = static_cast<size_t>(first.get_index());
-
- if(count == 1){
- // use clEnqueueWriteBuffer() directly when writing a single value
- // to the device buffer. this is potentially more efficient and also
- // works around a bug in the intel opencl driver.
- queue.enqueue_write_buffer(
- first.get_buffer(),
- offset * sizeof(value_type),
- sizeof(value_type),
- &pattern
- );
- }
- else {
- queue.enqueue_fill_buffer(
- first.get_buffer(),
- &pattern,
- sizeof(value_type),
- offset * sizeof(value_type),
- count * sizeof(value_type)
- );
- }
-}
-
-template<class BufferIterator, class T>
-inline future<void>
-dispatch_fill_async(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue,
- typename boost::enable_if<
- is_valid_fill_buffer_iterator<BufferIterator>
- >::type* = 0)
-{
- typedef typename std::iterator_traits<BufferIterator>::value_type value_type;
-
- // check if the device supports OpenCL 1.2 (required for enqueue_fill_buffer)
- if(!queue.check_device_version(1, 2)){
- return fill_async_with_copy(first, count, value, queue);
- }
-
- value_type pattern = static_cast<value_type>(value);
- size_t offset = static_cast<size_t>(first.get_index());
-
- event event_ =
- queue.enqueue_fill_buffer(first.get_buffer(),
- &pattern,
- sizeof(value_type),
- offset * sizeof(value_type),
- count * sizeof(value_type));
-
- return future<void>(event_);
-}
-
-#ifdef CL_VERSION_2_0
-// specializations for svm_ptr<T>
-template<class T>
-inline void dispatch_fill(svm_ptr<T> first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- if(count == 0){
- return;
- }
-
- queue.enqueue_svm_fill(
- first.get(), &value, sizeof(T), count * sizeof(T)
- );
-}
-
-template<class T>
-inline future<void> dispatch_fill_async(svm_ptr<T> first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- if(count == 0){
- return future<void>();
- }
-
- event event_ = queue.enqueue_svm_fill(
- first.get(), &value, sizeof(T), count * sizeof(T)
- );
-
- return future<void>(event_);
-}
-#endif // CL_VERSION_2_0
-
-// default implementations
-template<class BufferIterator, class T>
-inline void
-dispatch_fill(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue,
- typename boost::disable_if<
- is_valid_fill_buffer_iterator<BufferIterator>
- >::type* = 0)
-{
- fill_with_copy(first, count, value, queue);
-}
-
-template<class BufferIterator, class T>
-inline future<void>
-dispatch_fill_async(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue,
- typename boost::disable_if<
- is_valid_fill_buffer_iterator<BufferIterator>
- >::type* = 0)
-{
- return fill_async_with_copy(first, count, value, queue);
-}
-#else
-template<class BufferIterator, class T>
-inline void dispatch_fill(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- fill_with_copy(first, count, value, queue);
-}
-
-template<class BufferIterator, class T>
-inline future<void> dispatch_fill_async(BufferIterator first,
- size_t count,
- const T &value,
- command_queue &queue)
-{
- return fill_async_with_copy(first, count, value, queue);
-}
-#endif // !defined(CL_VERSION_1_2)
-
-} // end detail namespace
-
-/// Fills the range [\p first, \p last) with \p value.
-///
-/// \param first first element in the range to fill
-/// \param last last element in the range to fill
-/// \param value value to copy to each element
-/// \param queue command queue to perform the operation
-///
-/// For example, to fill a vector on the device with sevens:
-/// \code
-/// // vector on the device
-/// boost::compute::vector<int> vec(10, context);
-///
-/// // fill vector with sevens
-/// boost::compute::fill(vec.begin(), vec.end(), 7, queue);
-/// \endcode
-///
-/// \see boost::compute::fill_n()
-template<class BufferIterator, class T>
-inline void fill(BufferIterator first,
- BufferIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return;
- }
-
- detail::dispatch_fill(first, count, value, queue);
-}
-
-template<class BufferIterator, class T>
-inline future<void> fill_async(BufferIterator first,
- BufferIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return future<void>();
- }
-
- return detail::dispatch_fill_async(first, count, value, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FILL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill_n.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill_n.hpp
deleted file mode 100644
index 18a8f706a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/fill_n.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FILL_N_HPP
-#define BOOST_COMPUTE_ALGORITHM_FILL_N_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/fill.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Fills the range [\p first, \p first + count) with \p value.
-///
-/// \see fill()
-template<class BufferIterator, class Size, class T>
-inline void fill_n(BufferIterator first,
- Size count,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::fill(first, first + count, value, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FILL_N_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find.hpp
deleted file mode 100644
index ef3ebf0c4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FIND_HPP
-#define BOOST_COMPUTE_ALGORITHM_FIND_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the first element in the range
-/// [\p first, \p last) that equals \p value.
-template<class InputIterator, class T>
-inline InputIterator find(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- using ::boost::compute::_1;
- using ::boost::compute::lambda::all;
-
- if(vector_size<value_type>::value == 1){
- return ::boost::compute::find_if(
- first,
- last,
- _1 == value,
- queue
- );
- }
- else {
- return ::boost::compute::find_if(
- first,
- last,
- all(_1 == value),
- queue
- );
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FIND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_end.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_end.hpp
deleted file mode 100644
index 265a1da54..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_end.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FIND_END_HPP
-#define BOOST_COMPUTE_ALGORITHM_FIND_END_HPP
-
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/detail/search_all.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Helper function for find_end
-///
-/// Basically a copy of find_if which returns last occurence
-/// instead of first occurence
-///
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_end_helper(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
- typedef typename std::iterator_traits<InputIterator>::difference_type difference_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return last;
- }
-
- const context &context = queue.get_context();
-
- detail::meta_kernel k("find_end");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- atomic_max<int_> atomic_max_int;
-
- k << k.decl<const int_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("value") << "="
- << first[k.var<const int_>("i")] << ";\n"
- << "if(" << predicate(k.var<const value_type>("value")) << "){\n"
- << " " << atomic_max_int(k.var<int_ *>("index"), k.var<int_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<int_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- index.write(static_cast<int_>(-1), queue);
-
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- int result = static_cast<int>(index.read(queue));
-
- if(result == -1){
- return last;
- }
- else {
- return first + static_cast<difference_type>(result);
- }
-}
-
-} // end detail namespace
-
-///
-/// \brief Substring matching algorithm
-///
-/// Searches for the last match of the pattern [p_first, p_last)
-/// in text [t_first, t_last).
-/// \return Iterator pointing to beginning of last occurence
-///
-/// \param t_first Iterator pointing to start of text
-/// \param t_last Iterator pointing to end of text
-/// \param p_first Iterator pointing to start of pattern
-/// \param p_last Iterator pointing to end of pattern
-/// \param queue Queue on which to execute
-///
-template<class TextIterator, class PatternIterator>
-inline TextIterator find_end(TextIterator t_first,
- TextIterator t_last,
- PatternIterator p_first,
- PatternIterator p_last,
- command_queue &queue = system::default_queue())
-{
- const context &context = queue.get_context();
-
- // there is no need to check if pattern starts at last n - 1 indices
- vector<uint_> matching_indices(
- detail::iterator_range_size(t_first, t_last)
- + 1 - detail::iterator_range_size(p_first, p_last),
- context
- );
-
- detail::search_kernel<PatternIterator,
- TextIterator,
- vector<uint_>::iterator> kernel;
-
- kernel.set_range(p_first, p_last, t_first, t_last, matching_indices.begin());
- kernel.exec(queue);
-
- using boost::compute::_1;
-
- vector<uint_>::iterator index =
- detail::find_end_helper(
- matching_indices.begin(),
- matching_indices.end(),
- _1 == 1,
- queue
- );
-
- // pattern was not found
- if(index == matching_indices.end())
- return t_last;
-
- return t_first + detail::iterator_range_size(matching_indices.begin(), index);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FIND_END_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if.hpp
deleted file mode 100644
index db99cc039..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FIND_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_FIND_IF_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/find_if_with_atomics.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the first element in the range
-/// [\p first, \p last) for which \p predicate returns \c true.
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_if(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return detail::find_if_with_atomics(first, last, predicate, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FIND_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if_not.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if_not.hpp
deleted file mode 100644
index 61de050d3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/find_if_not.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FIND_IF_NOT_HPP
-#define BOOST_COMPUTE_ALGORITHM_FIND_IF_NOT_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the first element in the range
-/// [\p first, \p last) for which \p predicate returns \c false.
-///
-/// \see find_if()
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator find_if_not(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::find_if(
- first,
- last,
- not1(predicate),
- queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FIND_IF_NOT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each.hpp
deleted file mode 100644
index 3ed399e6e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FOR_EACH_HPP
-#define BOOST_COMPUTE_ALGORITHM_FOR_EACH_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class Function>
-struct for_each_kernel : public meta_kernel
-{
- for_each_kernel(InputIterator first, InputIterator last, Function function)
- : meta_kernel("for_each")
- {
- // store range size
- m_count = detail::iterator_range_size(first, last);
-
- // setup kernel source
- *this << function(first[get_global_id(0)]) << ";\n";
- }
-
- void exec(command_queue &queue)
- {
- exec_1d(queue, 0, m_count);
- }
-
- size_t m_count;
-};
-
-} // end detail namespace
-
-/// Calls \p function on each element in the range [\p first, \p last).
-///
-/// \see transform()
-template<class InputIterator, class UnaryFunction>
-inline UnaryFunction for_each(InputIterator first,
- InputIterator last,
- UnaryFunction function,
- command_queue &queue = system::default_queue())
-{
- detail::for_each_kernel<InputIterator, UnaryFunction> kernel(first, last, function);
-
- kernel.exec(queue);
-
- return function;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FOR_EACH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each_n.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each_n.hpp
deleted file mode 100644
index d0be784bf..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/for_each_n.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_FOR_EACH_N_HPP
-#define BOOST_COMPUTE_ALGORITHM_FOR_EACH_N_HPP
-
-#include <boost/compute/algorithm/for_each.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Calls \p function on each element in the range [\p first, \p first
-/// \c + \p count).
-///
-/// \see for_each()
-template<class InputIterator, class Size, class UnaryFunction>
-inline UnaryFunction for_each_n(InputIterator first,
- Size count,
- UnaryFunction function,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::for_each(first, first + count, function, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_FOR_EACH_N_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/gather.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/gather.hpp
deleted file mode 100644
index 24c5c727a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/gather.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_GATHER_HPP
-#define BOOST_COMPUTE_ALGORITHM_GATHER_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class MapIterator, class OutputIterator>
-class gather_kernel : public meta_kernel
-{
-public:
- gather_kernel() : meta_kernel("gather")
- {}
-
- void set_range(MapIterator first,
- MapIterator last,
- InputIterator input,
- OutputIterator result)
- {
- m_count = iterator_range_size(first, last);
-
- *this <<
- "const uint i = get_global_id(0);\n" <<
- result[expr<uint_>("i")] << "=" <<
- input[first[expr<uint_>("i")]] << ";\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} // end detail namespace
-
-/// Copies the elements using the indices from the range [\p first, \p last)
-/// to the range beginning at \p result using the input values from the range
-/// beginning at \p input.
-///
-/// \see scatter()
-template<class InputIterator, class MapIterator, class OutputIterator>
-inline void gather(MapIterator first,
- MapIterator last,
- InputIterator input,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- detail::gather_kernel<InputIterator, MapIterator, OutputIterator> kernel;
-
- kernel.set_range(first, last, input, result);
- kernel.exec(queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_GATHER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate.hpp
deleted file mode 100644
index c70a54268..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_GENERATE_HPP
-#define BOOST_COMPUTE_ALGORITHM_GENERATE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/iterator/function_input_iterator.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Stores the result of \p generator for each element in the range
-/// [\p first, \p last).
-template<class OutputIterator, class Generator>
-inline void generate(OutputIterator first,
- OutputIterator last,
- Generator generator,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return;
- }
-
- ::boost::compute::copy(
- ::boost::compute::make_function_input_iterator(generator,
- first.get_index()),
- ::boost::compute::make_function_input_iterator(generator,
- last.get_index()),
- first,
- queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_GENERATE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate_n.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate_n.hpp
deleted file mode 100644
index 6d8e607b6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/generate_n.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_GENERATE_N_HPP
-#define BOOST_COMPUTE_ALGORITHM_GENERATE_N_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/generate.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Stores the result of \p generator for each element in the range
-/// [\p first, \p first + \p count).
-template<class OutputIterator, class Size, class Generator>
-inline void generate_n(OutputIterator first,
- Size count,
- Generator generator,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::generate(first, first + count, generator, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_GENERATE_N_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/includes.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/includes.hpp
deleted file mode 100644
index c4e7c793e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/includes.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_INCLUDES_HPP
-#define BOOST_COMPUTE_ALGORITHM_INCLUDES_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/balanced_path.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial includes kernel class
-///
-/// Subclass of meta_kernel to perform includes operation after tiling
-///
-class serial_includes_kernel : meta_kernel
-{
-public:
-
- serial_includes_kernel() : meta_kernel("includes")
- {
-
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator result)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint includes = 1;\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(" << first1[expr<uint_>("start1")] << " == " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- " start1++; start2++;\n" <<
- " }\n" <<
- " else if(" << first1[expr<uint_>("start1")] << " < " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " start1++;\n" <<
- " else\n" <<
- " {\n" <<
- " includes = 0;\n" <<
- " break;\n" <<
- " }\n" <<
- "}\n" <<
- "if(start2<end2)\n" <<
- " includes = 0;\n" <<
- result[expr<uint_>("i")] << " = includes;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-
-///
-/// \brief Includes algorithm
-///
-/// Finds if the sorted range [first1, last1) includes the sorted
-/// range [first2, last2). In other words, it checks if [first1, last1) is
-/// a superset of [first2, last2).
-///
-/// \return True, if [first1, last1) includes [first2, last2). False otherwise.
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2>
-inline bool includes(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue = system::default_queue())
-{
- size_t tile_size = 1024;
-
- size_t count1 = detail::iterator_range_size(first1, last1);
- size_t count2 = detail::iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- detail::balanced_path_kernel tiling_kernel;
- tiling_kernel.tile_size = static_cast<unsigned int>(tile_size);
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1);
- fill_n(tile_a.begin(), 1, uint_(0), queue);
- fill_n(tile_b.begin(), 1, uint_(0), queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, static_cast<uint_>(count1), queue);
- fill_n(tile_b.end()-1, 1, static_cast<uint_>(count2), queue);
-
- vector<uint_> result((count1+count2+tile_size-1)/tile_size, queue.get_context());
-
- // Find individually
- detail::serial_includes_kernel includes_kernel;
- includes_kernel.set_range(first1, first2, tile_a.begin(), tile_a.end(),
- tile_b.begin(), result.begin());
-
- includes_kernel.exec(queue);
-
- return find(result.begin(), result.end(), 0, queue) == result.end();
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SET_UNION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inclusive_scan.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inclusive_scan.hpp
deleted file mode 100644
index 9f98beaf7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inclusive_scan.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_INCLUSIVE_SCAN_HPP
-#define BOOST_COMPUTE_ALGORITHM_INCLUSIVE_SCAN_HPP
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/scan.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Performs an inclusive scan of the elements in the range [\p first, \p last)
-/// and stores the results in the range beginning at \p result.
-///
-/// Each element in the output is assigned to the sum of the current value in
-/// the input with the sum of every previous value in the input.
-///
-/// \param first first element in the range to scan
-/// \param last last element in the range to scan
-/// \param result first element in the result range
-/// \param binary_op associative binary operator
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// The default operation is to add the elements up.
-///
-/// \snippet test/test_scan.cpp inclusive_scan_int
-///
-/// But different associative operation can be specified as \p binary_op
-/// instead (e.g., multiplication, maximum, minimum).
-///
-/// \snippet test/test_scan.cpp inclusive_scan_int_multiplies
-///
-/// \see exclusive_scan()
-template<class InputIterator, class OutputIterator, class BinaryOperator>
-inline OutputIterator
-inclusive_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryOperator binary_op,
- command_queue &queue = system::default_queue())
-{
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- return detail::scan(first, last, result, false,
- output_type(0), binary_op,
- queue);
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-inclusive_scan(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename
- std::iterator_traits<OutputIterator>::value_type output_type;
-
- return detail::scan(first, last, result, false,
- output_type(0), boost::compute::plus<output_type>(),
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_INCLUSIVE_SCAN_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inner_product.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inner_product.hpp
deleted file mode 100644
index 614611f91..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/inner_product.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_INNER_PRODUCT_HPP
-#define BOOST_COMPUTE_ALGORITHM_INNER_PRODUCT_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/accumulate.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/iterator/zip_iterator.hpp>
-#include <boost/compute/functional/detail/unpack.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns the inner product of the elements in the range
-/// [\p first1, \p last1) with the elements in the range beginning
-/// at \p first2.
-template<class InputIterator1, class InputIterator2, class T>
-inline T inner_product(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- T init,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type input_type;
-
- ptrdiff_t n = std::distance(first1, last1);
-
- return ::boost::compute::accumulate(
- ::boost::compute::make_transform_iterator(
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(first1, first2)
- ),
- detail::unpack(multiplies<input_type>())
- ),
- ::boost::compute::make_transform_iterator(
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(last1, first2 + n)
- ),
- detail::unpack(multiplies<input_type>())
- ),
- init,
- queue
- );
-}
-
-/// \overload
-template<class InputIterator1,
- class InputIterator2,
- class T,
- class BinaryAccumulateFunction,
- class BinaryTransformFunction>
-inline T inner_product(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- T init,
- BinaryAccumulateFunction accumulate_function,
- BinaryTransformFunction transform_function,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first1, last1);
- vector<value_type> result(count, queue.get_context());
- transform(first1,
- last1,
- first2,
- result.begin(),
- transform_function,
- queue);
-
- return ::boost::compute::accumulate(result.begin(),
- result.end(),
- init,
- accumulate_function,
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_INNER_PRODUCT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/iota.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/iota.hpp
deleted file mode 100644
index 084c3d8d9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/iota.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_IOTA_HPP
-#define BOOST_COMPUTE_ALGORITHM_IOTA_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/iterator/counting_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Fills the range [\p first, \p last) with sequential values starting at
-/// \p value.
-///
-/// For example, the following code:
-/// \snippet test/test_iota.cpp iota
-///
-/// Will fill \c vec with the values (\c 0, \c 1, \c 2, \c ...).
-template<class BufferIterator, class T>
-inline void iota(BufferIterator first,
- BufferIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- T count = static_cast<T>(detail::iterator_range_size(first, last));
-
- copy(
- ::boost::compute::make_counting_iterator(value),
- ::boost::compute::make_counting_iterator(value + count),
- first,
- queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_IOTA_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_partitioned.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_partitioned.hpp
deleted file mode 100644
index 391682505..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_partitioned.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_IS_PARTITIONED_HPP
-#define BOOST_COMPUTE_ALGORITHM_IS_PARTITIONED_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-#include <boost/compute/algorithm/find_if_not.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if the values in the range [\p first, \p last)
-/// are partitioned according to \p predicate.
-template<class InputIterator, class UnaryPredicate>
-inline bool is_partitioned(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::find_if(
- ::boost::compute::find_if_not(first,
- last,
- predicate,
- queue),
- last,
- predicate,
- queue) == last;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PARTITION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_permutation.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_permutation.hpp
deleted file mode 100644
index 1e502efb3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_permutation.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_IS_PERMUTATION_HPP
-#define BOOST_COMPUTE_ALGORITHM_IS_PERMUTATION_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/algorithm/equal.hpp>
-#include <boost/compute/algorithm/sort.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \brief Permutation checking algorithm
-///
-/// Checks if the range [first1, last1) can be permuted into the
-/// range [first2, last2)
-/// \return True, if it can be permuted. False, otherwise.
-///
-/// \param first1 Iterator pointing to start of first range
-/// \param last1 Iterator pointing to end of first range
-/// \param first2 Iterator pointing to start of second range
-/// \param last2 Iterator pointing to end of second range
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2>
-inline bool is_permutation(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type1;
- typedef typename std::iterator_traits<InputIterator2>::value_type value_type2;
-
- size_t count1 = detail::iterator_range_size(first1, last1);
- size_t count2 = detail::iterator_range_size(first2, last2);
-
- if(count1 != count2) return false;
-
- vector<value_type1> temp1(first1, last1, queue);
- vector<value_type2> temp2(first2, last2, queue);
-
- sort(temp1.begin(), temp1.end(), queue);
- sort(temp2.begin(), temp2.end(), queue);
-
- return equal(temp1.begin(), temp1.end(),
- temp2.begin(), queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_IS_PERMUTATION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_sorted.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_sorted.hpp
deleted file mode 100644
index a605159ac..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/is_sorted.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_IS_SORTED_HPP
-#define BOOST_COMPUTE_ALGORITHM_IS_SORTED_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional/bind.hpp>
-#include <boost/compute/functional/operator.hpp>
-#include <boost/compute/algorithm/adjacent_find.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if the values in the range [\p first, \p last)
-/// are in sorted order.
-///
-/// \param first first element in the range to check
-/// \param last last element in the range to check
-/// \param compare comparison function (by default \c less)
-/// \param queue command queue to perform the operation
-///
-/// \return \c true if the range [\p first, \p last) is sorted
-///
-/// \see sort()
-template<class InputIterator, class Compare>
-inline bool is_sorted(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- using ::boost::compute::placeholders::_1;
- using ::boost::compute::placeholders::_2;
-
- return ::boost::compute::adjacent_find(
- first, last, ::boost::compute::bind(compare, _2, _1), queue
- ) == last;
-}
-
-/// \overload
-template<class InputIterator>
-inline bool is_sorted(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::is_sorted(
- first, last, ::boost::compute::less<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_IS_SORTED_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lexicographical_compare.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lexicographical_compare.hpp
deleted file mode 100644
index c4f712080..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lexicographical_compare.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Mageswaran.D <mageswaran1989@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/any_of.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-
-namespace detail {
-
-const char lexicographical_compare_source[] =
-"__kernel void lexicographical_compare(const uint size1,\n"
-" const uint size2,\n"
-" __global const T1 *range1,\n"
-" __global const T2 *range2,\n"
-" __global bool *result_buf)\n"
-"{\n"
-" const uint i = get_global_id(0);\n"
-" if((i != size1) && (i != size2)){\n"
- //Individual elements are compared and results are stored in parallel.
- //0 is true
-" if(range1[i] < range2[i])\n"
-" result_buf[i] = 0;\n"
-" else\n"
-" result_buf[i] = 1;\n"
-" }\n"
-" else\n"
-" result_buf[i] = !((i == size1) && (i != size2));\n"
-"}\n";
-
-template<class InputIterator1, class InputIterator2>
-inline bool dispatch_lexicographical_compare(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue)
-{
- const boost::compute::context &context = queue.get_context();
-
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(context);
-
- size_t iterator_size1 = iterator_range_size(first1, last1);
- size_t iterator_size2 = iterator_range_size(first2, last2);
- size_t max_size = (std::max)(iterator_size1, iterator_size2);
-
- if(max_size == 0){
- return false;
- }
-
- boost::compute::vector<bool> result_vector(max_size, context);
-
-
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type1;
- typedef typename std::iterator_traits<InputIterator2>::value_type value_type2;
-
- // load (or create) lexicographical compare program
- std::string cache_key =
- std::string("__boost_lexicographical_compare")
- + type_name<value_type1>() + type_name<value_type2>();
-
- std::stringstream options;
- options << " -DT1=" << type_name<value_type1>();
- options << " -DT2=" << type_name<value_type2>();
-
- program lexicographical_compare_program = cache->get_or_build(
- cache_key, options.str(), lexicographical_compare_source, context
- );
-
- kernel lexicographical_compare_kernel(lexicographical_compare_program,
- "lexicographical_compare");
-
- lexicographical_compare_kernel.set_arg<uint_>(0, iterator_size1);
- lexicographical_compare_kernel.set_arg<uint_>(1, iterator_size2);
- lexicographical_compare_kernel.set_arg(2, first1.get_buffer());
- lexicographical_compare_kernel.set_arg(3, first2.get_buffer());
- lexicographical_compare_kernel.set_arg(4, result_vector.get_buffer());
-
- queue.enqueue_1d_range_kernel(lexicographical_compare_kernel,
- 0,
- max_size,
- 0);
-
- return boost::compute::any_of(result_vector.begin(),
- result_vector.end(),
- _1 == 0,
- queue);
-}
-
-} // end detail namespace
-
-/// Checks if the first range [first1, last1) is lexicographically
-/// less than the second range [first2, last2).
-template<class InputIterator1, class InputIterator2>
-inline bool lexicographical_compare(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue = system::default_queue())
-{
- return detail::dispatch_lexicographical_compare(first1, last1, first2, last2, queue);
-}
-
-} // end compute namespace
-} // end boost namespac
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lower_bound.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lower_bound.hpp
deleted file mode 100644
index b2011c66e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/lower_bound.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_LOWER_BOUND_HPP
-#define BOOST_COMPUTE_ALGORITHM_LOWER_BOUND_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/binary_find.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the first element in the sorted
-/// range [\p first, \p last) that is not less than \p value.
-///
-/// \see upper_bound()
-template<class InputIterator, class T>
-inline InputIterator
-lower_bound(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- using ::boost::compute::_1;
-
- InputIterator position =
- detail::binary_find(first, last, _1 >= value, queue);
-
- return position;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_LOWER_BOUND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/max_element.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/max_element.hpp
deleted file mode 100644
index 55f2f7ffb..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/max_element.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_MAX_ELEMENT_HPP
-#define BOOST_COMPUTE_ALGORITHM_MAX_ELEMENT_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/algorithm/detail/find_extrema.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the element in the range
-/// [\p first, \p last) with the maximum value.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param compare comparison function object which returns true if the first
-/// argument is less than (i.e. is ordered before) the second.
-/// \param queue command queue to perform the operation
-///
-/// For example, to find \c int2 value with maximum first component in given vector:
-/// \code
-/// // comparison function object
-/// BOOST_COMPUTE_FUNCTION(bool, compare_first, (const int2_ &a, const int2_ &b),
-/// {
-/// return a.x < b.x;
-/// });
-///
-/// // create vector
-/// boost::compute::vector<uint2_> data = ...
-///
-/// boost::compute::vector<uint2_>::iterator max =
-/// boost::compute::max_element(data.begin(), data.end(), compare_first, queue);
-/// \endcode
-///
-/// \see min_element()
-template<class InputIterator, class Compare>
-inline InputIterator
-max_element(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- return detail::find_extrema(first, last, compare, false, queue);
-}
-
-///\overload
-template<class InputIterator>
-inline InputIterator
-max_element(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::max_element(
- first, last, ::boost::compute::less<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_MAX_ELEMENT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/merge.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/merge.hpp
deleted file mode 100644
index 875a28304..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/merge.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_MERGE_HPP
-#define BOOST_COMPUTE_ALGORITHM_MERGE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/detail/merge_with_merge_path.hpp>
-#include <boost/compute/algorithm/detail/serial_merge.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/parameter_cache.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Merges the sorted values in the range [\p first1, \p last1) with the sorted
-/// values in the range [\p first2, last2) and stores the result in the range
-/// beginning at \p result. Values are compared using the \p comp function. If
-/// no comparision function is given, \c less is used.
-///
-/// \param first1 first element in the first range to merge
-/// \param last1 last element in the first range to merge
-/// \param first2 first element in the second range to merge
-/// \param last2 last element in the second range to merge
-/// \param result first element in the result range
-/// \param comp comparison function (by default \c less)
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// \see inplace_merge()
-template<class InputIterator1,
- class InputIterator2,
- class OutputIterator,
- class Compare>
-inline OutputIterator merge(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- Compare comp,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type input1_type;
- typedef typename std::iterator_traits<InputIterator2>::value_type input2_type;
- typedef typename std::iterator_traits<OutputIterator>::value_type output_type;
-
- const device &device = queue.get_device();
-
- std::string cache_key =
- std::string("__boost_merge_") + type_name<input1_type>() + "_"
- + type_name<input2_type>() + "_" + type_name<output_type>();
- boost::shared_ptr<detail::parameter_cache> parameters =
- detail::parameter_cache::get_global_cache(device);
-
- // default serial merge threshold depends on device type
- size_t default_serial_merge_threshold = 32768;
- if(device.type() & device::gpu) {
- default_serial_merge_threshold = 2048;
- }
-
- // loading serial merge threshold parameter
- const size_t serial_merge_threshold =
- parameters->get(cache_key, "serial_merge_threshold",
- static_cast<uint_>(default_serial_merge_threshold));
-
- // choosing merge algorithm
- const size_t total_count =
- detail::iterator_range_size(first1, last1)
- + detail::iterator_range_size(first2, last2);
- // for small inputs serial merge turns out to outperform
- // merge with merge path algorithm
- if(total_count <= serial_merge_threshold){
- return detail::serial_merge(first1, last1, first2, last2, result, comp, queue);
- }
- return detail::merge_with_merge_path(first1, last1, first2, last2, result, comp, queue);
-}
-
-/// \overload
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator merge(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
- less<value_type> less_than;
- return merge(first1, last1, first2, last2, result, less_than, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_MERGE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/min_element.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/min_element.hpp
deleted file mode 100644
index 62744efb9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/min_element.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_MIN_ELEMENT_HPP
-#define BOOST_COMPUTE_ALGORITHM_MIN_ELEMENT_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/algorithm/detail/find_extrema.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the element in range
-/// [\p first, \p last) with the minimum value.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param compare comparison function object which returns true if the first
-/// argument is less than (i.e. is ordered before) the second.
-/// \param queue command queue to perform the operation
-///
-/// For example, to find \c int2 value with minimum first component in given vector:
-/// \code
-/// // comparison function object
-/// BOOST_COMPUTE_FUNCTION(bool, compare_first, (const int2_ &a, const int2_ &b),
-/// {
-/// return a.x < b.x;
-/// });
-///
-/// // create vector
-/// boost::compute::vector<uint2_> data = ...
-///
-/// boost::compute::vector<uint2_>::iterator min =
-/// boost::compute::min_element(data.begin(), data.end(), compare_first, queue);
-/// \endcode
-///
-/// \see max_element()
-template<class InputIterator, class Compare>
-inline InputIterator
-min_element(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- return detail::find_extrema(first, last, compare, true, queue);
-}
-
-///\overload
-template<class InputIterator>
-inline InputIterator
-min_element(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::min_element(
- first, last, ::boost::compute::less<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_MIN_ELEMENT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/minmax_element.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/minmax_element.hpp
deleted file mode 100644
index 3f44c09ea..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/minmax_element.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_MINMAX_ELEMENT_HPP
-#define BOOST_COMPUTE_ALGORITHM_MINMAX_ELEMENT_HPP
-
-#include <utility>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/max_element.hpp>
-#include <boost/compute/algorithm/min_element.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns a pair of iterators with the first pointing to the minimum
-/// element and the second pointing to the maximum element in the range
-/// [\p first, \p last).
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param compare comparison function object which returns true if the first
-/// argument is less than (i.e. is ordered before) the second.
-/// \param queue command queue to perform the operation
-///
-/// \see max_element(), min_element()
-template<class InputIterator, class Compare>
-inline std::pair<InputIterator, InputIterator>
-minmax_element(InputIterator first,
- InputIterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- if(first == last){
- // empty range
- return std::make_pair(first, first);
- }
-
- return std::make_pair(min_element(first, last, compare, queue),
- max_element(first, last, compare, queue));
-}
-
-///\overload
-template<class InputIterator>
-inline std::pair<InputIterator, InputIterator>
-minmax_element(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- if(first == last){
- // empty range
- return std::make_pair(first, first);
- }
-
- return std::make_pair(min_element(first, last, queue),
- max_element(first, last, queue));
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_MINMAX_ELEMENT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/mismatch.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/mismatch.hpp
deleted file mode 100644
index e7db88300..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/mismatch.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_MISMATCH_HPP
-#define BOOST_COMPUTE_ALGORITHM_MISMATCH_HPP
-
-#include <iterator>
-#include <utility>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/iterator/zip_iterator.hpp>
-#include <boost/compute/functional/detail/unpack.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns a pair of iterators pointing to the first position where the
-/// range [\p first1, \p last1) and the range starting at \p first2
-/// differ.
-template<class InputIterator1, class InputIterator2>
-inline std::pair<InputIterator1, InputIterator2>
-mismatch(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- ::boost::compute::equal_to<value_type> op;
-
- InputIterator2 last2 = first2 + std::distance(first1, last1);
-
- InputIterator1 iter =
- boost::get<0>(
- ::boost::compute::find(
- ::boost::compute::make_transform_iterator(
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(first1, first2)
- ),
- detail::unpack(op)
- ),
- ::boost::compute::make_transform_iterator(
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(last1, last2)
- ),
- detail::unpack(op)
- ),
- false,
- queue
- ).base().get_iterator_tuple()
- );
-
- return std::make_pair(iter, first2 + std::distance(first1, iter));
-}
-
-/// \overload
-template<class InputIterator1, class InputIterator2>
-inline std::pair<InputIterator1, InputIterator2>
-mismatch(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- command_queue &queue = system::default_queue())
-{
- if(std::distance(first1, last1) < std::distance(first2, last2)){
- return ::boost::compute::mismatch(first1, last1, first2, queue);
- }
- else {
- return ::boost::compute::mismatch(
- first1, first1 + std::distance(first2, last2), first2, queue
- );
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_MISMATCH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/next_permutation.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/next_permutation.hpp
deleted file mode 100644
index e81fbd2ee..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/next_permutation.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_NEXT_PERMUTATION_HPP
-#define BOOST_COMPUTE_ALGORITHM_NEXT_PERMUTATION_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Helper function for next_permutation
-///
-/// To find rightmost element which is smaller
-/// than its next element
-///
-template<class InputIterator>
-inline InputIterator next_permutation_helper(InputIterator first,
- InputIterator last,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0 || count == 1){
- return last;
- }
- count = count - 1;
- const context &context = queue.get_context();
-
- detail::meta_kernel k("next_permutation");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- atomic_max<int_> atomic_max_int;
-
- k << k.decl<const int_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("cur_value") << "="
- << first[k.var<const int_>("i")] << ";\n"
- << k.decl<const value_type>("next_value") << "="
- << first[k.expr<const int_>("i+1")] << ";\n"
- << "if(cur_value < next_value){\n"
- << " " << atomic_max_int(k.var<int_ *>("index"), k.var<int_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<int_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- index.write(static_cast<int_>(-1), queue);
-
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- int result = static_cast<int>(index.read(queue));
- if(result == -1) return last;
- else return first + result;
-}
-
-///
-/// \brief Helper function for next_permutation
-///
-/// To find the smallest element to the right of the element found above
-/// that is greater than it
-///
-template<class InputIterator, class ValueType>
-inline InputIterator np_ceiling(InputIterator first,
- InputIterator last,
- ValueType value,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return last;
- }
- const context &context = queue.get_context();
-
- detail::meta_kernel k("np_ceiling");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- size_t value_arg = k.add_arg<value_type>(memory_object::private_memory, "value");
- atomic_max<int_> atomic_max_int;
-
- k << k.decl<const int_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("cur_value") << "="
- << first[k.var<const int_>("i")] << ";\n"
- << "if(cur_value <= " << first[k.expr<int_>("*index")]
- << " && cur_value > value){\n"
- << " " << atomic_max_int(k.var<int_ *>("index"), k.var<int_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<int_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- index.write(static_cast<int_>(0), queue);
-
- kernel.set_arg(value_arg, value);
-
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- int result = static_cast<int>(index.read(queue));
- return first + result;
-}
-
-} // end detail namespace
-
-///
-/// \brief Permutation generating algorithm
-///
-/// Transforms the range [first, last) into the next permutation from the
-/// set of all permutations arranged in lexicographic order
-/// \return Boolean value signifying if the last permutation was crossed
-/// and the range was reset
-///
-/// \param first Iterator pointing to start of range
-/// \param last Iterator pointing to end of range
-/// \param queue Queue on which to execute
-///
-template<class InputIterator>
-inline bool next_permutation(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- if(first == last) return false;
-
- InputIterator first_element =
- detail::next_permutation_helper(first, last, queue);
-
- if(first_element == last)
- {
- reverse(first, last, queue);
- return false;
- }
-
- value_type first_value = first_element.read(queue);
-
- InputIterator ceiling_element =
- detail::np_ceiling(first_element + 1, last, first_value, queue);
-
- value_type ceiling_value = ceiling_element.read(queue);
-
- first_element.write(ceiling_value, queue);
- ceiling_element.write(first_value, queue);
-
- reverse(first_element + 1, last, queue);
-
- return true;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_NEXT_PERMUTATION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/none_of.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/none_of.hpp
deleted file mode 100644
index c25dd12a8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/none_of.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_NONE_OF_HPP
-#define BOOST_COMPUTE_ALGORITHM_NONE_OF_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/find_if.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns \c true if \p predicate returns \c true for none of the elements in
-/// the range [\p first, \p last).
-///
-/// \see all_of(), any_of()
-template<class InputIterator, class UnaryPredicate>
-inline bool none_of(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::find_if(first, last, predicate, queue) == last;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_NONE_OF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partial_sum.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partial_sum.hpp
deleted file mode 100644
index d440369a5..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partial_sum.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_PARTIAL_SUM_HPP
-#define BOOST_COMPUTE_ALGORITHM_PARTIAL_SUM_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/inclusive_scan.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Calculates the cumulative sum of the elements in the range [\p first,
-/// \p last) and writes the resulting values to the range beginning at
-/// \p result.
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-partial_sum(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- return ::boost::compute::inclusive_scan(first, last, result, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PARTIAL_SUM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition.hpp
deleted file mode 100644
index 7860350e0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_PARTITION_HPP
-#define BOOST_COMPUTE_ALGORITHM_PARTITION_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/stable_partition.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// Partitions the elements in the range [\p first, \p last) according to
-/// \p predicate. Order of the elements need not be preserved.
-///
-/// \see is_partitioned() and stable_partition()
-///
-template<class Iterator, class UnaryPredicate>
-inline Iterator partition(Iterator first,
- Iterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return stable_partition(first, last, predicate, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PARTITION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_copy.hpp
deleted file mode 100644
index 80a2c6475..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_copy.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_PARTITION_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_PARTITION_COPY_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Copies all of the elements in the range [\p first, \p last) for which
-/// \p predicate returns \c true to the range beginning at \p first_true
-/// and all of the elements for which \p predicate returns \c false to
-/// the range beginning at \p first_false.
-///
-/// \see partition()
-template<class InputIterator,
- class OutputIterator1,
- class OutputIterator2,
- class UnaryPredicate>
-inline std::pair<OutputIterator1, OutputIterator2>
-partition_copy(InputIterator first,
- InputIterator last,
- OutputIterator1 first_true,
- OutputIterator2 first_false,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- // copy true values
- OutputIterator1 last_true =
- ::boost::compute::copy_if(first,
- last,
- first_true,
- predicate,
- queue);
-
- // copy false values
- OutputIterator2 last_false =
- ::boost::compute::copy_if(first,
- last,
- first_false,
- not1(predicate),
- queue);
-
- // return iterators to the end of the true and the false ranges
- return std::make_pair(last_true, last_false);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PARTITION_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_point.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_point.hpp
deleted file mode 100644
index 3cc2bc0ca..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/partition_point.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_PARTITION_POINT_HPP
-#define BOOST_COMPUTE_ALGORITHM_PARTITION_POINT_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/binary_find.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \brief Partition point algorithm
-///
-/// Finds the end of true values in the partitioned range [first, last)
-/// \return Iterator pointing to end of true values
-///
-/// \param first Iterator pointing to start of range
-/// \param last Iterator pointing to end of range
-/// \param predicate Unary predicate to be applied on each element
-/// \param queue Queue on which to execute
-///
-/// \see partition() and stable_partition()
-///
-template<class InputIterator, class UnaryPredicate>
-inline InputIterator partition_point(InputIterator first,
- InputIterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return detail::binary_find(first, last, not1(predicate), queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PARTITION_POINT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/prev_permutation.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/prev_permutation.hpp
deleted file mode 100644
index 03c01bf8f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/prev_permutation.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_PREV_PERMUTATION_HPP
-#define BOOST_COMPUTE_ALGORITHM_PREV_PERMUTATION_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Helper function for prev_permutation
-///
-/// To find rightmost element which is greater
-/// than its next element
-///
-template<class InputIterator>
-inline InputIterator prev_permutation_helper(InputIterator first,
- InputIterator last,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0 || count == 1){
- return last;
- }
- count = count - 1;
- const context &context = queue.get_context();
-
- detail::meta_kernel k("prev_permutation");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- atomic_max<int_> atomic_max_int;
-
- k << k.decl<const int_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("cur_value") << "="
- << first[k.var<const int_>("i")] << ";\n"
- << k.decl<const value_type>("next_value") << "="
- << first[k.expr<const int_>("i+1")] << ";\n"
- << "if(cur_value > next_value){\n"
- << " " << atomic_max_int(k.var<int_ *>("index"), k.var<int_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<int_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- index.write(static_cast<int_>(-1), queue);
-
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- int result = static_cast<int>(index.read(queue));
- if(result == -1) return last;
- else return first + result;
-}
-
-///
-/// \brief Helper function for prev_permutation
-///
-/// To find the largest element to the right of the element found above
-/// that is smaller than it
-///
-template<class InputIterator, class ValueType>
-inline InputIterator pp_floor(InputIterator first,
- InputIterator last,
- ValueType value,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return last;
- }
- const context &context = queue.get_context();
-
- detail::meta_kernel k("pp_floor");
- size_t index_arg = k.add_arg<int *>(memory_object::global_memory, "index");
- size_t value_arg = k.add_arg<value_type>(memory_object::private_memory, "value");
- atomic_max<int_> atomic_max_int;
-
- k << k.decl<const int_>("i") << " = get_global_id(0);\n"
- << k.decl<const value_type>("cur_value") << "="
- << first[k.var<const int_>("i")] << ";\n"
- << "if(cur_value >= " << first[k.expr<int_>("*index")]
- << " && cur_value < value){\n"
- << " " << atomic_max_int(k.var<int_ *>("index"), k.var<int_>("i")) << ";\n"
- << "}\n";
-
- kernel kernel = k.compile(context);
-
- scalar<int_> index(context);
- kernel.set_arg(index_arg, index.get_buffer());
-
- index.write(static_cast<int_>(0), queue);
-
- kernel.set_arg(value_arg, value);
-
- queue.enqueue_1d_range_kernel(kernel, 0, count, 0);
-
- int result = static_cast<int>(index.read(queue));
- return first + result;
-}
-
-} // end detail namespace
-
-///
-/// \brief Permutation generating algorithm
-///
-/// Transforms the range [first, last) into the previous permutation from
-/// the set of all permutations arranged in lexicographic order
-/// \return Boolean value signifying if the first permutation was crossed
-/// and the range was reset
-///
-/// \param first Iterator pointing to start of range
-/// \param last Iterator pointing to end of range
-/// \param queue Queue on which to execute
-///
-template<class InputIterator>
-inline bool prev_permutation(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- if(first == last) return false;
-
- InputIterator first_element =
- detail::prev_permutation_helper(first, last, queue);
-
- if(first_element == last)
- {
- reverse(first, last, queue);
- return false;
- }
-
- value_type first_value = first_element.read(queue);
-
- InputIterator ceiling_element =
- detail::pp_floor(first_element + 1, last, first_value, queue);
-
- value_type ceiling_value = ceiling_element.read(queue);
-
- first_element.write(ceiling_value, queue);
- ceiling_element.write(first_value, queue);
-
- reverse(first_element + 1, last, queue);
-
- return true;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_PREV_PERMUTATION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/random_shuffle.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/random_shuffle.hpp
deleted file mode 100644
index 7d2d46a13..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/random_shuffle.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_RANDOM_SHUFFLE_HPP
-#define BOOST_COMPUTE_ALGORITHM_RANDOM_SHUFFLE_HPP
-
-#include <vector>
-#include <algorithm>
-
-#include <boost/range/algorithm_ext/iota.hpp>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/algorithm/scatter.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Randomly shuffles the elements in the range [\p first, \p last).
-///
-/// \see scatter()
-template<class Iterator>
-inline void random_shuffle(Iterator first,
- Iterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return;
- }
-
- // generate shuffled indices on the host
- std::vector<cl_uint> random_indices(count);
- boost::iota(random_indices, 0);
- std::random_shuffle(random_indices.begin(), random_indices.end());
-
- // copy random indices to the device
- const context &context = queue.get_context();
- vector<cl_uint> indices(count, context);
- ::boost::compute::copy(random_indices.begin(),
- random_indices.end(),
- indices.begin(),
- queue);
-
- // make a copy of the values on the device
- vector<value_type> tmp(count, context);
- ::boost::compute::copy(first,
- last,
- tmp.begin(),
- queue);
-
- // write values to their new locations
- ::boost::compute::scatter(tmp.begin(),
- tmp.end(),
- indices.begin(),
- first,
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_RANDOM_SHUFFLE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce.hpp
deleted file mode 100644
index 19d070019..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce.hpp
+++ /dev/null
@@ -1,301 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_REDUCE_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/array.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/algorithm/copy_n.hpp>
-#include <boost/compute/algorithm/detail/inplace_reduce.hpp>
-#include <boost/compute/algorithm/detail/reduce_on_gpu.hpp>
-#include <boost/compute/algorithm/detail/reduce_on_cpu.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/memory/local_buffer.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-size_t reduce(InputIterator first,
- size_t count,
- OutputIterator result,
- size_t block_size,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type
- input_type;
- typedef typename
- boost::compute::result_of<BinaryFunction(input_type, input_type)>::type
- result_type;
-
- const context &context = queue.get_context();
- size_t block_count = count / 2 / block_size;
- size_t total_block_count =
- static_cast<size_t>(std::ceil(float(count) / 2.f / float(block_size)));
-
- if(block_count != 0){
- meta_kernel k("block_reduce");
- size_t output_arg = k.add_arg<result_type *>(memory_object::global_memory, "output");
- size_t block_arg = k.add_arg<input_type *>(memory_object::local_memory, "block");
-
- k <<
- "const uint gid = get_global_id(0);\n" <<
- "const uint lid = get_local_id(0);\n" <<
-
- // copy values to local memory
- "block[lid] = " <<
- function(first[k.make_var<uint_>("gid*2+0")],
- first[k.make_var<uint_>("gid*2+1")]) << ";\n" <<
-
- // perform reduction
- "for(uint i = 1; i < " << uint_(block_size) << "; i <<= 1){\n" <<
- " barrier(CLK_LOCAL_MEM_FENCE);\n" <<
- " uint mask = (i << 1) - 1;\n" <<
- " if((lid & mask) == 0){\n" <<
- " block[lid] = " <<
- function(k.expr<input_type>("block[lid]"),
- k.expr<input_type>("block[lid+i]")) << ";\n" <<
- " }\n" <<
- "}\n" <<
-
- // write block result to global output
- "if(lid == 0)\n" <<
- " output[get_group_id(0)] = block[0];\n";
-
- kernel kernel = k.compile(context);
- kernel.set_arg(output_arg, result.get_buffer());
- kernel.set_arg(block_arg, local_buffer<input_type>(block_size));
-
- queue.enqueue_1d_range_kernel(kernel,
- 0,
- block_count * block_size,
- block_size);
- }
-
- // serially reduce any leftovers
- if(block_count * block_size * 2 < count){
- size_t last_block_start = block_count * block_size * 2;
-
- meta_kernel k("extra_serial_reduce");
- size_t count_arg = k.add_arg<uint_>("count");
- size_t offset_arg = k.add_arg<uint_>("offset");
- size_t output_arg = k.add_arg<result_type *>(memory_object::global_memory, "output");
- size_t output_offset_arg = k.add_arg<uint_>("output_offset");
-
- k <<
- k.decl<result_type>("result") << " = \n" <<
- first[k.expr<uint_>("offset")] << ";\n" <<
- "for(uint i = offset + 1; i < count; i++)\n" <<
- " result = " <<
- function(k.var<result_type>("result"),
- first[k.var<uint_>("i")]) << ";\n" <<
- "output[output_offset] = result;\n";
-
- kernel kernel = k.compile(context);
- kernel.set_arg(count_arg, static_cast<uint_>(count));
- kernel.set_arg(offset_arg, static_cast<uint_>(last_block_start));
- kernel.set_arg(output_arg, result.get_buffer());
- kernel.set_arg(output_offset_arg, static_cast<uint_>(block_count));
-
- queue.enqueue_task(kernel);
- }
-
- return total_block_count;
-}
-
-template<class InputIterator, class BinaryFunction>
-inline vector<
- typename boost::compute::result_of<
- BinaryFunction(
- typename std::iterator_traits<InputIterator>::value_type,
- typename std::iterator_traits<InputIterator>::value_type
- )
- >::type
->
-block_reduce(InputIterator first,
- size_t count,
- size_t block_size,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type
- input_type;
- typedef typename
- boost::compute::result_of<BinaryFunction(input_type, input_type)>::type
- result_type;
-
- const context &context = queue.get_context();
- size_t total_block_count =
- static_cast<size_t>(std::ceil(float(count) / 2.f / float(block_size)));
- vector<result_type> result_vector(total_block_count, context);
-
- reduce(first, count, result_vector.begin(), block_size, function, queue);
-
- return result_vector;
-}
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline void generic_reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction function,
- command_queue &queue)
-{
- typedef typename
- std::iterator_traits<InputIterator>::value_type
- input_type;
- typedef typename
- boost::compute::result_of<BinaryFunction(input_type, input_type)>::type
- result_type;
-
- const device &device = queue.get_device();
- const context &context = queue.get_context();
-
- size_t count = detail::iterator_range_size(first, last);
-
- if(device.type() & device::cpu){
- array<result_type, 1> value(context);
- detail::reduce_on_cpu(first, last, value.begin(), function, queue);
- boost::compute::copy_n(value.begin(), 1, result, queue);
- }
- else {
- size_t block_size = 256;
-
- // first pass
- vector<result_type> results = detail::block_reduce(first,
- count,
- block_size,
- function,
- queue);
-
- if(results.size() > 1){
- detail::inplace_reduce(results.begin(),
- results.end(),
- function,
- queue);
- }
-
- boost::compute::copy_n(results.begin(), 1, result, queue);
- }
-}
-
-template<class InputIterator, class OutputIterator, class T>
-inline void dispatch_reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- const plus<T> &function,
- command_queue &queue)
-{
- const context &context = queue.get_context();
- const device &device = queue.get_device();
-
- // reduce to temporary buffer on device
- array<T, 1> value(context);
- if(device.type() & device::cpu){
- detail::reduce_on_cpu(first, last, value.begin(), function, queue);
- }
- else {
- reduce_on_gpu(first, last, value.begin(), function, queue);
- }
-
- // copy to result iterator
- copy_n(value.begin(), 1, result, queue);
-}
-
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline void dispatch_reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction function,
- command_queue &queue)
-{
- generic_reduce(first, last, result, function, queue);
-}
-
-} // end detail namespace
-
-/// Returns the result of applying \p function to the elements in the
-/// range [\p first, \p last).
-///
-/// If no function is specified, \c plus will be used.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param result iterator pointing to the output
-/// \param function binary reduction function
-/// \param queue command queue to perform the operation
-///
-/// The \c reduce() algorithm assumes that the binary reduction function is
-/// associative. When used with non-associative functions the result may
-/// be non-deterministic and vary in precision. Notably this affects the
-/// \c plus<float>() function as floating-point addition is not associative
-/// and may produce slightly different results than a serial algorithm.
-///
-/// This algorithm supports both host and device iterators for the
-/// result argument. This allows for values to be reduced and copied
-/// to the host all with a single function call.
-///
-/// For example, to calculate the sum of the values in a device vector and
-/// copy the result to a value on the host:
-///
-/// \snippet test/test_reduce.cpp sum_int
-///
-/// Note that while the the \c reduce() algorithm is conceptually identical to
-/// the \c accumulate() algorithm, its implementation is substantially more
-/// efficient on parallel hardware. For more information, see the documentation
-/// on the \c accumulate() algorithm.
-///
-/// \see accumulate()
-template<class InputIterator, class OutputIterator, class BinaryFunction>
-inline void reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryFunction function,
- command_queue &queue = system::default_queue())
-{
- if(first == last){
- return;
- }
-
- detail::dispatch_reduce(first, last, result, function, queue);
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator>
-inline void reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- if(first == last){
- return;
- }
-
- detail::dispatch_reduce(first, last, result, plus<T>(), queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce_by_key.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce_by_key.hpp
deleted file mode 100644
index 87c73e887..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reduce_by_key.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REDUCE_BY_KEY_HPP
-#define BOOST_COMPUTE_ALGORITHM_REDUCE_BY_KEY_HPP
-
-#include <iterator>
-#include <utility>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/detail/reduce_by_key.hpp>
-
-namespace boost {
-namespace compute {
-
-/// The \c reduce_by_key() algorithm performs reduction for each contiguous
-/// subsequence of values determinate by equivalent keys.
-///
-/// Returns a pair of iterators at the end of the ranges [\p keys_result, keys_result_last)
-/// and [\p values_result, \p values_result_last).
-///
-/// If no function is specified, \c plus will be used.
-/// If no predicate is specified, \c equal_to will be used.
-///
-/// \param keys_first the first key
-/// \param keys_last the last key
-/// \param values_first the first input value
-/// \param keys_result iterator pointing to the key output
-/// \param values_result iterator pointing to the reduced value output
-/// \param function binary reduction function
-/// \param predicate binary predicate which returns true only if two keys are equal
-/// \param queue command queue to perform the operation
-///
-/// The \c reduce_by_key() algorithm assumes that the binary reduction function
-/// is associative. When used with non-associative functions the result may
-/// be non-deterministic and vary in precision. Notably this affects the
-/// \c plus<float>() function as floating-point addition is not associative
-/// and may produce slightly different results than a serial algorithm.
-///
-/// For example, to calculate the sum of the values for each key:
-///
-/// \snippet test/test_reduce_by_key.cpp reduce_by_key_int
-///
-/// \see reduce()
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction, class BinaryPredicate>
-inline std::pair<OutputKeyIterator, OutputValueIterator>
-reduce_by_key(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- BinaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- return detail::dispatch_reduce_by_key(keys_first, keys_last, values_first,
- keys_result, values_result,
- function, predicate,
- queue);
-}
-
-/// \overload
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator,
- class BinaryFunction>
-inline std::pair<OutputKeyIterator, OutputValueIterator>
-reduce_by_key(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- BinaryFunction function,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputKeyIterator>::value_type key_type;
-
- return reduce_by_key(keys_first, keys_last, values_first,
- keys_result, values_result,
- function, equal_to<key_type>(),
- queue);
-}
-
-/// \overload
-template<class InputKeyIterator, class InputValueIterator,
- class OutputKeyIterator, class OutputValueIterator>
-inline std::pair<OutputKeyIterator, OutputValueIterator>
-reduce_by_key(InputKeyIterator keys_first,
- InputKeyIterator keys_last,
- InputValueIterator values_first,
- OutputKeyIterator keys_result,
- OutputValueIterator values_result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputKeyIterator>::value_type key_type;
- typedef typename std::iterator_traits<InputValueIterator>::value_type value_type;
-
- return reduce_by_key(keys_first, keys_last, values_first,
- keys_result, values_result,
- plus<value_type>(), equal_to<key_type>(),
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REDUCE_BY_KEY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove.hpp
deleted file mode 100644
index 98feb1f9d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REMOVE_HPP
-#define BOOST_COMPUTE_ALGORITHM_REMOVE_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/remove_if.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Removes each element equal to \p value in the range [\p first,
-/// \p last).
-///
-/// \see remove_if()
-template<class Iterator, class T>
-inline Iterator remove(Iterator first,
- Iterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- using ::boost::compute::_1;
- using ::boost::compute::lambda::all;
-
- if(vector_size<value_type>::value == 1){
- return ::boost::compute::remove_if(first,
- last,
- _1 == value,
- queue);
- }
- else {
- return ::boost::compute::remove_if(first,
- last,
- all(_1 == value),
- queue);
- }
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REMOVE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove_if.hpp
deleted file mode 100644
index 5e416bef8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/remove_if.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REMOVE_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_REMOVE_IF_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/functional/logical.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Removes each element for which \p predicate returns \c true in the
-/// range [\p first, \p last).
-///
-/// \see remove()
-template<class Iterator, class Predicate>
-inline Iterator remove_if(Iterator first,
- Iterator last,
- Predicate predicate,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- // temporary storage for the input data
- ::boost::compute::vector<value_type> tmp(first, last, queue);
-
- return ::boost::compute::copy_if(tmp.begin(),
- tmp.end(),
- first,
- not1(predicate),
- queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REMOVE_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace.hpp
deleted file mode 100644
index fd649a2fa..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REPLACE_HPP
-#define BOOST_COMPUTE_ALGORITHM_REPLACE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class T>
-class replace_kernel : public meta_kernel
-{
-public:
- replace_kernel()
- : meta_kernel("replace")
- {
- m_count = 0;
- }
-
- void set_range(Iterator first, Iterator last)
- {
- m_count = detail::iterator_range_size(first, last);
-
- *this <<
- "const uint i = get_global_id(0);\n" <<
- "if(" << first[var<cl_uint>("i")] << " == " << var<T>("old_value") << ")\n" <<
- " " << first[var<cl_uint>("i")] << '=' << var<T>("new_value") << ";\n";
- }
-
- void set_old_value(const T &old_value)
- {
- add_set_arg<T>("old_value", old_value);
- }
-
- void set_new_value(const T &new_value)
- {
- add_set_arg<T>("new_value", new_value);
- }
-
- void exec(command_queue &queue)
- {
- if(m_count == 0){
- // nothing to do
- return;
- }
-
- exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} // end detail namespace
-
-/// Replaces each instance of \p old_value in the range [\p first,
-/// \p last) with \p new_value.
-template<class Iterator, class T>
-inline void replace(Iterator first,
- Iterator last,
- const T &old_value,
- const T &new_value,
- command_queue &queue = system::default_queue())
-{
- detail::replace_kernel<Iterator, T> kernel;
-
- kernel.set_range(first, last);
- kernel.set_old_value(old_value);
- kernel.set_new_value(new_value);
-
- kernel.exec(queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REPLACE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace_copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace_copy.hpp
deleted file mode 100644
index 7224bd3ae..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/replace_copy.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REPLACE_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_REPLACE_COPY_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/replace.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Copies the value in the range [\p first, \p last) to the range
-/// beginning at \p result while replacing each instance of \p old_value
-/// with \p new_value.
-///
-/// \see replace()
-template<class InputIterator, class OutputIterator, class T>
-inline OutputIterator
-replace_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- const T &old_value,
- const T &new_value,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<OutputIterator>::difference_type difference_type;
-
- difference_type count = std::distance(first, last);
- if(count == 0){
- return result;
- }
-
- // copy data to result
- ::boost::compute::copy(first, last, result, queue);
-
- // replace in result
- ::boost::compute::replace(result,
- result + count,
- old_value,
- new_value,
- queue);
-
- // return iterator to the end of result
- return result + count;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REPLACE_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse.hpp
deleted file mode 100644
index b6a9e8098..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REVERSE_HPP
-#define BOOST_COMPUTE_ALGORITHM_REVERSE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator>
-struct reverse_kernel : public meta_kernel
-{
- reverse_kernel(Iterator first, Iterator last)
- : meta_kernel("reverse")
- {
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- // store size of the range
- m_size = detail::iterator_range_size(first, last);
- add_set_arg<const cl_uint>("size", static_cast<const cl_uint>(m_size));
-
- *this <<
- decl<cl_uint>("i") << " = get_global_id(0);\n" <<
- decl<cl_uint>("j") << " = size - get_global_id(0) - 1;\n" <<
- decl<value_type>("tmp") << "=" << first[var<cl_uint>("i")] << ";\n" <<
- first[var<cl_uint>("i")] << "=" << first[var<cl_uint>("j")] << ";\n" <<
- first[var<cl_uint>("j")] << "= tmp;\n";
- }
-
- void exec(command_queue &queue)
- {
- exec_1d(queue, 0, m_size / 2);
- }
-
- size_t m_size;
-};
-
-} // end detail namespace
-
-/// Reverses the elements in the range [\p first, \p last).
-///
-/// \see reverse_copy()
-template<class Iterator>
-inline void reverse(Iterator first,
- Iterator last,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count < 2){
- return;
- }
-
- detail::reverse_kernel<Iterator> kernel(first, last);
-
- kernel.exec(queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REVERSE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse_copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse_copy.hpp
deleted file mode 100644
index c839f4465..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/reverse_copy.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_REVERSE_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_REVERSE_COPY_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class OutputIterator>
-struct reverse_copy_kernel : public meta_kernel
-{
- reverse_copy_kernel(Iterator first, Iterator last, OutputIterator result)
- : meta_kernel("reverse_copy")
- {
- // store size of the range
- m_size = detail::iterator_range_size(first, last);
- add_set_arg<const cl_uint>("size", static_cast<const cl_uint>(m_size));
-
- *this <<
- decl<cl_uint>("i") << " = get_global_id(0);\n" <<
- decl<cl_uint>("j") << " = size - get_global_id(0) - 1;\n" <<
- result[var<cl_uint>("j")] << "=" << first[var<cl_uint>("i")] << ";\n";
- }
-
- void exec(command_queue &queue)
- {
- exec_1d(queue, 0, m_size);
- }
-
- size_t m_size;
-};
-
-} // end detail namespace
-
-/// Copies the elements in the range [\p first, \p last) in reversed
-/// order to the range beginning at \p result.
-///
-/// \see reverse()
-template<class InputIterator, class OutputIterator>
-inline OutputIterator
-reverse_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<OutputIterator>::difference_type difference_type;
-
- difference_type count = std::distance(first, last);
-
- detail::reverse_copy_kernel<InputIterator, OutputIterator>
- kernel(first, last, result);
-
- // run kernel
- kernel.exec(queue);
-
- // return iterator to the end of result
- return result + count;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_REVERSE_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate.hpp
deleted file mode 100644
index 54cb073cc..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ROTATE_HPP
-#define BOOST_COMPUTE_ALGORITHM_ROTATE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Performs left rotation such that element at \p n_first comes to the
-/// beginning.
-///
-/// \see rotate_copy()
-template<class InputIterator>
-inline void rotate(InputIterator first,
- InputIterator n_first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- //Handle trivial cases
- if (n_first==first || n_first==last)
- {
- return;
- }
-
- //Handle others
- typedef typename std::iterator_traits<InputIterator>::value_type T;
-
- size_t count = detail::iterator_range_size(first, n_first);
- size_t count2 = detail::iterator_range_size(first, last);
-
- const context &context = queue.get_context();
- vector<T> temp(count2, context);
- ::boost::compute::copy(first, last, temp.begin(), queue);
-
- ::boost::compute::copy(temp.begin()+count, temp.end(), first, queue);
- ::boost::compute::copy(temp.begin(), temp.begin()+count, last-count, queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ROTATE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate_copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate_copy.hpp
deleted file mode 100644
index fa1b44c5e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/rotate_copy.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_ROTATE_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_ROTATE_COPY_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Performs left rotation such that element at n_first comes to the
-/// beginning and the output is stored in range starting at result.
-///
-/// \see rotate()
-template<class InputIterator, class OutputIterator>
-inline void rotate_copy(InputIterator first,
- InputIterator n_first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, n_first);
- size_t count2 = detail::iterator_range_size(n_first, last);
-
- ::boost::compute::copy(first+count, last, result, queue);
- ::boost::compute::copy(first, first+count, result+count2, queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_ROTATE_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/scatter.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/scatter.hpp
deleted file mode 100644
index bea420162..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/scatter.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SCATTER_HPP
-#define BOOST_COMPUTE_ALGORITHM_SCATTER_HPP
-
-#include <boost/algorithm/string/replace.hpp>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class MapIterator, class OutputIterator>
-class scatter_kernel : meta_kernel
-{
-public:
- scatter_kernel() : meta_kernel("scatter")
- {}
-
- void set_range(InputIterator first,
- InputIterator last,
- MapIterator map,
- OutputIterator result)
- {
- m_count = iterator_range_size(first, last);
- m_input_offset = first.get_index();
- m_output_offset = result.get_index();
-
- m_input_offset_arg = add_arg<uint_>("input_offset");
- m_output_offset_arg = add_arg<uint_>("output_offset");
-
- *this <<
- "const uint i = get_global_id(0);\n" <<
- "uint i1 = " << map[expr<uint_>("i")] <<
- " + output_offset;\n" <<
- "uint i2 = i + input_offset;\n" <<
- result[expr<uint_>("i1")] << "=" <<
- first[expr<uint_>("i2")] << ";\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- set_arg(m_input_offset_arg, uint_(m_input_offset));
- set_arg(m_output_offset_arg, uint_(m_output_offset));
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
- size_t m_input_offset;
- size_t m_input_offset_arg;
- size_t m_output_offset;
- size_t m_output_offset_arg;
-};
-
-} // end detail namespace
-
-/// Copies the elements from the range [\p first, \p last) to the range
-/// beginning at \p result using the output indices from the range beginning
-/// at \p map.
-///
-/// \see gather()
-template<class InputIterator, class MapIterator, class OutputIterator>
-inline void scatter(InputIterator first,
- InputIterator last,
- MapIterator map,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- detail::scatter_kernel<InputIterator, MapIterator, OutputIterator> kernel;
-
- kernel.set_range(first, last, map, result);
- kernel.exec(queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SCATTER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search.hpp
deleted file mode 100644
index 3d3d035b3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SEARCH_HPP
-#define BOOST_COMPUTE_ALGORITHM_SEARCH_HPP
-
-#include <boost/compute/algorithm/detail/search_all.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \brief Substring matching algorithm
-///
-/// Searches for the first match of the pattern [p_first, p_last)
-/// in text [t_first, t_last).
-/// \return Iterator pointing to beginning of first occurrence
-///
-/// \param t_first Iterator pointing to start of text
-/// \param t_last Iterator pointing to end of text
-/// \param p_first Iterator pointing to start of pattern
-/// \param p_last Iterator pointing to end of pattern
-/// \param queue Queue on which to execute
-///
-template<class TextIterator, class PatternIterator>
-inline TextIterator search(TextIterator t_first,
- TextIterator t_last,
- PatternIterator p_first,
- PatternIterator p_last,
- command_queue &queue = system::default_queue())
-{
- // there is no need to check if pattern starts at last n - 1 indices
- vector<uint_> matching_indices(
- detail::iterator_range_size(t_first, t_last)
- - detail::iterator_range_size(p_first, p_last) + 1,
- queue.get_context()
- );
-
- // search_kernel puts value 1 at every index in vector where pattern starts at
- detail::search_kernel<PatternIterator,
- TextIterator,
- vector<uint_>::iterator> kernel;
-
- kernel.set_range(p_first, p_last, t_first, t_last, matching_indices.begin());
- kernel.exec(queue);
-
- vector<uint_>::iterator index = ::boost::compute::find(
- matching_indices.begin(), matching_indices.end(), uint_(1), queue
- );
-
- // pattern was not found
- if(index == matching_indices.end())
- return t_last;
-
- return t_first + detail::iterator_range_size(matching_indices.begin(), index);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SEARCH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search_n.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search_n.hpp
deleted file mode 100644
index 9e03111bb..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/search_n.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_N_HPP
-#define BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_N_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Search kernel class
-///
-/// Subclass of meta_kernel which is capable of performing search_n
-///
-template<class TextIterator, class OutputIterator>
-class search_n_kernel : public meta_kernel
-{
-public:
- typedef typename std::iterator_traits<TextIterator>::value_type value_type;
-
- search_n_kernel() : meta_kernel("search_n")
- {}
-
- void set_range(TextIterator t_first,
- TextIterator t_last,
- value_type value,
- size_t n,
- OutputIterator result)
- {
- m_n = n;
- m_n_arg = add_arg<uint_>("n");
-
- m_value = value;
- m_value_arg = add_arg<value_type>("value");
-
- m_count = iterator_range_size(t_first, t_last);
- m_count = m_count + 1 - m_n;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint i1 = i;\n" <<
- "uint j;\n" <<
- "for(j = 0; j<n; j++,i++)\n" <<
- "{\n" <<
- " if(value != " << t_first[expr<uint_>("i")] << ")\n" <<
- " j = n + 1;\n" <<
- "}\n" <<
- "if(j == n)\n" <<
- result[expr<uint_>("i1")] << " = 1;\n" <<
- "else\n" <<
- result[expr<uint_>("i1")] << " = 0;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- set_arg(m_n_arg, uint_(m_n));
- set_arg(m_value_arg, m_value);
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_n;
- size_t m_n_arg;
- size_t m_count;
- value_type m_value;
- size_t m_value_arg;
-};
-
-} //end detail namespace
-
-///
-/// \brief Substring matching algorithm
-///
-/// Searches for the first occurrence of n consecutive occurrences of
-/// value in text [t_first, t_last).
-/// \return Iterator pointing to beginning of first occurrence
-///
-/// \param t_first Iterator pointing to start of text
-/// \param t_last Iterator pointing to end of text
-/// \param n Number of times value repeats
-/// \param value Value which repeats
-/// \param queue Queue on which to execute
-///
-template<class TextIterator, class ValueType>
-inline TextIterator search_n(TextIterator t_first,
- TextIterator t_last,
- size_t n,
- ValueType value,
- command_queue &queue = system::default_queue())
-{
- // there is no need to check if pattern starts at last n - 1 indices
- vector<uint_> matching_indices(
- detail::iterator_range_size(t_first, t_last) + 1 - n,
- queue.get_context()
- );
-
- // search_n_kernel puts value 1 at every index in vector where pattern
- // of n values starts at
- detail::search_n_kernel<TextIterator,
- vector<uint_>::iterator> kernel;
-
- kernel.set_range(t_first, t_last, value, n, matching_indices.begin());
- kernel.exec(queue);
-
- vector<uint_>::iterator index = ::boost::compute::find(
- matching_indices.begin(), matching_indices.end(), uint_(1), queue
- );
-
- // pattern was not found
- if(index == matching_indices.end())
- return t_last;
-
- return t_first + detail::iterator_range_size(matching_indices.begin(), index);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_DETAIL_SEARCH_N_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_difference.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_difference.hpp
deleted file mode 100644
index 17ce7bd3f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_difference.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SET_DIFFERENCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_SET_DIFFERENCE_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/compact.hpp>
-#include <boost/compute/algorithm/detail/balanced_path.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial set difference kernel class
-///
-/// Subclass of meta_kernel to perform serial set difference after tiling
-///
-class serial_set_difference_kernel : meta_kernel
-{
-public:
- unsigned int tile_size;
-
- serial_set_difference_kernel() : meta_kernel("set_difference")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator1 result,
- OutputIterator2 counts)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint index = i*" << tile_size << ";\n" <<
- "uint count = 0;\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(" << first1[expr<uint_>("start1")] << " == " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- " start1++; start2++;\n" <<
- " }\n" <<
- " else if(" << first1[expr<uint_>("start1")] << " < " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- " }\n" <<
- " else\n" <<
- " {\n" <<
- " start2++;\n" <<
- " }\n" <<
- "}\n" <<
- "while(start1<end1)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- "}\n" <<
- counts[expr<uint_>("i")] << " = count;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-
-///
-/// \brief Set difference algorithm
-///
-/// Finds the difference of the sorted range [first2, last2) from the sorted
-/// range [first1, last1) and stores it in range starting at result
-/// \return Iterator pointing to end of difference
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param result Iterator pointing to start of range in which the difference
-/// will be stored
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator set_difference(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- int tile_size = 1024;
-
- int count1 = detail::iterator_range_size(first1, last1);
- int count2 = detail::iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- detail::balanced_path_kernel tiling_kernel;
- tiling_kernel.tile_size = tile_size;
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1);
- fill_n(tile_a.begin(), 1, 0, queue);
- fill_n(tile_b.begin(), 1, 0, queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, count1, queue);
- fill_n(tile_b.end()-1, 1, count2, queue);
-
- vector<value_type> temp_result(count1+count2, queue.get_context());
- vector<uint_> counts((count1+count2+tile_size-1)/tile_size + 1, queue.get_context());
- fill_n(counts.end()-1, 1, 0, queue);
-
- // Find individual differences
- detail::serial_set_difference_kernel difference_kernel;
- difference_kernel.tile_size = tile_size;
- difference_kernel.set_range(first1, first2, tile_a.begin(), tile_a.end(),
- tile_b.begin(), temp_result.begin(), counts.begin());
-
- difference_kernel.exec(queue);
-
- exclusive_scan(counts.begin(), counts.end(), counts.begin(), queue);
-
- // Compact the results
- detail::compact_kernel compact_kernel;
- compact_kernel.tile_size = tile_size;
- compact_kernel.set_range(temp_result.begin(), counts.begin(), counts.end(), result);
-
- compact_kernel.exec(queue);
-
- return result + (counts.end() - 1).read(queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SET_DIFFERENCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_intersection.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_intersection.hpp
deleted file mode 100644
index 50f291e84..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_intersection.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SET_INTERSECTION_HPP
-#define BOOST_COMPUTE_ALGORITHM_SET_INTERSECTION_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/compact.hpp>
-#include <boost/compute/algorithm/detail/balanced_path.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial set intersection kernel class
-///
-/// Subclass of meta_kernel to perform serial set intersection after tiling
-///
-class serial_set_intersection_kernel : meta_kernel
-{
-public:
- unsigned int tile_size;
-
- serial_set_intersection_kernel() : meta_kernel("set_intersection")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator1 result,
- OutputIterator2 counts)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint index = i*" << tile_size << ";\n" <<
- "uint count = 0;\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(" << first1[expr<uint_>("start1")] << " == " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++; start2++;\n" <<
- " }\n" <<
- " else if(" << first1[expr<uint_>("start1")] << " < " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " start1++;\n" <<
- " else start2++;\n" <<
- "}\n" <<
- counts[expr<uint_>("i")] << " = count;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-
-///
-/// \brief Set intersection algorithm
-///
-/// Finds the intersection of the sorted range [first1, last1) with the sorted
-/// range [first2, last2) and stores it in range starting at result
-/// \return Iterator pointing to end of intersection
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param result Iterator pointing to start of range in which the intersection
-/// will be stored
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator set_intersection(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- int tile_size = 1024;
-
- int count1 = detail::iterator_range_size(first1, last1);
- int count2 = detail::iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- detail::balanced_path_kernel tiling_kernel;
- tiling_kernel.tile_size = tile_size;
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1);
- fill_n(tile_a.begin(), 1, 0, queue);
- fill_n(tile_b.begin(), 1, 0, queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, count1, queue);
- fill_n(tile_b.end()-1, 1, count2, queue);
-
- vector<value_type> temp_result(count1+count2, queue.get_context());
- vector<uint_> counts((count1+count2+tile_size-1)/tile_size + 1, queue.get_context());
- fill_n(counts.end()-1, 1, 0, queue);
-
- // Find individual intersections
- detail::serial_set_intersection_kernel intersection_kernel;
- intersection_kernel.tile_size = tile_size;
- intersection_kernel.set_range(first1, first2, tile_a.begin(), tile_a.end(),
- tile_b.begin(), temp_result.begin(), counts.begin());
-
- intersection_kernel.exec(queue);
-
- exclusive_scan(counts.begin(), counts.end(), counts.begin(), queue);
-
- // Compact the results
- detail::compact_kernel compact_kernel;
- compact_kernel.tile_size = tile_size;
- compact_kernel.set_range(temp_result.begin(), counts.begin(), counts.end(), result);
-
- compact_kernel.exec(queue);
-
- return result + (counts.end() - 1).read(queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SET_INTERSECTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_symmetric_difference.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_symmetric_difference.hpp
deleted file mode 100644
index 6e60b3851..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_symmetric_difference.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/compact.hpp>
-#include <boost/compute/algorithm/detail/balanced_path.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial set symmetric difference kernel class
-///
-/// Subclass of meta_kernel to perform serial set symmetric
-/// difference after tiling
-///
-class serial_set_symmetric_difference_kernel : meta_kernel
-{
-public:
- unsigned int tile_size;
-
- serial_set_symmetric_difference_kernel() : meta_kernel("set_symmetric_difference")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator1 result,
- OutputIterator2 counts)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint index = i*" << tile_size << ";\n" <<
- "uint count = 0;\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(" << first1[expr<uint_>("start1")] << " == " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- " start1++; start2++;\n" <<
- " }\n" <<
- " else if(" << first1[expr<uint_>("start1")] << " < " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- " }\n" <<
- " else\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++; count++;\n" <<
- " start2++;\n" <<
- " }\n" <<
- "}\n" <<
- "while(start1<end1)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- "}\n" <<
- "while(start2<end2)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++; count++;\n" <<
- " start2++;\n" <<
- "}\n" <<
- counts[expr<uint_>("i")] << " = count;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-
-///
-/// \brief Set symmetric difference algorithm
-///
-/// Finds the symmetric difference of the sorted range [first2, last2) from
-/// the sorted range [first1, last1) and stores it in range starting at result
-/// \return Iterator pointing to end of symmetric difference
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param result Iterator pointing to start of range in which the symmetric
-/// difference will be stored
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator set_symmetric_difference(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- int tile_size = 1024;
-
- int count1 = detail::iterator_range_size(first1, last1);
- int count2 = detail::iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- detail::balanced_path_kernel tiling_kernel;
- tiling_kernel.tile_size = tile_size;
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1);
- fill_n(tile_a.begin(), 1, 0, queue);
- fill_n(tile_b.begin(), 1, 0, queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, count1, queue);
- fill_n(tile_b.end()-1, 1, count2, queue);
-
- vector<value_type> temp_result(count1+count2, queue.get_context());
- vector<uint_> counts((count1+count2+tile_size-1)/tile_size + 1, queue.get_context());
- fill_n(counts.end()-1, 1, 0, queue);
-
- // Find individual symmetric differences
- detail::serial_set_symmetric_difference_kernel symmetric_difference_kernel;
- symmetric_difference_kernel.tile_size = tile_size;
- symmetric_difference_kernel.set_range(first1, first2, tile_a.begin(),
- tile_a.end(), tile_b.begin(),
- temp_result.begin(), counts.begin());
-
- symmetric_difference_kernel.exec(queue);
-
- exclusive_scan(counts.begin(), counts.end(), counts.begin(), queue);
-
- // Compact the results
- detail::compact_kernel compact_kernel;
- compact_kernel.tile_size = tile_size;
- compact_kernel.set_range(temp_result.begin(), counts.begin(), counts.end(), result);
-
- compact_kernel.exec(queue);
-
- return result + (counts.end() - 1).read(queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_union.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_union.hpp
deleted file mode 100644
index c61f7b29b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/set_union.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SET_UNION_HPP
-#define BOOST_COMPUTE_ALGORITHM_SET_UNION_HPP
-
-#include <iterator>
-
-#include <boost/compute/algorithm/detail/balanced_path.hpp>
-#include <boost/compute/algorithm/detail/compact.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/system.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-///
-/// \brief Serial set union kernel class
-///
-/// Subclass of meta_kernel to perform serial set union after tiling
-///
-class serial_set_union_kernel : meta_kernel
-{
-public:
- unsigned int tile_size;
-
- serial_set_union_kernel() : meta_kernel("set_union")
- {
- tile_size = 4;
- }
-
- template<class InputIterator1, class InputIterator2,
- class InputIterator3, class InputIterator4,
- class OutputIterator1, class OutputIterator2>
- void set_range(InputIterator1 first1,
- InputIterator2 first2,
- InputIterator3 tile_first1,
- InputIterator3 tile_last1,
- InputIterator4 tile_first2,
- OutputIterator1 result,
- OutputIterator2 counts)
- {
- m_count = iterator_range_size(tile_first1, tile_last1) - 1;
-
- *this <<
- "uint i = get_global_id(0);\n" <<
- "uint start1 = " << tile_first1[expr<uint_>("i")] << ";\n" <<
- "uint end1 = " << tile_first1[expr<uint_>("i+1")] << ";\n" <<
- "uint start2 = " << tile_first2[expr<uint_>("i")] << ";\n" <<
- "uint end2 = " << tile_first2[expr<uint_>("i+1")] << ";\n" <<
- "uint index = i*" << tile_size << ";\n" <<
- "uint count = 0;\n" <<
- "while(start1<end1 && start2<end2)\n" <<
- "{\n" <<
- " if(" << first1[expr<uint_>("start1")] << " == " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++; start2++;\n" <<
- " }\n" <<
- " else if(" << first1[expr<uint_>("start1")] << " < " <<
- first2[expr<uint_>("start2")] << ")\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- " }\n" <<
- " else\n" <<
- " {\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++; count++;\n" <<
- " start2++;\n" <<
- " }\n" <<
- "}\n" <<
- "while(start1<end1)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first1[expr<uint_>("start1")] << ";\n" <<
- " index++; count++;\n" <<
- " start1++;\n" <<
- "}\n" <<
- "while(start2<end2)\n" <<
- "{\n" <<
- result[expr<uint_>("index")] <<
- " = " << first2[expr<uint_>("start2")] << ";\n" <<
- " index++; count++;\n" <<
- " start2++;\n" <<
- "}\n" <<
- counts[expr<uint_>("i")] << " = count;\n";
- }
-
- event exec(command_queue &queue)
- {
- if(m_count == 0) {
- return event();
- }
-
- return exec_1d(queue, 0, m_count);
- }
-
-private:
- size_t m_count;
-};
-
-} //end detail namespace
-
-///
-/// \brief Set union algorithm
-///
-/// Finds the union of the sorted range [first1, last1) with the sorted
-/// range [first2, last2) and stores it in range starting at result
-/// \return Iterator pointing to end of union
-///
-/// \param first1 Iterator pointing to start of first set
-/// \param last1 Iterator pointing to end of first set
-/// \param first2 Iterator pointing to start of second set
-/// \param last2 Iterator pointing to end of second set
-/// \param result Iterator pointing to start of range in which the union
-/// will be stored
-/// \param queue Queue on which to execute
-///
-template<class InputIterator1, class InputIterator2, class OutputIterator>
-inline OutputIterator set_union(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- InputIterator2 last2,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::value_type value_type;
-
- int tile_size = 1024;
-
- int count1 = detail::iterator_range_size(first1, last1);
- int count2 = detail::iterator_range_size(first2, last2);
-
- vector<uint_> tile_a((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
- vector<uint_> tile_b((count1+count2+tile_size-1)/tile_size+1, queue.get_context());
-
- // Tile the sets
- detail::balanced_path_kernel tiling_kernel;
- tiling_kernel.tile_size = tile_size;
- tiling_kernel.set_range(first1, last1, first2, last2,
- tile_a.begin()+1, tile_b.begin()+1);
- fill_n(tile_a.begin(), 1, 0, queue);
- fill_n(tile_b.begin(), 1, 0, queue);
- tiling_kernel.exec(queue);
-
- fill_n(tile_a.end()-1, 1, count1, queue);
- fill_n(tile_b.end()-1, 1, count2, queue);
-
- vector<value_type> temp_result(count1+count2, queue.get_context());
- vector<uint_> counts((count1+count2+tile_size-1)/tile_size + 1, queue.get_context());
- fill_n(counts.end()-1, 1, 0, queue);
-
- // Find individual unions
- detail::serial_set_union_kernel union_kernel;
- union_kernel.tile_size = tile_size;
- union_kernel.set_range(first1, first2, tile_a.begin(), tile_a.end(),
- tile_b.begin(), temp_result.begin(), counts.begin());
-
- union_kernel.exec(queue);
-
- exclusive_scan(counts.begin(), counts.end(), counts.begin(), queue);
-
- // Compact the results
- detail::compact_kernel compact_kernel;
- compact_kernel.tile_size = tile_size;
- compact_kernel.set_range(temp_result.begin(), counts.begin(), counts.end(), result);
-
- compact_kernel.exec(queue);
-
- return result + (counts.end() - 1).read(queue);
-}
-
-} //end compute namespace
-} //end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SET_UNION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort.hpp
deleted file mode 100644
index 7e0a583e3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort.hpp
+++ /dev/null
@@ -1,205 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SORT_HPP
-#define BOOST_COMPUTE_ALGORITHM_SORT_HPP
-
-#include <iterator>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_cpu.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_gpu.hpp>
-#include <boost/compute/algorithm/detail/radix_sort.hpp>
-#include <boost/compute/algorithm/detail/insertion_sort.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-#include <boost/compute/container/mapped_view.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-inline void dispatch_gpu_sort(buffer_iterator<T> first,
- buffer_iterator<T> last,
- less<T>,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<T>::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(first, last);
-
- if(count < 2){
- // nothing to do
- return;
- }
- else if(count <= 32){
- ::boost::compute::detail::serial_insertion_sort(first, last, queue);
- }
- else {
- ::boost::compute::detail::radix_sort(first, last, queue);
- }
-}
-
-template<class T>
-inline void dispatch_gpu_sort(buffer_iterator<T> first,
- buffer_iterator<T> last,
- greater<T> compare,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<T>::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(first, last);
-
- if(count < 2){
- // nothing to do
- return;
- }
- else if(count <= 32){
- ::boost::compute::detail::serial_insertion_sort(
- first, last, compare, queue
- );
- }
- else {
- // radix sorts in descending order
- ::boost::compute::detail::radix_sort(first, last, false, queue);
- }
-}
-
-template<class Iterator, class Compare>
-inline void dispatch_gpu_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue)
-{
- size_t count = detail::iterator_range_size(first, last);
-
- if(count < 2){
- // nothing to do
- return;
- }
- else if(count <= 32){
- ::boost::compute::detail::serial_insertion_sort(
- first, last, compare, queue
- );
- }
- else {
- ::boost::compute::detail::merge_sort_on_gpu(
- first, last, compare, queue
- );
- }
-}
-
-// sort() for device iterators
-template<class Iterator, class Compare>
-inline void dispatch_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue,
- typename boost::enable_if<
- is_device_iterator<Iterator>
- >::type* = 0)
-{
- if(queue.get_device().type() & device::gpu) {
- dispatch_gpu_sort(first, last, compare, queue);
- return;
- }
- ::boost::compute::detail::merge_sort_on_cpu(first, last, compare, queue);
-}
-
-// sort() for host iterators
-template<class Iterator, class Compare>
-inline void dispatch_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue,
- typename boost::disable_if<
- is_device_iterator<Iterator>
- >::type* = 0)
-{
- typedef typename std::iterator_traits<Iterator>::value_type T;
-
- size_t size = static_cast<size_t>(std::distance(first, last));
-
- // create mapped buffer
- mapped_view<T> view(
- boost::addressof(*first), size, queue.get_context()
- );
-
- // sort mapped buffer
- dispatch_sort(view.begin(), view.end(), compare, queue);
-
- // return results to host
- view.map(queue);
-}
-
-} // end detail namespace
-
-/// Sorts the values in the range [\p first, \p last) according to
-/// \p compare.
-///
-/// \param first first element in the range to sort
-/// \param last last element in the range to sort
-/// \param compare comparison function (by default \c less)
-/// \param queue command queue to perform the operation
-///
-/// For example, to sort a vector on the device:
-/// \code
-/// // create vector on the device with data
-/// float data[] = { 2.f, 4.f, 1.f, 3.f };
-/// boost::compute::vector<float> vec(data, data + 4, queue);
-///
-/// // sort the vector on the device
-/// boost::compute::sort(vec.begin(), vec.end(), queue);
-/// \endcode
-///
-/// The sort() algorithm can also be directly used with host iterators. This
-/// example will automatically transfer the data to the device, sort it, and
-/// then transfer the data back to the host:
-/// \code
-/// std::vector<int> data = { 9, 3, 2, 5, 1, 4, 6, 7 };
-///
-/// boost::compute::sort(data.begin(), data.end(), queue);
-/// \endcode
-///
-/// \see is_sorted()
-template<class Iterator, class Compare>
-inline void sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::detail::dispatch_sort(first, last, compare, queue);
-}
-
-/// \overload
-template<class Iterator>
-inline void sort(Iterator first,
- Iterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- ::boost::compute::sort(
- first, last, ::boost::compute::less<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SORT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort_by_key.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort_by_key.hpp
deleted file mode 100644
index c39bcf989..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/sort_by_key.hpp
+++ /dev/null
@@ -1,161 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SORT_BY_KEY_HPP
-#define BOOST_COMPUTE_ALGORITHM_SORT_BY_KEY_HPP
-
-#include <iterator>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_cpu.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_gpu.hpp>
-#include <boost/compute/algorithm/detail/insertion_sort.hpp>
-#include <boost/compute/algorithm/detail/radix_sort.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-namespace detail {
-
-template<class KeyIterator, class ValueIterator>
-inline void
-dispatch_gpu_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- less<typename std::iterator_traits<KeyIterator>::value_type> compare,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<
- typename std::iterator_traits<KeyIterator>::value_type
- >::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- }
- else {
- detail::radix_sort_by_key(
- keys_first, keys_last, values_first, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator>
-inline void
-dispatch_gpu_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- greater<typename std::iterator_traits<KeyIterator>::value_type> compare,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<
- typename std::iterator_traits<KeyIterator>::value_type
- >::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- }
- else {
- // radix sorts in descending order
- detail::radix_sort_by_key(
- keys_first, keys_last, values_first, false, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void dispatch_gpu_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- } else {
- detail::merge_sort_by_key_on_gpu(
- keys_first, keys_last, values_first, compare, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void dispatch_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- if(queue.get_device().type() & device::gpu) {
- dispatch_gpu_sort_by_key(keys_first, keys_last, values_first, compare, queue);
- return;
- }
- ::boost::compute::detail::merge_sort_by_key_on_cpu(
- keys_first, keys_last, values_first, compare, queue
- );
-}
-
-} // end detail namespace
-
-/// Performs a key-value sort using the keys in the range [\p keys_first,
-/// \p keys_last) on the values in the range [\p values_first,
-/// \p values_first \c + (\p keys_last \c - \p keys_first)) using \p compare.
-///
-/// If no compare function is specified, \c less is used.
-///
-/// \see sort()
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::detail::dispatch_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
-}
-
-/// \overload
-template<class KeyIterator, class ValueIterator>
-inline void sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
-
- ::boost::compute::sort_by_key(
- keys_first, keys_last, values_first, less<key_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SORT_BY_KEY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_partition.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_partition.hpp
deleted file mode 100644
index 283b06828..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_partition.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_STABLE_PARTITION_HPP
-#define BOOST_COMPUTE_ALGORITHM_STABLE_PARTITION_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \brief Partitioning algorithm
-///
-/// Partitions the elements in the range [\p first, \p last) according to
-/// \p predicate. The order of the elements is preserved.
-/// \return Iterator pointing to end of true values
-///
-/// \param first Iterator pointing to start of range
-/// \param last Iterator pointing to end of range
-/// \param predicate Unary predicate to be applied on each element
-/// \param queue Queue on which to execute
-///
-/// \see is_partitioned() and partition()
-///
-template<class Iterator, class UnaryPredicate>
-inline Iterator stable_partition(Iterator first,
- Iterator last,
- UnaryPredicate predicate,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- // make temporary copy of the input
- ::boost::compute::vector<value_type> tmp(first, last, queue);
-
- // copy true values
- Iterator last_true =
- ::boost::compute::copy_if(tmp.begin(),
- tmp.end(),
- first,
- predicate,
- queue);
-
- // copy false values
- Iterator last_false =
- ::boost::compute::copy_if(tmp.begin(),
- tmp.end(),
- last_true,
- not1(predicate),
- queue);
-
- // return iterator pointing to the last true value
- return last_true;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_STABLE_PARTITION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort.hpp
deleted file mode 100644
index 381fc81bc..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_STABLE_SORT_HPP
-#define BOOST_COMPUTE_ALGORITHM_STABLE_SORT_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_cpu.hpp>
-#include <boost/compute/algorithm/detail/merge_sort_on_gpu.hpp>
-#include <boost/compute/algorithm/detail/radix_sort.hpp>
-#include <boost/compute/algorithm/detail/insertion_sort.hpp>
-#include <boost/compute/algorithm/reverse.hpp>
-#include <boost/compute/functional/operator.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class Compare>
-inline void dispatch_gpu_stable_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue)
-{
- size_t count = detail::iterator_range_size(first, last);
-
- if(count < 32){
- detail::serial_insertion_sort(
- first, last, compare, queue
- );
- } else {
- detail::merge_sort_on_gpu(
- first, last, compare, true /* stable */, queue
- );
- }
-}
-
-template<class T>
-inline typename boost::enable_if_c<is_radix_sortable<T>::value>::type
-dispatch_gpu_stable_sort(buffer_iterator<T> first,
- buffer_iterator<T> last,
- less<T>,
- command_queue &queue)
-{
- ::boost::compute::detail::radix_sort(first, last, queue);
-}
-
-template<class T>
-inline typename boost::enable_if_c<is_radix_sortable<T>::value>::type
-dispatch_gpu_stable_sort(buffer_iterator<T> first,
- buffer_iterator<T> last,
- greater<T>,
- command_queue &queue)
-{
- // radix sorts in descending order
- ::boost::compute::detail::radix_sort(first, last, false, queue);
-}
-
-} // end detail namespace
-
-/// Sorts the values in the range [\p first, \p last) according to
-/// \p compare. The relative order of identical values is preserved.
-///
-/// \see sort(), is_sorted()
-template<class Iterator, class Compare>
-inline void stable_sort(Iterator first,
- Iterator last,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- if(queue.get_device().type() & device::gpu) {
- ::boost::compute::detail::dispatch_gpu_stable_sort(
- first, last, compare, queue
- );
- return;
- }
- ::boost::compute::detail::merge_sort_on_cpu(first, last, compare, queue);
-}
-
-/// \overload
-template<class Iterator>
-inline void stable_sort(Iterator first,
- Iterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
-
- ::boost::compute::less<value_type> less;
-
- ::boost::compute::stable_sort(first, last, less, queue);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_STABLE_SORT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort_by_key.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort_by_key.hpp
deleted file mode 100644
index 878f999f4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/stable_sort_by_key.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_STABLE_SORT_BY_KEY_HPP
-#define BOOST_COMPUTE_ALGORITHM_STABLE_SORT_BY_KEY_HPP
-
-#include <iterator>
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/sort_by_key.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-namespace detail {
-
-template<class KeyIterator, class ValueIterator>
-inline void
-dispatch_gpu_ssort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- less<typename std::iterator_traits<KeyIterator>::value_type> compare,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<
- typename std::iterator_traits<KeyIterator>::value_type
- >::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- }
- else {
- detail::radix_sort_by_key(
- keys_first, keys_last, values_first, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator>
-inline void
-dispatch_gpu_ssort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- greater<typename std::iterator_traits<KeyIterator>::value_type> compare,
- command_queue &queue,
- typename boost::enable_if_c<
- is_radix_sortable<
- typename std::iterator_traits<KeyIterator>::value_type
- >::value
- >::type* = 0)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- }
- else {
- // radix sorts in descending order
- detail::radix_sort_by_key(
- keys_first, keys_last, values_first, false, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void dispatch_gpu_ssort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- size_t count = detail::iterator_range_size(keys_first, keys_last);
-
- if(count < 32){
- detail::serial_insertion_sort_by_key(
- keys_first, keys_last, values_first,
- compare, queue
- );
- } else {
- detail::merge_sort_by_key_on_gpu(
- keys_first, keys_last, values_first,
- compare, true /* stable */, queue
- );
- }
-}
-
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void dispatch_ssort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue)
-{
- if(queue.get_device().type() & device::gpu) {
- dispatch_gpu_ssort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
- return;
- }
- ::boost::compute::detail::merge_sort_by_key_on_cpu(
- keys_first, keys_last, values_first, compare, queue
- );
-}
-
-} // end detail namespace
-
-/// Performs a key-value stable sort using the keys in the range [\p keys_first,
-/// \p keys_last) on the values in the range [\p values_first,
-/// \p values_first \c + (\p keys_last \c - \p keys_first)) using \p compare.
-///
-/// If no compare function is specified, \c less is used.
-///
-/// \see sort()
-template<class KeyIterator, class ValueIterator, class Compare>
-inline void stable_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- Compare compare,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::detail::dispatch_ssort_by_key(
- keys_first, keys_last, values_first, compare, queue
- );
-}
-
-/// \overload
-template<class KeyIterator, class ValueIterator>
-inline void stable_sort_by_key(KeyIterator keys_first,
- KeyIterator keys_last,
- ValueIterator values_first,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<KeyIterator>::value_type key_type;
-
- ::boost::compute::stable_sort_by_key(
- keys_first, keys_last, values_first, less<key_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_STABLE_SORT_BY_KEY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/swap_ranges.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/swap_ranges.hpp
deleted file mode 100644
index 6ff3e14f6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/swap_ranges.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_SWAP_RANGES_HPP
-#define BOOST_COMPUTE_ALGORITHM_SWAP_RANGES_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Swaps the elements in the range [\p first1, \p last1) with the
-/// elements in the range beginning at \p first2.
-template<class Iterator1, class Iterator2>
-inline Iterator2 swap_ranges(Iterator1 first1,
- Iterator1 last1,
- Iterator2 first2,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<Iterator1>::value_type value_type;
-
- Iterator2 last2 = first2 + std::distance(first1, last1);
-
- ::boost::compute::vector<value_type> tmp(first1, last1, queue);
- ::boost::compute::copy(first2, last2, first1, queue);
- ::boost::compute::copy(tmp.begin(), tmp.end(), first2, queue);
-
- return last2;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_SWAP_RANGES_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform.hpp
deleted file mode 100644
index 68750a652..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_TRANSFORM_HPP
-#define BOOST_COMPUTE_ALGORITHM_TRANSFORM_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/iterator/zip_iterator.hpp>
-#include <boost/compute/functional/detail/unpack.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Transforms the elements in the range [\p first, \p last) using
-/// operator \p op and stores the results in the range beginning at
-/// \p result.
-///
-/// For example, to calculate the absolute value for each element in a vector:
-///
-/// \snippet test/test_transform.cpp transform_abs
-///
-/// \see copy()
-template<class InputIterator, class OutputIterator, class UnaryOperator>
-inline OutputIterator transform(InputIterator first,
- InputIterator last,
- OutputIterator result,
- UnaryOperator op,
- command_queue &queue = system::default_queue())
-{
- return copy(
- ::boost::compute::make_transform_iterator(first, op),
- ::boost::compute::make_transform_iterator(last, op),
- result,
- queue
- );
-}
-
-/// \overload
-template<class InputIterator1,
- class InputIterator2,
- class OutputIterator,
- class BinaryOperator>
-inline OutputIterator transform(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- OutputIterator result,
- BinaryOperator op,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::difference_type difference_type;
-
- difference_type n = std::distance(first1, last1);
-
- return transform(
- make_zip_iterator(boost::make_tuple(first1, first2)),
- make_zip_iterator(boost::make_tuple(last1, first2 + n)),
- result,
- detail::unpack(op),
- queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_TRANSFORM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_if.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_if.hpp
deleted file mode 100644
index 0eb0fd434..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_if.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_TRANSFORM_IF_HPP
-#define BOOST_COMPUTE_ALGORITHM_TRANSFORM_IF_HPP
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/count.hpp>
-#include <boost/compute/algorithm/count_if.hpp>
-#include <boost/compute/algorithm/exclusive_scan.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class UnaryFunction, class Predicate>
-inline OutputIterator transform_if_impl(InputIterator first,
- InputIterator last,
- OutputIterator result,
- UnaryFunction function,
- Predicate predicate,
- bool copyIndex,
- command_queue &queue)
-{
- typedef typename std::iterator_traits<OutputIterator>::difference_type difference_type;
-
- size_t count = detail::iterator_range_size(first, last);
- if(count == 0){
- return result;
- }
-
- const context &context = queue.get_context();
-
- // storage for destination indices
- ::boost::compute::vector<cl_uint> indices(count, context);
-
- // write counts
- ::boost::compute::detail::meta_kernel k1("transform_if_write_counts");
- k1 << indices.begin()[k1.get_global_id(0)] << " = "
- << predicate(first[k1.get_global_id(0)]) << " ? 1 : 0;\n";
- k1.exec_1d(queue, 0, count);
-
- // count number of elements to be copied
- size_t copied_element_count =
- ::boost::compute::count(indices.begin(), indices.end(), 1, queue);
-
- // scan indices
- ::boost::compute::exclusive_scan(
- indices.begin(), indices.end(), indices.begin(), queue
- );
-
- // copy values
- ::boost::compute::detail::meta_kernel k2("transform_if_do_copy");
- k2 << "if(" << predicate(first[k2.get_global_id(0)]) << ")" <<
- " " << result[indices.begin()[k2.get_global_id(0)]] << "=";
-
- if(copyIndex){
- k2 << k2.get_global_id(0) << ";\n";
- }
- else {
- k2 << function(first[k2.get_global_id(0)]) << ";\n";
- }
-
- k2.exec_1d(queue, 0, count);
-
- return result + static_cast<difference_type>(copied_element_count);
-}
-
-template<class InputIterator, class UnaryFunction, class Predicate>
-inline discard_iterator transform_if_impl(InputIterator first,
- InputIterator last,
- discard_iterator result,
- UnaryFunction function,
- Predicate predicate,
- bool copyIndex,
- command_queue &queue)
-{
- (void) function;
- (void) copyIndex;
-
- return result + count_if(first, last, predicate, queue);
-}
-
-} // end detail namespace
-
-/// Copies each element in the range [\p first, \p last) for which
-/// \p predicate returns \c true to the range beginning at \p result.
-template<class InputIterator, class OutputIterator, class UnaryFunction, class Predicate>
-inline OutputIterator transform_if(InputIterator first,
- InputIterator last,
- OutputIterator result,
- UnaryFunction function,
- Predicate predicate,
- command_queue &queue = system::default_queue())
-{
- return detail::transform_if_impl(
- first, last, result, function, predicate, false, queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_TRANSFORM_IF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_reduce.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_reduce.hpp
deleted file mode 100644
index fbeee5a69..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/transform_reduce.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_TRANSFORM_REDUCE_HPP
-#define BOOST_COMPUTE_ALGORITHM_TRANSFORM_REDUCE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/reduce.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/iterator/zip_iterator.hpp>
-#include <boost/compute/functional/detail/unpack.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Transforms each value in the range [\p first, \p last) with the unary
-/// \p transform_function and then reduces each transformed value with
-/// \p reduce_function.
-///
-/// For example, to calculate the sum of the absolute values of a vector
-/// of integers:
-///
-/// \snippet test/test_transform_reduce.cpp sum_abs_int
-///
-/// \see reduce(), inner_product()
-template<class InputIterator,
- class OutputIterator,
- class UnaryTransformFunction,
- class BinaryReduceFunction>
-inline void transform_reduce(InputIterator first,
- InputIterator last,
- OutputIterator result,
- UnaryTransformFunction transform_function,
- BinaryReduceFunction reduce_function,
- command_queue &queue = system::default_queue())
-{
- ::boost::compute::reduce(
- ::boost::compute::make_transform_iterator(first, transform_function),
- ::boost::compute::make_transform_iterator(last, transform_function),
- result,
- reduce_function,
- queue
- );
-}
-
-/// \overload
-template<class InputIterator1,
- class InputIterator2,
- class OutputIterator,
- class BinaryTransformFunction,
- class BinaryReduceFunction>
-inline void transform_reduce(InputIterator1 first1,
- InputIterator1 last1,
- InputIterator2 first2,
- OutputIterator result,
- BinaryTransformFunction transform_function,
- BinaryReduceFunction reduce_function,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator1>::difference_type difference_type;
-
- difference_type n = std::distance(first1, last1);
-
- ::boost::compute::transform_reduce(
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(first1, first2)
- ),
- ::boost::compute::make_zip_iterator(
- boost::make_tuple(last1, first2 + n)
- ),
- result,
- detail::unpack(transform_function),
- reduce_function,
- queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_TRANSFORM_REDUCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique.hpp
deleted file mode 100644
index faa36bad9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_UNIQUE_HPP
-#define BOOST_COMPUTE_ALGORITHM_UNIQUE_HPP
-
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/unique_copy.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/functional/operator.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Removes all consecutive duplicate elements (determined by \p op) from the
-/// range [first, last). If \p op is not provided, the equality operator is
-/// used.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param op binary operator used to check for uniqueness
-/// \param queue command queue to perform the operation
-///
-/// \return \c InputIterator to the new logical end of the range
-///
-/// \see unique_copy()
-template<class InputIterator, class BinaryPredicate>
-inline InputIterator unique(InputIterator first,
- InputIterator last,
- BinaryPredicate op,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- vector<value_type> temp(first, last, queue);
-
- return ::boost::compute::unique_copy(
- temp.begin(), temp.end(), first, op, queue
- );
-}
-
-/// \overload
-template<class InputIterator>
-inline InputIterator unique(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::unique(
- first, last, ::boost::compute::equal_to<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_UNIQUE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique_copy.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique_copy.hpp
deleted file mode 100644
index 2ce60a935..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/unique_copy.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_UNIQUE_COPY_HPP
-#define BOOST_COMPUTE_ALGORITHM_UNIQUE_COPY_HPP
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/algorithm/gather.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/functional/operator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class InputIterator, class OutputIterator, class BinaryPredicate>
-inline OutputIterator serial_unique_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryPredicate op,
- command_queue &queue)
-{
- if(first == last){
- return result;
- }
-
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- const context &context = queue.get_context();
-
- size_t count = detail::iterator_range_size(first, last);
-
- detail::meta_kernel k("serial_unique_copy");
-
- vector<uint_> unique_count_vector(1, context);
-
- size_t size_arg = k.add_arg<const uint_>("size");
- size_t unique_count_arg = k.add_arg<uint_ *>(memory_object::global_memory, "unique_count");
-
- k << k.decl<uint_>("index") << " = 0;\n"
- << k.decl<value_type>("current") << " = " << first[k.var<uint_>("0")] << ";\n"
- << result[k.var<uint_>("0")] << " = current;\n"
- << "for(uint i = 1; i < size; i++){\n"
- << " " << k.decl<value_type>("next") << " = " << first[k.var<uint_>("i")] << ";\n"
- << " if(!" << op(k.var<value_type>("current"), k.var<value_type>("next")) << "){\n"
- << " " << result[k.var<uint_>("++index")] << " = next;\n"
- << " " << "current = next;\n"
- << " }\n"
- << "}\n"
- << "*unique_count = index + 1;\n";
-
- k.set_arg<const uint_>(size_arg, count);
- k.set_arg(unique_count_arg, unique_count_vector.get_buffer());
-
- k.exec_1d(queue, 0, 1, 1);
-
- uint_ unique_count;
- copy_n(unique_count_vector.begin(), 1, &unique_count, queue);
-
- return result + unique_count;
-}
-
-template<class InputIterator, class OutputIterator, class BinaryPredicate>
-inline OutputIterator unique_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryPredicate op,
- command_queue &queue)
-{
- if(first == last){
- return result;
- }
-
- const context &context = queue.get_context();
- size_t count = detail::iterator_range_size(first, last);
-
- // flags marking unique elements
- vector<uint_> flags(count, context);
-
- // find each unique element and mark it with a one
- transform(
- first, last - 1, first + 1, flags.begin() + 1, not2(op), queue
- );
-
- // first element is always unique
- fill_n(flags.begin(), 1, 1, queue);
-
- // storage for desination indices
- vector<uint_> indices(count, context);
-
- // copy indices for each unique element
- vector<uint_>::iterator last_index = detail::copy_index_if(
- flags.begin(), flags.end(), indices.begin(), lambda::_1 == 1, queue
- );
-
- // copy unique values from input to output using the computed indices
- gather(indices.begin(), last_index, first, result, queue);
-
- // return an iterator to the end of the unique output range
- return result + std::distance(indices.begin(), last_index);
-}
-
-} // end detail namespace
-
-/// Makes a copy of the range [first, last) and removes all consecutive
-/// duplicate elements (determined by \p op) from the copy. If \p op is not
-/// provided, the equality operator is used.
-///
-/// \param first first element in the input range
-/// \param last last element in the input range
-/// \param result first element in the result range
-/// \param op binary operator used to check for uniqueness
-/// \param queue command queue to perform the operation
-///
-/// \return \c OutputIterator to the end of the result range
-///
-/// \see unique()
-template<class InputIterator, class OutputIterator, class BinaryPredicate>
-inline OutputIterator unique_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- BinaryPredicate op,
- command_queue &queue = system::default_queue())
-{
- size_t count = detail::iterator_range_size(first, last);
- if(count < 32){
- return detail::serial_unique_copy(first, last, result, op, queue);
- }
- else {
- return detail::unique_copy(first, last, result, op, queue);
- }
-}
-
-/// \overload
-template<class InputIterator, class OutputIterator>
-inline OutputIterator unique_copy(InputIterator first,
- InputIterator last,
- OutputIterator result,
- command_queue &queue = system::default_queue())
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- return ::boost::compute::unique_copy(
- first, last, result, ::boost::compute::equal_to<value_type>(), queue
- );
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_UNIQUE_COPY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/upper_bound.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/upper_bound.hpp
deleted file mode 100644
index a5a82d301..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/algorithm/upper_bound.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALGORITHM_UPPER_BOUND_HPP
-#define BOOST_COMPUTE_ALGORITHM_UPPER_BOUND_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/detail/binary_find.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns an iterator pointing to the first element in the sorted
-/// range [\p first, \p last) that is not less than or equal to
-/// \p value.
-template<class InputIterator, class T>
-inline InputIterator
-upper_bound(InputIterator first,
- InputIterator last,
- const T &value,
- command_queue &queue = system::default_queue())
-{
- using ::boost::compute::_1;
-
- InputIterator position =
- detail::binary_find(first, last, _1 > value, queue);
-
- return position;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALGORITHM_UPPER_BOUND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator.hpp
deleted file mode 100644
index e3db491b4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALLOCATOR_HPP
-#define BOOST_COMPUTE_ALLOCATOR_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute allocator headers.
-
-#include <boost/compute/allocator/buffer_allocator.hpp>
-#include <boost/compute/allocator/pinned_allocator.hpp>
-
-#endif // BOOST_COMPUTE_ALLOCATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/buffer_allocator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/buffer_allocator.hpp
deleted file mode 100644
index 2139a9789..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/buffer_allocator.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALLOCATOR_BUFFER_ALLOCATOR_HPP
-#define BOOST_COMPUTE_ALLOCATOR_BUFFER_ALLOCATOR_HPP
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/detail/device_ptr.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class buffer_allocator
-/// \brief The buffer_allocator class allocates memory with \ref buffer objects
-///
-/// \see buffer
-template<class T>
-class buffer_allocator
-{
-public:
- typedef T value_type;
- typedef detail::device_ptr<T> pointer;
- typedef const detail::device_ptr<T> const_pointer;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- explicit buffer_allocator(const context &context)
- : m_context(context),
- m_mem_flags(buffer::read_write)
- {
- }
-
- buffer_allocator(const buffer_allocator<T> &other)
- : m_context(other.m_context),
- m_mem_flags(other.m_mem_flags)
- {
- }
-
- buffer_allocator<T>& operator=(const buffer_allocator<T> &other)
- {
- if(this != &other){
- m_context = other.m_context;
- m_mem_flags = other.m_mem_flags;
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- buffer_allocator(buffer_allocator<T>&& other) BOOST_NOEXCEPT
- : m_context(std::move(other.m_context)),
- m_mem_flags(other.m_mem_flags)
- {
- }
-
- buffer_allocator<T>& operator=(buffer_allocator<T>&& other) BOOST_NOEXCEPT
- {
- m_context = std::move(other.m_context);
- m_mem_flags = other.m_mem_flags;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- ~buffer_allocator()
- {
- }
-
- pointer allocate(size_type n)
- {
- buffer buf(m_context, n * sizeof(T), m_mem_flags);
- clRetainMemObject(buf.get());
- return detail::device_ptr<T>(buf);
- }
-
- void deallocate(pointer p, size_type n)
- {
- BOOST_ASSERT(p.get_buffer().get_context() == m_context);
-
- (void) n;
-
- clReleaseMemObject(p.get_buffer().get());
- }
-
- size_type max_size() const
- {
- return m_context.get_device().max_memory_alloc_size() / sizeof(T);
- }
-
- context get_context() const
- {
- return m_context;
- }
-
-protected:
- void set_mem_flags(cl_mem_flags flags)
- {
- m_mem_flags = flags;
- }
-
-private:
- context m_context;
- cl_mem_flags m_mem_flags;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALLOCATOR_BUFFER_ALLOCATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/pinned_allocator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/pinned_allocator.hpp
deleted file mode 100644
index 9c85d93e7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/allocator/pinned_allocator.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ALLOCATOR_PINNED_ALLOCATOR_HPP
-#define BOOST_COMPUTE_ALLOCATOR_PINNED_ALLOCATOR_HPP
-
-#include <boost/compute/allocator/buffer_allocator.hpp>
-
-namespace boost {
-namespace compute {
-
-template<class T>
-class pinned_allocator : public buffer_allocator<T>
-{
-public:
- explicit pinned_allocator(const context &context)
- : buffer_allocator<T>(context)
- {
- buffer_allocator<T>::set_mem_flags(
- buffer::read_write | buffer::alloc_host_ptr
- );
- }
-
- pinned_allocator(const pinned_allocator<T> &other)
- : buffer_allocator<T>(other)
- {
- }
-
- pinned_allocator<T>& operator=(const pinned_allocator<T> &other)
- {
- if(this != &other){
- buffer_allocator<T>::operator=(other);
- }
-
- return *this;
- }
-
- ~pinned_allocator()
- {
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ALLOCATOR_PINNED_ALLOCATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async.hpp
deleted file mode 100644
index 415dedda7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ASYNC_HPP
-#define BOOST_COMPUTE_ASYNC_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute async headers.
-
-#include <boost/compute/async/future.hpp>
-#include <boost/compute/async/wait_guard.hpp>
-
-#endif // BOOST_COMPUTE_ASYNC_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/future.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/future.hpp
deleted file mode 100644
index f7f7780de..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/future.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ASYNC_FUTURE_HPP
-#define BOOST_COMPUTE_ASYNC_FUTURE_HPP
-
-#include <boost/compute/event.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class future
-/// \brief Holds the result of an asynchronous computation.
-///
-/// \see event, wait_list
-template<class T>
-class future
-{
-public:
- future()
- : m_event(0)
- {
- }
-
- future(const T &result, const event &event)
- : m_result(result),
- m_event(event)
- {
- }
-
- future(const future<T> &other)
- : m_result(other.m_result),
- m_event(other.m_event)
- {
- }
-
- future& operator=(const future<T> &other)
- {
- if(this != &other){
- m_result = other.m_result;
- m_event = other.m_event;
- }
-
- return *this;
- }
-
- ~future()
- {
- }
-
- /// Returns the result of the computation. This will block until
- /// the result is ready.
- T get()
- {
- wait();
-
- return m_result;
- }
-
- /// Returns \c true if the future is valid.
- bool valid() const
- {
- return m_event != 0;
- }
-
- /// Blocks until the computation is complete.
- void wait() const
- {
- m_event.wait();
- }
-
- /// Returns the underlying event object.
- event get_event() const
- {
- return m_event;
- }
-
-private:
- T m_result;
- event m_event;
-};
-
-/// \internal_
-template<>
-class future<void>
-{
-public:
- future()
- : m_event(0)
- {
- }
-
- template<class T>
- future(const future<T> &other)
- : m_event(other.get_event())
- {
- }
-
- explicit future(const event &event)
- : m_event(event)
- {
- }
-
- template<class T>
- future<void> &operator=(const future<T> &other)
- {
- m_event = other.get_event();
-
- return *this;
- }
-
- future<void> &operator=(const future<void> &other)
- {
- if(this != &other){
- m_event = other.m_event;
- }
-
- return *this;
- }
-
- ~future()
- {
- }
-
- void get()
- {
- wait();
- }
-
- bool valid() const
- {
- return m_event != 0;
- }
-
- void wait() const
- {
- m_event.wait();
- }
-
- event get_event() const
- {
- return m_event;
- }
-
-private:
- event m_event;
-};
-
-/// \internal_
-template<class Result>
-inline future<Result> make_future(const Result &result, const event &event)
-{
- return future<Result>(result, event);
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ASYNC_FUTURE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/wait_guard.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/wait_guard.hpp
deleted file mode 100644
index 46018fa35..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/async/wait_guard.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ASYNC_WAIT_GUARD_HPP
-#define BOOST_COMPUTE_ASYNC_WAIT_GUARD_HPP
-
-#include <boost/noncopyable.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class wait_guard
-/// \brief A guard object for synchronizing an operation on the device
-///
-/// The wait_guard class stores a waitable object representing an operation
-/// on a compute device (e.g. \ref event, \ref future "future<T>") and calls
-/// its \c wait() method when the guard object goes out of scope.
-///
-/// This is useful for ensuring that an OpenCL operation completes before
-/// leaving the current scope and cleaning up any resources.
-///
-/// For example:
-/// \code
-/// // enqueue a compute kernel for execution
-/// event e = queue.enqueue_nd_range_kernel(...);
-///
-/// // call e.wait() upon exiting the current scope
-/// wait_guard<event> guard(e);
-/// \endcode
-///
-/// \ref wait_list, wait_for_all()
-template<class Waitable>
-class wait_guard : boost::noncopyable
-{
-public:
- /// Creates a new wait_guard object for \p waitable.
- wait_guard(const Waitable &waitable)
- : m_waitable(waitable)
- {
- }
-
- /// Destroys the wait_guard object. The default implementation will call
- /// \c wait() on the stored waitable object.
- ~wait_guard()
- {
- m_waitable.wait();
- }
-
-private:
- Waitable m_waitable;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ASYNC_WAIT_GUARD_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/buffer.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/buffer.hpp
deleted file mode 100644
index b5a48806d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/buffer.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_BUFFER_HPP
-#define BOOST_COMPUTE_BUFFER_HPP
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/memory_object.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declarations
-class command_queue;
-
-/// \class buffer
-/// \brief A memory buffer on a compute device.
-///
-/// The buffer class represents a memory buffer on a compute device.
-///
-/// Buffers are allocated within a compute context. For example, to allocate
-/// a memory buffer for 32 float's:
-///
-/// \snippet test/test_buffer.cpp constructor
-///
-/// Once created, data can be copied to and from the buffer using the
-/// \c enqueue_*_buffer() methods in the command_queue class. For example, to
-/// copy a set of \c int values from the host to the device:
-/// \code
-/// int data[] = { 1, 2, 3, 4 };
-///
-/// queue.enqueue_write_buffer(buf, 0, 4 * sizeof(int), data);
-/// \endcode
-///
-/// Also see the copy() algorithm for a higher-level interface to copying data
-/// between the host and the device. For a higher-level, dynamically-resizable,
-/// type-safe container for data on a compute device, use the vector<T> class.
-///
-/// Buffer objects have reference semantics. Creating a copy of a buffer
-/// object simply creates another reference to the underlying OpenCL memory
-/// object. To create an actual copy use the buffer::clone() method.
-///
-/// \see context, command_queue
-class buffer : public memory_object
-{
-public:
- /// Creates a null buffer object.
- buffer()
- : memory_object()
- {
- }
-
- /// Creates a buffer object for \p mem. If \p retain is \c true, the
- /// reference count for \p mem will be incremented.
- explicit buffer(cl_mem mem, bool retain = true)
- : memory_object(mem, retain)
- {
- }
-
- /// Create a new memory buffer in of \p size with \p flags in
- /// \p context.
- ///
- /// \see_opencl_ref{clCreateBuffer}
- buffer(const context &context,
- size_t size,
- cl_mem_flags flags = read_write,
- void *host_ptr = 0)
- {
- cl_int error = 0;
- m_mem = clCreateBuffer(context,
- flags,
- (std::max)(size, size_t(1)),
- host_ptr,
- &error);
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new buffer object as a copy of \p other.
- buffer(const buffer &other)
- : memory_object(other)
- {
- }
-
- /// Copies the buffer object from \p other to \c *this.
- buffer& operator=(const buffer &other)
- {
- if(this != &other){
- memory_object::operator=(other);
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new buffer object from \p other.
- buffer(buffer&& other) BOOST_NOEXCEPT
- : memory_object(std::move(other))
- {
- }
-
- /// Move-assigns the buffer from \p other to \c *this.
- buffer& operator=(buffer&& other) BOOST_NOEXCEPT
- {
- memory_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the buffer object.
- ~buffer()
- {
- }
-
- /// Returns the size of the buffer in bytes.
- size_t size() const
- {
- return get_memory_size();
- }
-
- /// \internal_
- size_t max_size() const
- {
- return get_context().get_device().max_memory_alloc_size();
- }
-
- /// Returns information about the buffer.
- ///
- /// \see_opencl_ref{clGetMemObjectInfo}
- template<class T>
- T get_info(cl_mem_info info) const
- {
- return get_memory_info<T>(info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<buffer, Enum>::type
- get_info() const;
-
- /// Creates a new buffer with a copy of the data in \c *this. Uses
- /// \p queue to perform the copy.
- buffer clone(command_queue &queue) const;
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Creates a new buffer out of this buffer.
- /// The new buffer is a sub region of this buffer.
- /// \p flags The mem_flags which should be used to create the new buffer
- /// \p origin The start index in this buffer
- /// \p size The size of the new sub buffer
- ///
- /// \see_opencl_ref{clCreateSubBuffer}
- ///
- /// \opencl_version_warning{1,1}
- buffer create_subbuffer(cl_mem_flags flags, size_t origin,
- size_t size)
- {
- BOOST_ASSERT(origin + size <= this->size());
- BOOST_ASSERT(origin % (get_context().
- get_device().
- get_info<CL_DEVICE_MEM_BASE_ADDR_ALIGN>() / 8) == 0);
- cl_int error = 0;
-
- cl_buffer_region region = { origin, size };
-
- cl_mem mem = clCreateSubBuffer(m_mem,
- flags,
- CL_BUFFER_CREATE_TYPE_REGION,
- &region,
- &error);
-
- if(!mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- return buffer(mem, false);
- }
- #endif // CL_VERSION_1_1
-};
-
-/// \internal_ define get_info() specializations for buffer
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(buffer,
- ((cl_mem_object_type, CL_MEM_TYPE))
- ((cl_mem_flags, CL_MEM_FLAGS))
- ((size_t, CL_MEM_SIZE))
- ((void *, CL_MEM_HOST_PTR))
- ((cl_uint, CL_MEM_MAP_COUNT))
- ((cl_uint, CL_MEM_REFERENCE_COUNT))
- ((cl_context, CL_MEM_CONTEXT))
-)
-
-#ifdef CL_VERSION_1_1
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(buffer,
- ((cl_mem, CL_MEM_ASSOCIATED_MEMOBJECT))
- ((size_t, CL_MEM_OFFSET))
-)
-#endif // CL_VERSION_1_1
-
-namespace detail {
-
-// set_kernel_arg specialization for buffer
-template<>
-struct set_kernel_arg<buffer>
-{
- void operator()(kernel &kernel_, size_t index, const buffer &buffer_)
- {
- kernel_.set_arg(index, buffer_.get());
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_BUFFER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl.hpp
deleted file mode 100644
index c439d8dfd..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CL_HPP
-#define BOOST_COMPUTE_CL_HPP
-
-#if defined(__APPLE__)
-#include <OpenCL/cl.h>
-#else
-#include <CL/cl.h>
-#endif
-
-#endif // BOOST_COMPUTE_CL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl_ext.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl_ext.hpp
deleted file mode 100644
index 0b21a12fd..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/cl_ext.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CL_EXT_HPP
-#define BOOST_COMPUTE_CL_EXT_HPP
-
-#if defined(__APPLE__)
-#include <OpenCL/cl_ext.h>
-#else
-#include <CL/cl_ext.h>
-#endif
-
-#endif // BOOST_COMPUTE_CL_EXT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/closure.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/closure.hpp
deleted file mode 100644
index 6e3cbe702..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/closure.hpp
+++ /dev/null
@@ -1,347 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CLOSURE_HPP
-#define BOOST_COMPUTE_CLOSURE_HPP
-
-#include <string>
-#include <sstream>
-
-#include <boost/config.hpp>
-#include <boost/fusion/adapted/boost_tuple.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/algorithm/string.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/function_traits.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/type_traits/detail/capture_traits.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class ResultType, class ArgTuple, class CaptureTuple>
-class invoked_closure
-{
-public:
- typedef ResultType result_type;
-
- BOOST_STATIC_CONSTANT(
- size_t, arity = boost::tuples::length<ArgTuple>::value
- );
-
- invoked_closure(const std::string &name,
- const std::string &source,
- const std::map<std::string, std::string> &definitions,
- const ArgTuple &args,
- const CaptureTuple &capture)
- : m_name(name),
- m_source(source),
- m_definitions(definitions),
- m_args(args),
- m_capture(capture)
- {
- }
-
- std::string name() const
- {
- return m_name;
- }
-
- std::string source() const
- {
- return m_source;
- }
-
- const std::map<std::string, std::string>& definitions() const
- {
- return m_definitions;
- }
-
- const ArgTuple& args() const
- {
- return m_args;
- }
-
- const CaptureTuple& capture() const
- {
- return m_capture;
- }
-
-private:
- std::string m_name;
- std::string m_source;
- std::map<std::string, std::string> m_definitions;
- ArgTuple m_args;
- CaptureTuple m_capture;
-};
-
-} // end detail namespace
-
-/// \internal_
-template<class Signature, class CaptureTuple>
-class closure
-{
-public:
- typedef typename
- boost::function_traits<Signature>::result_type result_type;
-
- BOOST_STATIC_CONSTANT(
- size_t, arity = boost::function_traits<Signature>::arity
- );
-
- closure(const std::string &name,
- const CaptureTuple &capture,
- const std::string &source)
- : m_name(name),
- m_source(source),
- m_capture(capture)
- {
- }
-
- ~closure()
- {
- }
-
- std::string name() const
- {
- return m_name;
- }
-
- /// \internal_
- std::string source() const
- {
- return m_source;
- }
-
- /// \internal_
- void define(std::string name, std::string value = std::string())
- {
- m_definitions[name] = value;
- }
-
- /// \internal_
- detail::invoked_closure<result_type, boost::tuple<>, CaptureTuple>
- operator()() const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 0,
- "Non-nullary closure function invoked with zero arguments"
- );
-
- return detail::invoked_closure<result_type, boost::tuple<>, CaptureTuple>(
- m_name, m_source, m_definitions, boost::make_tuple(), m_capture
- );
- }
-
- /// \internal_
- template<class Arg1>
- detail::invoked_closure<result_type, boost::tuple<Arg1>, CaptureTuple>
- operator()(const Arg1 &arg1) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 1,
- "Non-unary closure function invoked with one argument"
- );
-
- return detail::invoked_closure<result_type, boost::tuple<Arg1>, CaptureTuple>(
- m_name, m_source, m_definitions, boost::make_tuple(arg1), m_capture
- );
- }
-
- /// \internal_
- template<class Arg1, class Arg2>
- detail::invoked_closure<result_type, boost::tuple<Arg1, Arg2>, CaptureTuple>
- operator()(const Arg1 &arg1, const Arg2 &arg2) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 2,
- "Non-binary closure function invoked with two arguments"
- );
-
- return detail::invoked_closure<result_type, boost::tuple<Arg1, Arg2>, CaptureTuple>(
- m_name, m_source, m_definitions, boost::make_tuple(arg1, arg2), m_capture
- );
- }
-
- /// \internal_
- template<class Arg1, class Arg2, class Arg3>
- detail::invoked_closure<result_type, boost::tuple<Arg1, Arg2, Arg3>, CaptureTuple>
- operator()(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 3,
- "Non-ternary closure function invoked with three arguments"
- );
-
- return detail::invoked_closure<result_type, boost::tuple<Arg1, Arg2, Arg3>, CaptureTuple>(
- m_name, m_source, m_definitions, boost::make_tuple(arg1, arg2, arg3), m_capture
- );
- }
-
-private:
- std::string m_name;
- std::string m_source;
- std::map<std::string, std::string> m_definitions;
- CaptureTuple m_capture;
-};
-
-namespace detail {
-
-struct closure_signature_argument_inserter
-{
- closure_signature_argument_inserter(std::stringstream &s_,
- const char *capture_string,
- size_t last)
- : s(s_)
- {
- n = 0;
- m_last = last;
-
- size_t capture_string_length = std::strlen(capture_string);
- BOOST_ASSERT(capture_string[0] == '(' &&
- capture_string[capture_string_length-1] == ')');
- std::string capture_string_(capture_string + 1, capture_string_length - 2);
- boost::split(m_capture_names, capture_string_ , boost::is_any_of(","));
- }
-
- template<class T>
- void operator()(const T&) const
- {
- BOOST_ASSERT(n < m_capture_names.size());
-
- // get captured variable name
- std::string variable_name = m_capture_names[n];
-
- // remove leading and trailing whitespace from variable name
- boost::trim(variable_name);
-
- s << capture_traits<T>::type_name() << " " << variable_name;
- if(n+1 < m_last){
- s << ", ";
- }
- n++;
- }
-
- mutable size_t n;
- size_t m_last;
- std::vector<std::string> m_capture_names;
- std::stringstream &s;
-};
-
-template<class Signature, class CaptureTuple>
-inline std::string
-make_closure_declaration(const char *name,
- const char *arguments,
- const CaptureTuple &capture_tuple,
- const char *capture_string)
-{
- typedef typename
- boost::function_traits<Signature>::result_type result_type;
- typedef typename
- boost::function_types::parameter_types<Signature>::type parameter_types;
- typedef typename
- mpl::size<parameter_types>::type arity_type;
-
- std::stringstream s;
- s << "inline " << type_name<result_type>() << " " << name;
- s << "(";
-
- // insert function arguments
- signature_argument_inserter i(s, arguments, arity_type::value);
- mpl::for_each<
- typename mpl::transform<parameter_types, boost::add_pointer<mpl::_1>
- >::type>(i);
- s << ", ";
-
- // insert capture arguments
- closure_signature_argument_inserter j(
- s, capture_string, boost::tuples::length<CaptureTuple>::value
- );
- fusion::for_each(capture_tuple, j);
-
- s << ")";
- return s.str();
-}
-
-// used by the BOOST_COMPUTE_CLOSURE() macro to create a closure
-// function with the given signature, name, capture, and source.
-template<class Signature, class CaptureTuple>
-inline closure<Signature, CaptureTuple>
-make_closure_impl(const char *name,
- const char *arguments,
- const CaptureTuple &capture,
- const char *capture_string,
- const std::string &source)
-{
- std::stringstream s;
- s << make_closure_declaration<Signature>(name, arguments, capture, capture_string);
- s << source;
-
- return closure<Signature, CaptureTuple>(name, capture, s.str());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-/// Creates a closure function object with \p name and \p source.
-///
-/// \param return_type The return type for the function.
-/// \param name The name of the function.
-/// \param arguments A list of arguments for the function.
-/// \param capture A list of variables to capture.
-/// \param source The OpenCL C source code for the function.
-///
-/// For example, to create a function which checks if a 2D point is
-/// contained in a circle of a given radius:
-/// \code
-/// // radius variable declared in C++
-/// float radius = 1.5f;
-///
-/// // create a closure function which returns true if the 2D point
-/// // argument is contained within a circle of the given radius
-/// BOOST_COMPUTE_CLOSURE(bool, is_in_circle, (const float2_ p), (radius),
-/// {
-/// return sqrt(p.x*p.x + p.y*p.y) < radius;
-/// });
-///
-/// // vector of 2D points
-/// boost::compute::vector<float2_> points = ...
-///
-/// // count number of points in the circle
-/// size_t count = boost::compute::count_if(
-/// points.begin(), points.end(), is_in_circle, queue
-/// );
-/// \endcode
-///
-/// \see BOOST_COMPUTE_FUNCTION()
-#ifdef BOOST_COMPUTE_DOXYGEN_INVOKED
-#define BOOST_COMPUTE_CLOSURE(return_type, name, arguments, capture, source)
-#else
-#define BOOST_COMPUTE_CLOSURE(return_type, name, arguments, capture, ...) \
- ::boost::compute::closure< \
- return_type arguments, BOOST_TYPEOF(boost::tie capture) \
- > name = \
- ::boost::compute::detail::make_closure_impl< \
- return_type arguments \
- >( \
- #name, #arguments, boost::tie capture, #capture, #__VA_ARGS__ \
- )
-#endif
-
-#endif // BOOST_COMPUTE_CLOSURE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/command_queue.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/command_queue.hpp
deleted file mode 100644
index 2a1328a95..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/command_queue.hpp
+++ /dev/null
@@ -1,1881 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_COMMAND_QUEUE_HPP
-#define BOOST_COMPUTE_COMMAND_QUEUE_HPP
-
-#include <cstddef>
-#include <algorithm>
-
-#include <boost/assert.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/event.hpp>
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/image/image1d.hpp>
-#include <boost/compute/image/image2d.hpp>
-#include <boost/compute/image/image3d.hpp>
-#include <boost/compute/image/image_object.hpp>
-#include <boost/compute/utility/wait_list.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-#include <boost/compute/detail/diagnostic.hpp>
-#include <boost/compute/utility/extents.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-inline void BOOST_COMPUTE_CL_CALLBACK
-nullary_native_kernel_trampoline(void *user_func_ptr)
-{
- void (*user_func)();
- std::memcpy(&user_func, user_func_ptr, sizeof(user_func));
- user_func();
-}
-
-} // end detail namespace
-
-/// \class command_queue
-/// \brief A command queue.
-///
-/// Command queues provide the interface for interacting with compute
-/// devices. The command_queue class provides methods to copy data to
-/// and from a compute device as well as execute compute kernels.
-///
-/// Command queues are created for a compute device within a compute
-/// context.
-///
-/// For example, to create a context and command queue for the default device
-/// on the system (this is the normal set up code used by almost all OpenCL
-/// programs):
-/// \code
-/// #include <boost/compute/core.hpp>
-///
-/// // get the default compute device
-/// boost::compute::device device = boost::compute::system::default_device();
-///
-/// // set up a compute context and command queue
-/// boost::compute::context context(device);
-/// boost::compute::command_queue queue(context, device);
-/// \endcode
-///
-/// The default command queue for the system can be obtained with the
-/// system::default_queue() method.
-///
-/// \see buffer, context, kernel
-class command_queue
-{
-public:
- enum properties {
- enable_profiling = CL_QUEUE_PROFILING_ENABLE,
- enable_out_of_order_execution = CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
- };
-
- enum map_flags {
- map_read = CL_MAP_READ,
- map_write = CL_MAP_WRITE
- #ifdef CL_VERSION_1_2
- ,
- map_write_invalidate_region = CL_MAP_WRITE_INVALIDATE_REGION
- #endif
- };
-
- /// Creates a null command queue.
- command_queue()
- : m_queue(0)
- {
- }
-
- explicit command_queue(cl_command_queue queue, bool retain = true)
- : m_queue(queue)
- {
- if(m_queue && retain){
- clRetainCommandQueue(m_queue);
- }
- }
-
- /// Creates a command queue in \p context for \p device with
- /// \p properties.
- ///
- /// \see_opencl_ref{clCreateCommandQueue}
- command_queue(const context &context,
- const device &device,
- cl_command_queue_properties properties = 0)
- {
- BOOST_ASSERT(device.id() != 0);
-
- cl_int error = 0;
-
- #ifdef CL_VERSION_2_0
- if (device.check_version(2, 0)){
- std::vector<cl_queue_properties> queue_properties;
- if(properties){
- queue_properties.push_back(CL_QUEUE_PROPERTIES);
- queue_properties.push_back(cl_queue_properties(properties));
- queue_properties.push_back(cl_queue_properties(0));
- }
-
- const cl_queue_properties *queue_properties_ptr =
- queue_properties.empty() ? 0 : &queue_properties[0];
-
- m_queue = clCreateCommandQueueWithProperties(
- context, device.id(), queue_properties_ptr, &error
- );
- } else
- #endif
- {
- // Suppress deprecated declarations warning
- BOOST_COMPUTE_DISABLE_DEPRECATED_DECLARATIONS();
- m_queue = clCreateCommandQueue(
- context, device.id(), properties, &error
- );
- BOOST_COMPUTE_ENABLE_DEPRECATED_DECLARATIONS();
- }
-
- if(!m_queue){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new command queue object as a copy of \p other.
- command_queue(const command_queue &other)
- : m_queue(other.m_queue)
- {
- if(m_queue){
- clRetainCommandQueue(m_queue);
- }
- }
-
- /// Copies the command queue object from \p other to \c *this.
- command_queue& operator=(const command_queue &other)
- {
- if(this != &other){
- if(m_queue){
- clReleaseCommandQueue(m_queue);
- }
-
- m_queue = other.m_queue;
-
- if(m_queue){
- clRetainCommandQueue(m_queue);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new command queue object from \p other.
- command_queue(command_queue&& other) BOOST_NOEXCEPT
- : m_queue(other.m_queue)
- {
- other.m_queue = 0;
- }
-
- /// Move-assigns the command queue from \p other to \c *this.
- command_queue& operator=(command_queue&& other) BOOST_NOEXCEPT
- {
- if(m_queue){
- clReleaseCommandQueue(m_queue);
- }
-
- m_queue = other.m_queue;
- other.m_queue = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the command queue.
- ///
- /// \see_opencl_ref{clReleaseCommandQueue}
- ~command_queue()
- {
- if(m_queue){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseCommandQueue(m_queue)
- );
- }
- }
-
- /// Returns the underlying OpenCL command queue.
- cl_command_queue& get() const
- {
- return const_cast<cl_command_queue &>(m_queue);
- }
-
- /// Returns the device that the command queue issues commands to.
- device get_device() const
- {
- return device(get_info<cl_device_id>(CL_QUEUE_DEVICE));
- }
-
- /// Returns the context for the command queue.
- context get_context() const
- {
- return context(get_info<cl_context>(CL_QUEUE_CONTEXT));
- }
-
- /// Returns information about the command queue.
- ///
- /// \see_opencl_ref{clGetCommandQueueInfo}
- template<class T>
- T get_info(cl_command_queue_info info) const
- {
- return detail::get_object_info<T>(clGetCommandQueueInfo, m_queue, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<command_queue, Enum>::type
- get_info() const;
-
- /// Returns the properties for the command queue.
- cl_command_queue_properties get_properties() const
- {
- return get_info<cl_command_queue_properties>(CL_QUEUE_PROPERTIES);
- }
-
- /// Enqueues a command to read data from \p buffer to host memory.
- ///
- /// \see_opencl_ref{clEnqueueReadBuffer}
- ///
- /// \see copy()
- event enqueue_read_buffer(const buffer &buffer,
- size_t offset,
- size_t size,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueReadBuffer(
- m_queue,
- buffer.get(),
- CL_TRUE,
- offset,
- size,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to read data from \p buffer to host memory. The
- /// copy will be performed asynchronously.
- ///
- /// \see_opencl_ref{clEnqueueReadBuffer}
- ///
- /// \see copy_async()
- event enqueue_read_buffer_async(const buffer &buffer,
- size_t offset,
- size_t size,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueReadBuffer(
- m_queue,
- buffer.get(),
- CL_FALSE,
- offset,
- size,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to read a rectangular region from \p buffer to
- /// host memory.
- ///
- /// \see_opencl_ref{clEnqueueReadBufferRect}
- ///
- /// \opencl_version_warning{1,1}
- event enqueue_read_buffer_rect(const buffer &buffer,
- const size_t buffer_origin[3],
- const size_t host_origin[3],
- const size_t region[3],
- size_t buffer_row_pitch,
- size_t buffer_slice_pitch,
- size_t host_row_pitch,
- size_t host_slice_pitch,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueReadBufferRect(
- m_queue,
- buffer.get(),
- CL_TRUE,
- buffer_origin,
- host_origin,
- region,
- buffer_row_pitch,
- buffer_slice_pitch,
- host_row_pitch,
- host_slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to read a rectangular region from \p buffer to
- /// host memory. The copy will be performed asynchronously.
- ///
- /// \see_opencl_ref{clEnqueueReadBufferRect}
- ///
- /// \opencl_version_warning{1,1}
- event enqueue_read_buffer_rect_async(const buffer &buffer,
- const size_t buffer_origin[3],
- const size_t host_origin[3],
- const size_t region[3],
- size_t buffer_row_pitch,
- size_t buffer_slice_pitch,
- size_t host_row_pitch,
- size_t host_slice_pitch,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueReadBufferRect(
- m_queue,
- buffer.get(),
- CL_FALSE,
- buffer_origin,
- host_origin,
- region,
- buffer_row_pitch,
- buffer_slice_pitch,
- host_row_pitch,
- host_slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_1
-
- /// Enqueues a command to write data from host memory to \p buffer.
- ///
- /// \see_opencl_ref{clEnqueueWriteBuffer}
- ///
- /// \see copy()
- event enqueue_write_buffer(const buffer &buffer,
- size_t offset,
- size_t size,
- const void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueWriteBuffer(
- m_queue,
- buffer.get(),
- CL_TRUE,
- offset,
- size,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to write data from host memory to \p buffer.
- /// The copy is performed asynchronously.
- ///
- /// \see_opencl_ref{clEnqueueWriteBuffer}
- ///
- /// \see copy_async()
- event enqueue_write_buffer_async(const buffer &buffer,
- size_t offset,
- size_t size,
- const void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueWriteBuffer(
- m_queue,
- buffer.get(),
- CL_FALSE,
- offset,
- size,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to write a rectangular region from host memory
- /// to \p buffer.
- ///
- /// \see_opencl_ref{clEnqueueWriteBufferRect}
- ///
- /// \opencl_version_warning{1,1}
- event enqueue_write_buffer_rect(const buffer &buffer,
- const size_t buffer_origin[3],
- const size_t host_origin[3],
- const size_t region[3],
- size_t buffer_row_pitch,
- size_t buffer_slice_pitch,
- size_t host_row_pitch,
- size_t host_slice_pitch,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueWriteBufferRect(
- m_queue,
- buffer.get(),
- CL_TRUE,
- buffer_origin,
- host_origin,
- region,
- buffer_row_pitch,
- buffer_slice_pitch,
- host_row_pitch,
- host_slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to write a rectangular region from host memory
- /// to \p buffer. The copy is performed asynchronously.
- ///
- /// \see_opencl_ref{clEnqueueWriteBufferRect}
- ///
- /// \opencl_version_warning{1,1}
- event enqueue_write_buffer_rect_async(const buffer &buffer,
- const size_t buffer_origin[3],
- const size_t host_origin[3],
- const size_t region[3],
- size_t buffer_row_pitch,
- size_t buffer_slice_pitch,
- size_t host_row_pitch,
- size_t host_slice_pitch,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(buffer.get_context() == this->get_context());
- BOOST_ASSERT(host_ptr != 0);
-
- event event_;
-
- cl_int ret = clEnqueueWriteBufferRect(
- m_queue,
- buffer.get(),
- CL_FALSE,
- buffer_origin,
- host_origin,
- region,
- buffer_row_pitch,
- buffer_slice_pitch,
- host_row_pitch,
- host_slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_1
-
- /// Enqueues a command to copy data from \p src_buffer to
- /// \p dst_buffer.
- ///
- /// \see_opencl_ref{clEnqueueCopyBuffer}
- ///
- /// \see copy()
- event enqueue_copy_buffer(const buffer &src_buffer,
- const buffer &dst_buffer,
- size_t src_offset,
- size_t dst_offset,
- size_t size,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(src_offset + size <= src_buffer.size());
- BOOST_ASSERT(dst_offset + size <= dst_buffer.size());
- BOOST_ASSERT(src_buffer.get_context() == this->get_context());
- BOOST_ASSERT(dst_buffer.get_context() == this->get_context());
-
- event event_;
-
- cl_int ret = clEnqueueCopyBuffer(
- m_queue,
- src_buffer.get(),
- dst_buffer.get(),
- src_offset,
- dst_offset,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to copy a rectangular region from
- /// \p src_buffer to \p dst_buffer.
- ///
- /// \see_opencl_ref{clEnqueueCopyBufferRect}
- ///
- /// \opencl_version_warning{1,1}
- event enqueue_copy_buffer_rect(const buffer &src_buffer,
- const buffer &dst_buffer,
- const size_t src_origin[3],
- const size_t dst_origin[3],
- const size_t region[3],
- size_t buffer_row_pitch,
- size_t buffer_slice_pitch,
- size_t host_row_pitch,
- size_t host_slice_pitch,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(src_buffer.get_context() == this->get_context());
- BOOST_ASSERT(dst_buffer.get_context() == this->get_context());
-
- event event_;
-
- cl_int ret = clEnqueueCopyBufferRect(
- m_queue,
- src_buffer.get(),
- dst_buffer.get(),
- src_origin,
- dst_origin,
- region,
- buffer_row_pitch,
- buffer_slice_pitch,
- host_row_pitch,
- host_slice_pitch,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_1
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to fill \p buffer with \p pattern.
- ///
- /// \see_opencl_ref{clEnqueueFillBuffer}
- ///
- /// \opencl_version_warning{1,2}
- ///
- /// \see fill()
- event enqueue_fill_buffer(const buffer &buffer,
- const void *pattern,
- size_t pattern_size,
- size_t offset,
- size_t size,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(offset + size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
-
- event event_;
-
- cl_int ret = clEnqueueFillBuffer(
- m_queue,
- buffer.get(),
- pattern,
- pattern_size,
- offset,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_2
-
- /// Enqueues a command to map \p buffer into the host address space.
- /// Event associated with map operation is returned through
- /// \p map_buffer_event parameter.
- ///
- /// \see_opencl_ref{clEnqueueMapBuffer}
- void* enqueue_map_buffer(const buffer &buffer,
- cl_map_flags flags,
- size_t offset,
- size_t size,
- event &map_buffer_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(offset + size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
-
- cl_int ret = 0;
- void *pointer = clEnqueueMapBuffer(
- m_queue,
- buffer.get(),
- CL_TRUE,
- flags,
- offset,
- size,
- events.size(),
- events.get_event_ptr(),
- &map_buffer_event.get(),
- &ret
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return pointer;
- }
-
- /// \overload
- void* enqueue_map_buffer(const buffer &buffer,
- cl_map_flags flags,
- size_t offset,
- size_t size,
- const wait_list &events = wait_list())
- {
- event event_;
- return enqueue_map_buffer(buffer, flags, offset, size, event_, events);
- }
-
- /// Enqueues a command to map \p buffer into the host address space.
- /// Map operation is performed asynchronously. The pointer to the mapped
- /// region cannot be used until the map operation has completed.
- ///
- /// Event associated with map operation is returned through
- /// \p map_buffer_event parameter.
- ///
- /// \see_opencl_ref{clEnqueueMapBuffer}
- void* enqueue_map_buffer_async(const buffer &buffer,
- cl_map_flags flags,
- size_t offset,
- size_t size,
- event &map_buffer_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(offset + size <= buffer.size());
- BOOST_ASSERT(buffer.get_context() == this->get_context());
-
- cl_int ret = 0;
- void *pointer = clEnqueueMapBuffer(
- m_queue,
- buffer.get(),
- CL_FALSE,
- flags,
- offset,
- size,
- events.size(),
- events.get_event_ptr(),
- &map_buffer_event.get(),
- &ret
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return pointer;
- }
-
- /// Enqueues a command to unmap \p buffer from the host memory space.
- ///
- /// \see_opencl_ref{clEnqueueUnmapMemObject}
- event enqueue_unmap_buffer(const buffer &buffer,
- void *mapped_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(buffer.get_context() == this->get_context());
-
- return enqueue_unmap_mem_object(buffer.get(), mapped_ptr, events);
- }
-
- /// Enqueues a command to unmap \p mem from the host memory space.
- ///
- /// \see_opencl_ref{clEnqueueUnmapMemObject}
- event enqueue_unmap_mem_object(cl_mem mem,
- void *mapped_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueUnmapMemObject(
- m_queue,
- mem,
- mapped_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to read data from \p image to host memory.
- ///
- /// \see_opencl_ref{clEnqueueReadImage}
- event enqueue_read_image(const image_object& image,
- const size_t *origin,
- const size_t *region,
- size_t row_pitch,
- size_t slice_pitch,
- void *host_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueReadImage(
- m_queue,
- image.get(),
- CL_TRUE,
- origin,
- region,
- row_pitch,
- slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// \overload
- template<size_t N>
- event enqueue_read_image(const image_object& image,
- const extents<N> origin,
- const extents<N> region,
- void *host_ptr,
- size_t row_pitch = 0,
- size_t slice_pitch = 0,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- size_t origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(origin.data(), origin.data() + N, origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_read_image(
- image, origin3, region3, row_pitch, slice_pitch, host_ptr, events
- );
- }
-
- /// Enqueues a command to write data from host memory to \p image.
- ///
- /// \see_opencl_ref{clEnqueueWriteImage}
- event enqueue_write_image(image_object& image,
- const size_t *origin,
- const size_t *region,
- const void *host_ptr,
- size_t input_row_pitch = 0,
- size_t input_slice_pitch = 0,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueWriteImage(
- m_queue,
- image.get(),
- CL_TRUE,
- origin,
- region,
- input_row_pitch,
- input_slice_pitch,
- host_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// \overload
- template<size_t N>
- event enqueue_write_image(image_object& image,
- const extents<N> origin,
- const extents<N> region,
- const void *host_ptr,
- const size_t input_row_pitch = 0,
- const size_t input_slice_pitch = 0,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- size_t origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(origin.data(), origin.data() + N, origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_write_image(
- image, origin3, region3, host_ptr, input_row_pitch, input_slice_pitch, events
- );
- }
-
- /// Enqueues a command to map \p image into the host address space.
- ///
- /// Event associated with map operation is returned through
- /// \p map_image_event parameter.
- ///
- /// \see_opencl_ref{clEnqueueMapImage}
- void* enqueue_map_image(const image_object &image,
- cl_map_flags flags,
- const size_t *origin,
- const size_t *region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- event &map_image_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- cl_int ret = 0;
- void *pointer = clEnqueueMapImage(
- m_queue,
- image.get(),
- CL_TRUE,
- flags,
- origin,
- region,
- &output_row_pitch,
- &output_slice_pitch,
- events.size(),
- events.get_event_ptr(),
- &map_image_event.get(),
- &ret
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return pointer;
- }
-
- /// \overload
- void* enqueue_map_image(const image_object &image,
- cl_map_flags flags,
- const size_t *origin,
- const size_t *region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- const wait_list &events = wait_list())
- {
- event event_;
- return enqueue_map_image(
- image, flags, origin, region,
- output_row_pitch, output_slice_pitch, event_, events
- );
- }
-
- /// \overload
- template<size_t N>
- void* enqueue_map_image(image_object& image,
- cl_map_flags flags,
- const extents<N> origin,
- const extents<N> region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- event &map_image_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- size_t origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(origin.data(), origin.data() + N, origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_map_image(
- image, flags, origin3, region3,
- output_row_pitch, output_slice_pitch, map_image_event, events
- );
- }
-
- /// \overload
- template<size_t N>
- void* enqueue_map_image(image_object& image,
- cl_map_flags flags,
- const extents<N> origin,
- const extents<N> region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- const wait_list &events = wait_list())
- {
- event event_;
- return enqueue_map_image(
- image, flags, origin, region,
- output_row_pitch, output_slice_pitch, event_, events
- );
- }
-
- /// Enqueues a command to map \p image into the host address space.
- /// Map operation is performed asynchronously. The pointer to the mapped
- /// region cannot be used until the map operation has completed.
- ///
- /// Event associated with map operation is returned through
- /// \p map_image_event parameter.
- ///
- /// \see_opencl_ref{clEnqueueMapImage}
- void* enqueue_map_image_async(const image_object &image,
- cl_map_flags flags,
- const size_t *origin,
- const size_t *region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- event &map_image_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- cl_int ret = 0;
- void *pointer = clEnqueueMapImage(
- m_queue,
- image.get(),
- CL_FALSE,
- flags,
- origin,
- region,
- &output_row_pitch,
- &output_slice_pitch,
- events.size(),
- events.get_event_ptr(),
- &map_image_event.get(),
- &ret
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return pointer;
- }
-
- /// \overload
- template<size_t N>
- void* enqueue_map_image_async(image_object& image,
- cl_map_flags flags,
- const extents<N> origin,
- const extents<N> region,
- size_t &output_row_pitch,
- size_t &output_slice_pitch,
- event &map_image_event,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- size_t origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(origin.data(), origin.data() + N, origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_map_image_async(
- image, flags, origin3, region3,
- output_row_pitch, output_slice_pitch, map_image_event, events
- );
- }
-
- /// Enqueues a command to unmap \p image from the host memory space.
- ///
- /// \see_opencl_ref{clEnqueueUnmapMemObject}
- event enqueue_unmap_image(const image_object &image,
- void *mapped_ptr,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- return enqueue_unmap_mem_object(image.get(), mapped_ptr, events);
- }
-
- /// Enqueues a command to copy data from \p src_image to \p dst_image.
- ///
- /// \see_opencl_ref{clEnqueueCopyImage}
- event enqueue_copy_image(const image_object& src_image,
- image_object& dst_image,
- const size_t *src_origin,
- const size_t *dst_origin,
- const size_t *region,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueCopyImage(
- m_queue,
- src_image.get(),
- dst_image.get(),
- src_origin,
- dst_origin,
- region,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// \overload
- template<size_t N>
- event enqueue_copy_image(const image_object& src_image,
- image_object& dst_image,
- const extents<N> src_origin,
- const extents<N> dst_origin,
- const extents<N> region,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(src_image.get_context() == this->get_context());
- BOOST_ASSERT(dst_image.get_context() == this->get_context());
- BOOST_ASSERT_MSG(src_image.format() == dst_image.format(),
- "Source and destination image formats must match.");
-
- size_t src_origin3[3] = { 0, 0, 0 };
- size_t dst_origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(src_origin.data(), src_origin.data() + N, src_origin3);
- std::copy(dst_origin.data(), dst_origin.data() + N, dst_origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_copy_image(
- src_image, dst_image, src_origin3, dst_origin3, region3, events
- );
- }
-
- /// Enqueues a command to copy data from \p src_image to \p dst_buffer.
- ///
- /// \see_opencl_ref{clEnqueueCopyImageToBuffer}
- event enqueue_copy_image_to_buffer(const image_object& src_image,
- memory_object& dst_buffer,
- const size_t *src_origin,
- const size_t *region,
- size_t dst_offset,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueCopyImageToBuffer(
- m_queue,
- src_image.get(),
- dst_buffer.get(),
- src_origin,
- region,
- dst_offset,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to copy data from \p src_buffer to \p dst_image.
- ///
- /// \see_opencl_ref{clEnqueueCopyBufferToImage}
- event enqueue_copy_buffer_to_image(const memory_object& src_buffer,
- image_object& dst_image,
- size_t src_offset,
- const size_t *dst_origin,
- const size_t *region,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueCopyBufferToImage(
- m_queue,
- src_buffer.get(),
- dst_image.get(),
- src_offset,
- dst_origin,
- region,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to fill \p image with \p fill_color.
- ///
- /// \see_opencl_ref{clEnqueueFillImage}
- ///
- /// \opencl_version_warning{1,2}
- event enqueue_fill_image(image_object& image,
- const void *fill_color,
- const size_t *origin,
- const size_t *region,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueFillImage(
- m_queue,
- image.get(),
- fill_color,
- origin,
- region,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// \overload
- template<size_t N>
- event enqueue_fill_image(image_object& image,
- const void *fill_color,
- const extents<N> origin,
- const extents<N> region,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(image.get_context() == this->get_context());
-
- size_t origin3[3] = { 0, 0, 0 };
- size_t region3[3] = { 1, 1, 1 };
-
- std::copy(origin.data(), origin.data() + N, origin3);
- std::copy(region.data(), region.data() + N, region3);
-
- return enqueue_fill_image(
- image, fill_color, origin3, region3, events
- );
- }
-
- /// Enqueues a command to migrate \p mem_objects.
- ///
- /// \see_opencl_ref{clEnqueueMigrateMemObjects}
- ///
- /// \opencl_version_warning{1,2}
- event enqueue_migrate_memory_objects(uint_ num_mem_objects,
- const cl_mem *mem_objects,
- cl_mem_migration_flags flags,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
-
- cl_int ret = clEnqueueMigrateMemObjects(
- m_queue,
- num_mem_objects,
- mem_objects,
- flags,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_2
-
- /// Enqueues a kernel for execution.
- ///
- /// \see_opencl_ref{clEnqueueNDRangeKernel}
- event enqueue_nd_range_kernel(const kernel &kernel,
- size_t work_dim,
- const size_t *global_work_offset,
- const size_t *global_work_size,
- const size_t *local_work_size,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(kernel.get_context() == this->get_context());
-
- event event_;
-
- cl_int ret = clEnqueueNDRangeKernel(
- m_queue,
- kernel,
- static_cast<cl_uint>(work_dim),
- global_work_offset,
- global_work_size,
- local_work_size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// \overload
- template<size_t N>
- event enqueue_nd_range_kernel(const kernel &kernel,
- const extents<N> &global_work_offset,
- const extents<N> &global_work_size,
- const extents<N> &local_work_size,
- const wait_list &events = wait_list())
- {
- return enqueue_nd_range_kernel(
- kernel,
- N,
- global_work_offset.data(),
- global_work_size.data(),
- local_work_size.data(),
- events
- );
- }
-
- /// Convenience method which calls enqueue_nd_range_kernel() with a
- /// one-dimensional range.
- event enqueue_1d_range_kernel(const kernel &kernel,
- size_t global_work_offset,
- size_t global_work_size,
- size_t local_work_size,
- const wait_list &events = wait_list())
- {
- return enqueue_nd_range_kernel(
- kernel,
- 1,
- &global_work_offset,
- &global_work_size,
- local_work_size ? &local_work_size : 0,
- events
- );
- }
-
- /// Enqueues a kernel to execute using a single work-item.
- ///
- /// \see_opencl_ref{clEnqueueTask}
- event enqueue_task(const kernel &kernel, const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
- BOOST_ASSERT(kernel.get_context() == this->get_context());
-
- event event_;
-
- // clEnqueueTask() was deprecated in OpenCL 2.0. In that case we
- // just forward to the equivalent clEnqueueNDRangeKernel() call.
- #ifdef CL_VERSION_2_0
- size_t one = 1;
- cl_int ret = clEnqueueNDRangeKernel(
- m_queue, kernel, 1, 0, &one, &one,
- events.size(), events.get_event_ptr(), &event_.get()
- );
- #else
- cl_int ret = clEnqueueTask(
- m_queue, kernel, events.size(), events.get_event_ptr(), &event_.get()
- );
- #endif
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a function to execute on the host.
- event enqueue_native_kernel(void (BOOST_COMPUTE_CL_CALLBACK *user_func)(void *),
- void *args,
- size_t cb_args,
- uint_ num_mem_objects,
- const cl_mem *mem_list,
- const void **args_mem_loc,
- const wait_list &events = wait_list())
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
- cl_int ret = clEnqueueNativeKernel(
- m_queue,
- user_func,
- args,
- cb_args,
- num_mem_objects,
- mem_list,
- args_mem_loc,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Convenience overload for enqueue_native_kernel() which enqueues a
- /// native kernel on the host with a nullary function.
- event enqueue_native_kernel(void (BOOST_COMPUTE_CL_CALLBACK *user_func)(void),
- const wait_list &events = wait_list())
- {
- return enqueue_native_kernel(
- detail::nullary_native_kernel_trampoline,
- reinterpret_cast<void *>(&user_func),
- sizeof(user_func),
- 0,
- 0,
- 0,
- events
- );
- }
-
- /// Flushes the command queue.
- ///
- /// \see_opencl_ref{clFlush}
- void flush()
- {
- BOOST_ASSERT(m_queue != 0);
-
- clFlush(m_queue);
- }
-
- /// Blocks until all outstanding commands in the queue have finished.
- ///
- /// \see_opencl_ref{clFinish}
- void finish()
- {
- BOOST_ASSERT(m_queue != 0);
-
- clFinish(m_queue);
- }
-
- /// Enqueues a barrier in the queue.
- void enqueue_barrier()
- {
- BOOST_ASSERT(m_queue != 0);
- cl_int ret = CL_SUCCESS;
-
- #ifdef CL_VERSION_1_2
- if(get_device().check_version(1, 2)){
- ret = clEnqueueBarrierWithWaitList(m_queue, 0, 0, 0);
- } else
- #endif // CL_VERSION_1_2
- {
- // Suppress deprecated declarations warning
- BOOST_COMPUTE_DISABLE_DEPRECATED_DECLARATIONS();
- ret = clEnqueueBarrier(m_queue);
- BOOST_COMPUTE_ENABLE_DEPRECATED_DECLARATIONS();
- }
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a barrier in the queue after \p events.
- ///
- /// \opencl_version_warning{1,2}
- event enqueue_barrier(const wait_list &events)
- {
- BOOST_ASSERT(m_queue != 0);
-
- event event_;
- cl_int ret = CL_SUCCESS;
-
- ret = clEnqueueBarrierWithWaitList(
- m_queue, events.size(), events.get_event_ptr(), &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_2
-
- /// Enqueues a marker in the queue and returns an event that can be
- /// used to track its progress.
- event enqueue_marker()
- {
- event event_;
- cl_int ret = CL_SUCCESS;
-
- #ifdef CL_VERSION_1_2
- if(get_device().check_version(1, 2)){
- ret = clEnqueueMarkerWithWaitList(m_queue, 0, 0, &event_.get());
- } else
- #endif
- {
- // Suppress deprecated declarations warning
- BOOST_COMPUTE_DISABLE_DEPRECATED_DECLARATIONS();
- ret = clEnqueueMarker(m_queue, &event_.get());
- BOOST_COMPUTE_ENABLE_DEPRECATED_DECLARATIONS();
- }
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a marker after \p events in the queue and returns an
- /// event that can be used to track its progress.
- ///
- /// \opencl_version_warning{1,2}
- event enqueue_marker(const wait_list &events)
- {
- event event_;
-
- cl_int ret = clEnqueueMarkerWithWaitList(
- m_queue, events.size(), events.get_event_ptr(), &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_1_2
-
- #if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Enqueues a command to copy \p size bytes of data from \p src_ptr to
- /// \p dst_ptr.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMMemcpy}
- event enqueue_svm_memcpy(void *dst_ptr,
- const void *src_ptr,
- size_t size,
- const wait_list &events = wait_list())
- {
- event event_;
-
- cl_int ret = clEnqueueSVMMemcpy(
- m_queue,
- CL_TRUE,
- dst_ptr,
- src_ptr,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to copy \p size bytes of data from \p src_ptr to
- /// \p dst_ptr. The operation is performed asynchronously.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMMemcpy}
- event enqueue_svm_memcpy_async(void *dst_ptr,
- const void *src_ptr,
- size_t size,
- const wait_list &events = wait_list())
- {
- event event_;
-
- cl_int ret = clEnqueueSVMMemcpy(
- m_queue,
- CL_FALSE,
- dst_ptr,
- src_ptr,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to fill \p size bytes of data at \p svm_ptr with
- /// \p pattern.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMMemFill}
- event enqueue_svm_fill(void *svm_ptr,
- const void *pattern,
- size_t pattern_size,
- size_t size,
- const wait_list &events = wait_list())
-
- {
- event event_;
-
- cl_int ret = clEnqueueSVMMemFill(
- m_queue,
- svm_ptr,
- pattern,
- pattern_size,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to free \p svm_ptr.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMFree}
- ///
- /// \see svm_free()
- event enqueue_svm_free(void *svm_ptr,
- const wait_list &events = wait_list())
- {
- event event_;
-
- cl_int ret = clEnqueueSVMFree(
- m_queue,
- 1,
- &svm_ptr,
- 0,
- 0,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to map \p svm_ptr to the host memory space.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMMap}
- event enqueue_svm_map(void *svm_ptr,
- size_t size,
- cl_map_flags flags,
- const wait_list &events = wait_list())
- {
- event event_;
-
- cl_int ret = clEnqueueSVMMap(
- m_queue,
- CL_TRUE,
- flags,
- svm_ptr,
- size,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
-
- /// Enqueues a command to unmap \p svm_ptr from the host memory space.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clEnqueueSVMUnmap}
- event enqueue_svm_unmap(void *svm_ptr,
- const wait_list &events = wait_list())
- {
- event event_;
-
- cl_int ret = clEnqueueSVMUnmap(
- m_queue,
- svm_ptr,
- events.size(),
- events.get_event_ptr(),
- &event_.get()
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return event_;
- }
- #endif // CL_VERSION_2_0
-
- /// Returns \c true if the command queue is the same at \p other.
- bool operator==(const command_queue &other) const
- {
- return m_queue == other.m_queue;
- }
-
- /// Returns \c true if the command queue is different from \p other.
- bool operator!=(const command_queue &other) const
- {
- return m_queue != other.m_queue;
- }
-
- /// \internal_
- operator cl_command_queue() const
- {
- return m_queue;
- }
-
- /// \internal_
- bool check_device_version(int major, int minor) const
- {
- return get_device().check_version(major, minor);
- }
-
-private:
- cl_command_queue m_queue;
-};
-
-inline buffer buffer::clone(command_queue &queue) const
-{
- buffer copy(get_context(), size(), get_memory_flags());
- queue.enqueue_copy_buffer(*this, copy, 0, 0, size());
- return copy;
-}
-
-inline image1d image1d::clone(command_queue &queue) const
-{
- image1d copy(
- get_context(), width(), format(), get_memory_flags()
- );
-
- queue.enqueue_copy_image(*this, copy, origin(), copy.origin(), size());
-
- return copy;
-}
-
-inline image2d image2d::clone(command_queue &queue) const
-{
- image2d copy(
- get_context(), width(), height(), format(), get_memory_flags()
- );
-
- queue.enqueue_copy_image(*this, copy, origin(), copy.origin(), size());
-
- return copy;
-}
-
-inline image3d image3d::clone(command_queue &queue) const
-{
- image3d copy(
- get_context(), width(), height(), depth(), format(), get_memory_flags()
- );
-
- queue.enqueue_copy_image(*this, copy, origin(), copy.origin(), size());
-
- return copy;
-}
-
-/// \internal_ define get_info() specializations for command_queue
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(command_queue,
- ((cl_context, CL_QUEUE_CONTEXT))
- ((cl_device_id, CL_QUEUE_DEVICE))
- ((uint_, CL_QUEUE_REFERENCE_COUNT))
- ((cl_command_queue_properties, CL_QUEUE_PROPERTIES))
-)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_COMMAND_QUEUE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/config.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/config.hpp
deleted file mode 100644
index e501ed28c..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/config.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONFIG_HPP
-#define BOOST_COMPUTE_CONFIG_HPP
-
-#include <boost/config.hpp>
-#include <boost/version.hpp>
-#include <boost/compute/cl.hpp>
-
-// check for minimum required boost version
-#if BOOST_VERSION < 105400
-#error Boost.Compute requires Boost version 1.54 or later
-#endif
-
-// the BOOST_COMPUTE_NO_VARIADIC_TEMPLATES macro is defined
-// if the compiler does not *fully* support variadic templates
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
- (defined(__GNUC__) && !defined(__clang__) && \
- __GNUC__ == 4 && __GNUC_MINOR__ <= 6)
- #define BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-#endif // BOOST_NO_CXX11_VARIADIC_TEMPLATES
-
-// the BOOST_COMPUTE_NO_STD_TUPLE macro is defined if the
-// compiler/stdlib does not support std::tuple
-#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
- defined(BOOST_COMPUTE_NO_VARIADIC_TEMPLATES)
- #define BOOST_COMPUTE_NO_STD_TUPLE
-#endif // BOOST_NO_CXX11_HDR_TUPLE
-
-// defines BOOST_COMPUTE_CL_CALLBACK to the value of CL_CALLBACK
-// if it is defined (it was added in OpenCL 1.1). this is used to
-// annotate certain callback functions registered with OpenCL
-#ifdef CL_CALLBACK
-# define BOOST_COMPUTE_CL_CALLBACK CL_CALLBACK
-#else
-# define BOOST_COMPUTE_CL_CALLBACK
-#endif
-
-// Maximum number of iterators acceptable for make_zip_iterator
-#ifndef BOOST_COMPUTE_MAX_ARITY
- // should be no more than max boost::tuple size (10 by default)
-# define BOOST_COMPUTE_MAX_ARITY 10
-#endif
-
-#if !defined(BOOST_COMPUTE_DOXYGEN_INVOKED) && \
- defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-# define BOOST_COMPUTE_NO_RVALUE_REFERENCES
-#endif // BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-# define BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-#endif // BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-
-#if defined(BOOST_NO_CXX11_HDR_CHRONO)
-# define BOOST_COMPUTE_NO_HDR_CHRONO
-#endif // BOOST_NO_CXX11_HDR_CHRONO
-
-#endif // BOOST_COMPUTE_CONFIG_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container.hpp
deleted file mode 100644
index fc14f5fde..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_HPP
-#define BOOST_COMPUTE_CONTAINER_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute container headers.
-
-#include <boost/compute/container/array.hpp>
-#include <boost/compute/container/basic_string.hpp>
-#include <boost/compute/container/dynamic_bitset.hpp>
-#include <boost/compute/container/flat_map.hpp>
-#include <boost/compute/container/flat_set.hpp>
-#include <boost/compute/container/mapped_view.hpp>
-#include <boost/compute/container/string.hpp>
-#include <boost/compute/container/vector.hpp>
-
-#endif // BOOST_COMPUTE_CONTAINER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/array.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/array.hpp
deleted file mode 100644
index 2b504be4a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/array.hpp
+++ /dev/null
@@ -1,317 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_ARRAY_HPP
-#define BOOST_COMPUTE_CONTAINER_ARRAY_HPP
-
-#include <cstddef>
-#include <iterator>
-#include <exception>
-
-#include <boost/array.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/algorithm/fill.hpp>
-#include <boost/compute/algorithm/swap_ranges.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/detail/capture_traits.hpp>
-#include <boost/compute/detail/buffer_value.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class array
-/// \brief A fixed-size container.
-///
-/// The array container is very similar to the \ref vector container except
-/// its size is fixed at compile-time rather than being dynamically resizable
-/// at run-time.
-///
-/// For example, to create a fixed-size array with eight values on the device:
-/// \code
-/// boost::compute::array<int, 8> values(context);
-/// \endcode
-///
-/// The Boost.Compute \c array class provides a STL-like API and is modeled
-/// after the \c std::array class from the C++ standard library.
-///
-/// \see \ref vector "vector<T>"
-template<class T, std::size_t N>
-class array
-{
-public:
- typedef T value_type;
- typedef std::size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef detail::buffer_value<T> reference;
- typedef const detail::buffer_value<T> const_reference;
- typedef T* pointer;
- typedef const T* const_pointer;
- typedef buffer_iterator<T> iterator;
- typedef buffer_iterator<T> const_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- enum {
- static_size = N
- };
-
- explicit array(const context &context = system::default_context())
- : m_buffer(context, sizeof(T) * N)
- {
- }
-
- array(const array<T, N> &other)
- : m_buffer(other.m_buffer.get_context(), sizeof(T) * N)
- {
- command_queue queue = default_queue();
- boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
- }
-
- array(const boost::array<T, N> &array,
- const context &context = system::default_context())
- : m_buffer(context, sizeof(T) * N)
- {
- command_queue queue = default_queue();
- boost::compute::copy(array.begin(), array.end(), begin(), queue);
- queue.finish();
- }
-
- array(const array<T, N> &other,
- const command_queue &queue)
- : m_buffer(other.m_buffer.get_context(), sizeof(T) * N)
- {
- boost::compute::copy(other.begin(), other.end(), begin(), queue);
- }
-
- array<T, N>& operator=(const array<T, N> &other)
- {
- if(this != &other){
- command_queue queue = default_queue();
- boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
- }
-
- return *this;
- }
-
- array<T, N>& operator=(const boost::array<T, N> &array)
- {
- command_queue queue = default_queue();
- boost::compute::copy(array.begin(), array.end(), begin(), queue);
- queue.finish();
-
- return *this;
- }
-
- ~array()
- {
- }
-
- iterator begin()
- {
- return buffer_iterator<T>(m_buffer, 0);
- }
-
- const_iterator begin() const
- {
- return buffer_iterator<T>(m_buffer, 0);
- }
-
- const_iterator cbegin() const
- {
- return begin();
- }
-
- iterator end()
- {
- return buffer_iterator<T>(m_buffer, N);
- }
-
- const_iterator end() const
- {
- return buffer_iterator<T>(m_buffer, N);
- }
-
- const_iterator cend() const
- {
- return end();
- }
-
- reverse_iterator rbegin()
- {
- return reverse_iterator(end() - 1);
- }
-
- const_reverse_iterator rbegin() const
- {
- return reverse_iterator(end() - 1);
- }
-
- const_reverse_iterator crbegin() const
- {
- return rbegin();
- }
-
- reverse_iterator rend()
- {
- return reverse_iterator(begin() - 1);
- }
-
- const_reverse_iterator rend() const
- {
- return reverse_iterator(begin() - 1);
- }
-
- const_reverse_iterator crend() const
- {
- return rend();
- }
-
- size_type size() const
- {
- return N;
- }
-
- bool empty() const
- {
- return N == 0;
- }
-
- size_type max_size() const
- {
- return N;
- }
-
- reference operator[](size_type index)
- {
- return *(begin() + static_cast<difference_type>(index));
- }
-
- const_reference operator[](size_type index) const
- {
- return *(begin() + static_cast<difference_type>(index));
- }
-
- reference at(size_type index)
- {
- if(index >= N){
- BOOST_THROW_EXCEPTION(std::out_of_range("index out of range"));
- }
-
- return operator[](index);
- }
-
- const_reference at(size_type index) const
- {
- if(index >= N){
- BOOST_THROW_EXCEPTION(std::out_of_range("index out of range"));
- }
-
- return operator[](index);
- }
-
- reference front()
- {
- return *begin();
- }
-
- const_reference front() const
- {
- return *begin();
- }
-
- reference back()
- {
- return *(end() - static_cast<difference_type>(1));
- }
-
- const_reference back() const
- {
- return *(end() - static_cast<difference_type>(1));
- }
-
- void fill(const value_type &value, const command_queue &queue)
- {
- ::boost::compute::fill(begin(), end(), value, queue);
- }
-
- void swap(array<T, N> &other, const command_queue &queue)
- {
- ::boost::compute::swap_ranges(begin(), end(), other.begin(), queue);
- }
-
- void fill(const value_type &value)
- {
- command_queue queue = default_queue();
- ::boost::compute::fill(begin(), end(), value, queue);
- queue.finish();
- }
-
- void swap(array<T, N> &other)
- {
- command_queue queue = default_queue();
- ::boost::compute::swap_ranges(begin(), end(), other.begin(), queue);
- queue.finish();
- }
-
- const buffer& get_buffer() const
- {
- return m_buffer;
- }
-
-private:
- buffer m_buffer;
-
- command_queue default_queue() const
- {
- const context &context = m_buffer.get_context();
- command_queue queue(context, context.get_device());
- return queue;
- }
-};
-
-namespace detail {
-
-// set_kernel_arg specialization for array<T, N>
-template<class T, std::size_t N>
-struct set_kernel_arg<array<T, N> >
-{
- void operator()(kernel &kernel_, size_t index, const array<T, N> &array)
- {
- kernel_.set_arg(index, array.get_buffer());
- }
-};
-
-// for capturing array<T, N> with BOOST_COMPUTE_CLOSURE()
-template<class T, size_t N>
-struct capture_traits<array<T, N> >
-{
- static std::string type_name()
- {
- return std::string("__global ") + ::boost::compute::type_name<T>() + "*";
- }
-};
-
-// meta_kernel streaming operator for array<T, N>
-template<class T, size_t N>
-meta_kernel& operator<<(meta_kernel &k, const array<T, N> &array)
-{
- return k << k.get_buffer_identifier<T>(array.get_buffer());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_ARRAY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/basic_string.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/basic_string.hpp
deleted file mode 100644
index c5a2c46aa..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/basic_string.hpp
+++ /dev/null
@@ -1,331 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_BASIC_STRING_HPP
-#define BOOST_COMPUTE_CONTAINER_BASIC_STRING_HPP
-
-#include <string>
-#include <cstring>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/algorithm/search.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <iosfwd>
-
-namespace boost {
-namespace compute {
-
-/// \class basic_string
-/// \brief A template for a dynamically-sized character sequence.
-///
-/// The \c basic_string class provides a generic template for a dynamically-
-/// sized character sequence. This is most commonly used through the \c string
-/// typedef (for \c basic_string<char>).
-///
-/// For example, to create a string on the device with its contents copied
-/// from a C-string on the host:
-/// \code
-/// boost::compute::string str("hello, world!");
-/// \endcode
-///
-/// \see \ref vector "vector<T>"
-template<class CharT, class Traits = std::char_traits<CharT> >
-class basic_string
-{
-public:
- typedef Traits traits_type;
- typedef typename Traits::char_type value_type;
- typedef size_t size_type;
- static const size_type npos = size_type(-1);
- typedef typename ::boost::compute::vector<CharT>::reference reference;
- typedef typename ::boost::compute::vector<CharT>::const_reference const_reference;
- typedef typename ::boost::compute::vector<CharT>::iterator iterator;
- typedef typename ::boost::compute::vector<CharT>::const_iterator const_iterator;
- typedef typename ::boost::compute::vector<CharT>::reverse_iterator reverse_iterator;
- typedef typename ::boost::compute::vector<CharT>::const_reverse_iterator const_reverse_iterator;
-
- basic_string()
- {
- }
-
- basic_string(size_type count, CharT ch)
- : m_data(count)
- {
- std::fill(m_data.begin(), m_data.end(), ch);
- }
-
- basic_string(const basic_string &other,
- size_type pos,
- size_type count = npos)
- : m_data(other.begin() + pos,
- other.begin() + (std::min)(other.size(), count))
- {
- }
-
- basic_string(const char *s, size_type count)
- : m_data(s, s + count)
- {
- }
-
- basic_string(const char *s)
- : m_data(s, s + std::strlen(s))
- {
- }
-
- template<class InputIterator>
- basic_string(InputIterator first, InputIterator last)
- : m_data(first, last)
- {
- }
-
- basic_string(const basic_string<CharT, Traits> &other)
- : m_data(other.m_data)
- {
- }
-
- basic_string<CharT, Traits>& operator=(const basic_string<CharT, Traits> &other)
- {
- if(this != &other){
- m_data = other.m_data;
- }
-
- return *this;
- }
-
- ~basic_string()
- {
- }
-
- reference at(size_type pos)
- {
- return m_data.at(pos);
- }
-
- const_reference at(size_type pos) const
- {
- return m_data.at(pos);
- }
-
- reference operator[](size_type pos)
- {
- return m_data[pos];
- }
-
- const_reference operator[](size_type pos) const
- {
- return m_data[pos];
- }
-
- reference front()
- {
- return m_data.front();
- }
-
- const_reference front() const
- {
- return m_data.front();
- }
-
- reference back()
- {
- return m_data.back();
- }
-
- const_reference back() const
- {
- return m_data.back();
- }
-
- iterator begin()
- {
- return m_data.begin();
- }
-
- const_iterator begin() const
- {
- return m_data.begin();
- }
-
- const_iterator cbegin() const
- {
- return m_data.cbegin();
- }
-
- iterator end()
- {
- return m_data.end();
- }
-
- const_iterator end() const
- {
- return m_data.end();
- }
-
- const_iterator cend() const
- {
- return m_data.cend();
- }
-
- reverse_iterator rbegin()
- {
- return m_data.rbegin();
- }
-
- const_reverse_iterator rbegin() const
- {
- return m_data.rbegin();
- }
-
- const_reverse_iterator crbegin() const
- {
- return m_data.crbegin();
- }
-
- reverse_iterator rend()
- {
- return m_data.rend();
- }
-
- const_reverse_iterator rend() const
- {
- return m_data.rend();
- }
-
- const_reverse_iterator crend() const
- {
- return m_data.crend();
- }
-
- bool empty() const
- {
- return m_data.empty();
- }
-
- size_type size() const
- {
- return m_data.size();
- }
-
- size_type length() const
- {
- return m_data.size();
- }
-
- size_type max_size() const
- {
- return m_data.max_size();
- }
-
- void reserve(size_type size)
- {
- m_data.reserve(size);
- }
-
- size_type capacity() const
- {
- return m_data.capacity();
- }
-
- void shrink_to_fit()
- {
- m_data.shrink_to_fit();
- }
-
- void clear()
- {
- m_data.clear();
- }
-
- void swap(basic_string<CharT, Traits> &other)
- {
- if(this != &other)
- {
- ::boost::compute::vector<CharT> temp_data(other.m_data);
- other.m_data = m_data;
- m_data = temp_data;
- }
- }
-
- basic_string<CharT, Traits> substr(size_type pos = 0,
- size_type count = npos) const
- {
- return basic_string<CharT, Traits>(*this, pos, count);
- }
-
- /// Finds the first character \p ch
- size_type find(CharT ch, size_type pos = 0) const
- {
- const_iterator iter = ::boost::compute::find(begin() + pos, end(), ch);
- if(iter == end()){
- return npos;
- }
- else {
- return static_cast<size_type>(std::distance(begin(), iter));
- }
- }
-
- /// Finds the first substring equal to \p str
- size_type find(basic_string& str, size_type pos = 0) const
- {
- const_iterator iter = ::boost::compute::search(begin() + pos, end(),
- str.begin(), str.end());
- if(iter == end()){
- return npos;
- }
- else {
- return static_cast<size_type>(std::distance(begin(), iter));
- }
- }
-
- /// Finds the first substring equal to the character string
- /// pointed to by \p s.
- /// The length of the string is determined by the first null character.
- ///
- /// For example, the following code
- /// \snippet test/test_string.cpp string_find
- ///
- /// will return 5 as position.
- size_type find(const char* s, size_type pos = 0) const
- {
- basic_string str(s);
- const_iterator iter = ::boost::compute::search(begin() + pos, end(),
- str.begin(), str.end());
- if(iter == end()){
- return npos;
- }
- else {
- return static_cast<size_type>(std::distance(begin(), iter));
- }
- }
-
-private:
- ::boost::compute::vector<CharT> m_data;
-};
-
-template<class CharT, class Traits>
-std::ostream&
-operator<<(std::ostream& stream,
- boost::compute::basic_string<CharT, Traits>const& outStr)
-{
- command_queue queue = ::boost::compute::system::default_queue();
- boost::compute::copy(outStr.begin(),
- outStr.end(),
- std::ostream_iterator<CharT>(stream),
- queue);
- return stream;
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_BASIC_STRING_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/detail/scalar.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/detail/scalar.hpp
deleted file mode 100644
index 7ecd86e54..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/detail/scalar.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_DETAIL_SCALAR_HPP
-#define BOOST_COMPUTE_CONTAINER_DETAIL_SCALAR_HPP
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// scalar<T> provides a trivial "container" that stores a
-// single value in a memory buffer on a compute device
-template<class T>
-class scalar
-{
-public:
- typedef T value_type;
-
- scalar(const context &context)
- : m_buffer(context, sizeof(T))
- {
- }
-
- ~scalar()
- {
- }
-
- T read(command_queue &queue) const
- {
- return read_single_value<T>(m_buffer, 0, queue);
- }
-
- void write(const T &value, command_queue &queue)
- {
- write_single_value<T>(value, m_buffer, 0, queue);
- }
-
- const buffer& get_buffer() const
- {
- return m_buffer;
- }
-
-private:
- buffer m_buffer;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_DETAIL_SCALAR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/dynamic_bitset.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/dynamic_bitset.hpp
deleted file mode 100644
index 7f41901d6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/dynamic_bitset.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_DYNAMIC_BITSET_HPP
-#define BOOST_COMPUTE_CONTAINER_DYNAMIC_BITSET_HPP
-
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/algorithm/any_of.hpp>
-#include <boost/compute/algorithm/fill.hpp>
-#include <boost/compute/algorithm/transform_reduce.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/functional/integer.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class dynamic_bitset
-/// \brief The dynamic_bitset class contains a resizable bit array.
-///
-/// For example, to create a dynamic-bitset with space for 1000 bits on the
-/// device:
-/// \code
-/// boost::compute::dynamic_bitset<> bits(1000, queue);
-/// \endcode
-///
-/// The Boost.Compute \c dynamic_bitset class provides a STL-like API and is
-/// modeled after the \c boost::dynamic_bitset class from Boost.
-///
-/// \see \ref vector "vector<T>"
-template<class Block = ulong_, class Alloc = buffer_allocator<Block> >
-class dynamic_bitset
-{
-public:
- typedef Block block_type;
- typedef Alloc allocator_type;
- typedef vector<Block, Alloc> container_type;
- typedef typename container_type::size_type size_type;
-
- BOOST_STATIC_CONSTANT(size_type, bits_per_block = sizeof(block_type) * CHAR_BIT);
- BOOST_STATIC_CONSTANT(size_type, npos = static_cast<size_type>(-1));
-
- /// Creates a new dynamic bitset with storage for \p size bits. Initializes
- /// all bits to zero.
- dynamic_bitset(size_type size, command_queue &queue)
- : m_bits(size / sizeof(block_type), queue.get_context()),
- m_size(size)
- {
- // initialize all bits to zero
- reset(queue);
- }
-
- /// Creates a new dynamic bitset as a copy of \p other.
- dynamic_bitset(const dynamic_bitset &other)
- : m_bits(other.m_bits),
- m_size(other.m_size)
- {
- }
-
- /// Copies the data from \p other to \c *this.
- dynamic_bitset& operator=(const dynamic_bitset &other)
- {
- if(this != &other){
- m_bits = other.m_bits;
- m_size = other.m_size;
- }
-
- return *this;
- }
-
- /// Destroys the dynamic bitset.
- ~dynamic_bitset()
- {
- }
-
- /// Returns the size of the dynamic bitset.
- size_type size() const
- {
- return m_size;
- }
-
- /// Returns the number of blocks to store the bits in the dynamic bitset.
- size_type num_blocks() const
- {
- return m_bits.size();
- }
-
- /// Returns the maximum possible size for the dynamic bitset.
- size_type max_size() const
- {
- return m_bits.max_size() * bits_per_block;
- }
-
- /// Returns \c true if the dynamic bitset is empty (i.e. \c size() == \c 0).
- bool empty() const
- {
- return size() == 0;
- }
-
- /// Returns the number of set bits (i.e. '1') in the bitset.
- size_type count(command_queue &queue) const
- {
- ulong_ count = 0;
- transform_reduce(
- m_bits.begin(),
- m_bits.end(),
- &count,
- popcount<block_type>(),
- plus<ulong_>(),
- queue
- );
- return static_cast<size_type>(count);
- }
-
- /// Resizes the bitset to contain \p num_bits. If the new size is greater
- /// than the current size the new bits are set to zero.
- void resize(size_type num_bits, command_queue &queue)
- {
- // resize bits
- const size_type current_block_count = m_bits.size();
- m_bits.resize(num_bits * bits_per_block, queue);
-
- // fill new block with zeros (if new blocks were added)
- const size_type new_block_count = m_bits.size();
- if(new_block_count > current_block_count){
- fill_n(
- m_bits.begin() + current_block_count,
- new_block_count - current_block_count,
- block_type(0),
- queue
- );
- }
-
- // store new size
- m_size = num_bits;
- }
-
- /// Sets the bit at position \p n to \c true.
- void set(size_type n, command_queue &queue)
- {
- set(n, true, queue);
- }
-
- /// Sets the bit at position \p n to \p value.
- void set(size_type n, bool value, command_queue &queue)
- {
- const size_type bit = n % bits_per_block;
- const size_type block = n / bits_per_block;
-
- // load current block
- block_type block_value;
- copy_n(m_bits.begin() + block, 1, &block_value, queue);
-
- // update block value
- if(value){
- block_value |= (size_type(1) << bit);
- }
- else {
- block_value &= ~(size_type(1) << bit);
- }
-
- // store new block
- copy_n(&block_value, 1, m_bits.begin() + block, queue);
- }
-
- /// Returns \c true if the bit at position \p n is set (i.e. '1').
- bool test(size_type n, command_queue &queue)
- {
- const size_type bit = n % (sizeof(block_type) * CHAR_BIT);
- const size_type block = n / (sizeof(block_type) * CHAR_BIT);
-
- block_type block_value;
- copy_n(m_bits.begin() + block, 1, &block_value, queue);
-
- return block_value & (size_type(1) << bit);
- }
-
- /// Flips the value of the bit at position \p n.
- void flip(size_type n, command_queue &queue)
- {
- set(n, !test(n, queue), queue);
- }
-
- /// Returns \c true if any bit in the bitset is set (i.e. '1').
- bool any(command_queue &queue) const
- {
- return any_of(
- m_bits.begin(), m_bits.end(), lambda::_1 != block_type(0), queue
- );
- }
-
- /// Returns \c true if all of the bits in the bitset are set to zero.
- bool none(command_queue &queue) const
- {
- return !any(queue);
- }
-
- /// Sets all of the bits in the bitset to zero.
- void reset(command_queue &queue)
- {
- fill(m_bits.begin(), m_bits.end(), block_type(0), queue);
- }
-
- /// Sets the bit at position \p n to zero.
- void reset(size_type n, command_queue &queue)
- {
- set(n, false, queue);
- }
-
- /// Empties the bitset (e.g. \c resize(0)).
- void clear()
- {
- m_bits.clear();
- }
-
- /// Returns the allocator used to allocate storage for the bitset.
- allocator_type get_allocator() const
- {
- return m_bits.get_allocator();
- }
-
-private:
- container_type m_bits;
- size_type m_size;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_DYNAMIC_BITSET_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_map.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_map.hpp
deleted file mode 100644
index 684c4da12..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_map.hpp
+++ /dev/null
@@ -1,406 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_FLAT_MAP_HPP
-#define BOOST_COMPUTE_CONTAINER_FLAT_MAP_HPP
-
-#include <cstddef>
-#include <utility>
-#include <exception>
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/exception.hpp>
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/algorithm/lower_bound.hpp>
-#include <boost/compute/algorithm/upper_bound.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/types/pair.hpp>
-#include <boost/compute/detail/buffer_value.hpp>
-
-namespace boost {
-namespace compute {
-
-template<class Key, class T>
-class flat_map
-{
-public:
- typedef Key key_type;
- typedef T mapped_type;
- typedef typename ::boost::compute::vector<std::pair<Key, T> > vector_type;
- typedef typename vector_type::value_type value_type;
- typedef typename vector_type::size_type size_type;
- typedef typename vector_type::difference_type difference_type;
- typedef typename vector_type::reference reference;
- typedef typename vector_type::const_reference const_reference;
- typedef typename vector_type::pointer pointer;
- typedef typename vector_type::const_pointer const_pointer;
- typedef typename vector_type::iterator iterator;
- typedef typename vector_type::const_iterator const_iterator;
- typedef typename vector_type::reverse_iterator reverse_iterator;
- typedef typename vector_type::const_reverse_iterator const_reverse_iterator;
-
- explicit flat_map(const context &context = system::default_context())
- : m_vector(context)
- {
- }
-
- flat_map(const flat_map<Key, T> &other)
- : m_vector(other.m_vector)
- {
- }
-
- flat_map<Key, T>& operator=(const flat_map<Key, T> &other)
- {
- if(this != &other){
- m_vector = other.m_vector;
- }
-
- return *this;
- }
-
- ~flat_map()
- {
- }
-
- iterator begin()
- {
- return m_vector.begin();
- }
-
- const_iterator begin() const
- {
- return m_vector.begin();
- }
-
- const_iterator cbegin() const
- {
- return m_vector.cbegin();
- }
-
- iterator end()
- {
- return m_vector.end();
- }
-
- const_iterator end() const
- {
- return m_vector.end();
- }
-
- const_iterator cend() const
- {
- return m_vector.cend();
- }
-
- reverse_iterator rbegin()
- {
- return m_vector.rbegin();
- }
-
- const_reverse_iterator rbegin() const
- {
- return m_vector.rbegin();
- }
-
- const_reverse_iterator crbegin() const
- {
- return m_vector.crbegin();
- }
-
- reverse_iterator rend()
- {
- return m_vector.rend();
- }
-
- const_reverse_iterator rend() const
- {
- return m_vector.rend();
- }
-
- const_reverse_iterator crend() const
- {
- return m_vector.crend();
- }
-
- size_type size() const
- {
- return m_vector.size();
- }
-
- size_type max_size() const
- {
- return m_vector.max_size();
- }
-
- bool empty() const
- {
- return m_vector.empty();
- }
-
- size_type capacity() const
- {
- return m_vector.capacity();
- }
-
- void reserve(size_type size, command_queue &queue)
- {
- m_vector.reserve(size, queue);
- }
-
- void reserve(size_type size)
- {
- command_queue queue = m_vector.default_queue();
- reserve(size, queue);
- queue.finish();
- }
-
- void shrink_to_fit()
- {
- m_vector.shrink_to_fit();
- }
-
- void clear()
- {
- m_vector.clear();
- }
-
- std::pair<iterator, bool>
- insert(const value_type &value, command_queue &queue)
- {
- iterator location = upper_bound(value.first, queue);
-
- if(location != begin()){
- value_type current_value;
- ::boost::compute::copy_n(location - 1, 1, &current_value, queue);
- if(value.first == current_value.first){
- return std::make_pair(location - 1, false);
- }
- }
-
- m_vector.insert(location, value);
- return std::make_pair(location, true);
- }
-
- std::pair<iterator, bool> insert(const value_type &value)
- {
- command_queue queue = m_vector.default_queue();
- std::pair<iterator, bool> result = insert(value, queue);
- queue.finish();
- return result;
- }
-
- iterator erase(const const_iterator &position, command_queue &queue)
- {
- return erase(position, position + 1, queue);
- }
-
- iterator erase(const const_iterator &position)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = erase(position, queue);
- queue.finish();
- return iter;
- }
-
- iterator erase(const const_iterator &first,
- const const_iterator &last,
- command_queue &queue)
- {
- return m_vector.erase(first, last, queue);
- }
-
- iterator erase(const const_iterator &first, const const_iterator &last)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = erase(first, last, queue);
- queue.finish();
- return iter;
- }
-
- size_type erase(const key_type &value, command_queue &queue)
- {
- iterator position = find(value, queue);
-
- if(position == end()){
- return 0;
- }
- else {
- erase(position, queue);
- return 1;
- }
- }
-
- iterator find(const key_type &value, command_queue &queue)
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::find(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- iterator find(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = find(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator find(const key_type &value, command_queue &queue) const
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::find(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- const_iterator find(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = find(value, queue);
- queue.finish();
- return iter;
- }
-
- size_type count(const key_type &value, command_queue &queue) const
- {
- return find(value, queue) != end() ? 1 : 0;
- }
-
- size_type count(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- size_type result = count(value, queue);
- queue.finish();
- return result;
- }
-
- iterator lower_bound(const key_type &value, command_queue &queue)
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::lower_bound(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- iterator lower_bound(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = lower_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator lower_bound(const key_type &value, command_queue &queue) const
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::lower_bound(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- const_iterator lower_bound(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = lower_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- iterator upper_bound(const key_type &value, command_queue &queue)
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::upper_bound(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- iterator upper_bound(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = upper_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator upper_bound(const key_type &value, command_queue &queue) const
- {
- ::boost::compute::get<0> get_key;
-
- return ::boost::compute::upper_bound(
- ::boost::compute::make_transform_iterator(begin(), get_key),
- ::boost::compute::make_transform_iterator(end(), get_key),
- value,
- queue
- ).base();
- }
-
- const_iterator upper_bound(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = upper_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- const mapped_type at(const key_type &key) const
- {
- const_iterator iter = find(key);
- if(iter == end()){
- BOOST_THROW_EXCEPTION(std::out_of_range("key not found"));
- }
-
- return value_type(*iter).second;
- }
-
- detail::buffer_value<mapped_type> operator[](const key_type &key)
- {
- iterator iter = find(key);
- if(iter == end()){
- iter = insert(std::make_pair(key, mapped_type())).first;
- }
-
- size_t index = iter.get_index() * sizeof(value_type) + sizeof(key_type);
-
- return detail::buffer_value<mapped_type>(m_vector.get_buffer(), index);
- }
-
-private:
- ::boost::compute::vector<std::pair<Key, T> > m_vector;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_FLAT_MAP_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_set.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_set.hpp
deleted file mode 100644
index 8826f7884..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/flat_set.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_FLAT_SET_HPP
-#define BOOST_COMPUTE_CONTAINER_FLAT_SET_HPP
-
-#include <cstddef>
-#include <utility>
-
-#include <boost/compute/algorithm/find.hpp>
-#include <boost/compute/algorithm/lower_bound.hpp>
-#include <boost/compute/algorithm/upper_bound.hpp>
-#include <boost/compute/container/vector.hpp>
-
-namespace boost {
-namespace compute {
-
-template<class T>
-class flat_set
-{
-public:
- typedef T key_type;
- typedef typename vector<T>::value_type value_type;
- typedef typename vector<T>::size_type size_type;
- typedef typename vector<T>::difference_type difference_type;
- typedef typename vector<T>::reference reference;
- typedef typename vector<T>::const_reference const_reference;
- typedef typename vector<T>::pointer pointer;
- typedef typename vector<T>::const_pointer const_pointer;
- typedef typename vector<T>::iterator iterator;
- typedef typename vector<T>::const_iterator const_iterator;
- typedef typename vector<T>::reverse_iterator reverse_iterator;
- typedef typename vector<T>::const_reverse_iterator const_reverse_iterator;
-
- explicit flat_set(const context &context = system::default_context())
- : m_vector(context)
- {
- }
-
- flat_set(const flat_set<T> &other)
- : m_vector(other.m_vector)
- {
- }
-
- flat_set<T>& operator=(const flat_set<T> &other)
- {
- if(this != &other){
- m_vector = other.m_vector;
- }
-
- return *this;
- }
-
- ~flat_set()
- {
- }
-
- iterator begin()
- {
- return m_vector.begin();
- }
-
- const_iterator begin() const
- {
- return m_vector.begin();
- }
-
- const_iterator cbegin() const
- {
- return m_vector.cbegin();
- }
-
- iterator end()
- {
- return m_vector.end();
- }
-
- const_iterator end() const
- {
- return m_vector.end();
- }
-
- const_iterator cend() const
- {
- return m_vector.cend();
- }
-
- reverse_iterator rbegin()
- {
- return m_vector.rbegin();
- }
-
- const_reverse_iterator rbegin() const
- {
- return m_vector.rbegin();
- }
-
- const_reverse_iterator crbegin() const
- {
- return m_vector.crbegin();
- }
-
- reverse_iterator rend()
- {
- return m_vector.rend();
- }
-
- const_reverse_iterator rend() const
- {
- return m_vector.rend();
- }
-
- const_reverse_iterator crend() const
- {
- return m_vector.crend();
- }
-
- size_type size() const
- {
- return m_vector.size();
- }
-
- size_type max_size() const
- {
- return m_vector.max_size();
- }
-
- bool empty() const
- {
- return m_vector.empty();
- }
-
- size_type capacity() const
- {
- return m_vector.capacity();
- }
-
- void reserve(size_type size, command_queue &queue)
- {
- m_vector.reserve(size, queue);
- }
-
- void reserve(size_type size)
- {
- command_queue queue = m_vector.default_queue();
- reserve(size, queue);
- queue.finish();
- }
-
- void shrink_to_fit()
- {
- m_vector.shrink_to_fit();
- }
-
- void clear()
- {
- m_vector.clear();
- }
-
- std::pair<iterator, bool>
- insert(const value_type &value, command_queue &queue)
- {
- iterator location = upper_bound(value, queue);
-
- if(location != begin()){
- value_type current_value;
- ::boost::compute::copy_n(location - 1, 1, &current_value, queue);
- if(value == current_value){
- return std::make_pair(location - 1, false);
- }
- }
-
- m_vector.insert(location, value, queue);
- return std::make_pair(location, true);
- }
-
- std::pair<iterator, bool> insert(const value_type &value)
- {
- command_queue queue = m_vector.default_queue();
- std::pair<iterator, bool> result = insert(value, queue);
- queue.finish();
- return result;
- }
-
- iterator erase(const const_iterator &position, command_queue &queue)
- {
- return erase(position, position + 1, queue);
- }
-
- iterator erase(const const_iterator &position)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = erase(position, queue);
- queue.finish();
- return iter;
- }
-
- iterator erase(const const_iterator &first,
- const const_iterator &last,
- command_queue &queue)
- {
- return m_vector.erase(first, last, queue);
- }
-
- iterator erase(const const_iterator &first, const const_iterator &last)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = erase(first, last, queue);
- queue.finish();
- return iter;
- }
-
- size_type erase(const key_type &value, command_queue &queue)
- {
- iterator position = find(value, queue);
-
- if(position == end()){
- return 0;
- }
- else {
- erase(position, queue);
- return 1;
- }
- }
-
- size_type erase(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- size_type result = erase(value, queue);
- queue.finish();
- return result;
- }
-
- iterator find(const key_type &value, command_queue &queue)
- {
- return ::boost::compute::find(begin(), end(), value, queue);
- }
-
- iterator find(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = find(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator find(const key_type &value, command_queue &queue) const
- {
- return ::boost::compute::find(begin(), end(), value, queue);
- }
-
- const_iterator find(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = find(value, queue);
- queue.finish();
- return iter;
- }
-
- size_type count(const key_type &value, command_queue &queue) const
- {
- return find(value, queue) != end() ? 1 : 0;
- }
-
- size_type count(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- size_type result = count(value, queue);
- queue.finish();
- return result;
- }
-
- iterator lower_bound(const key_type &value, command_queue &queue)
- {
- return ::boost::compute::lower_bound(begin(), end(), value, queue);
- }
-
- iterator lower_bound(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = lower_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator lower_bound(const key_type &value, command_queue &queue) const
- {
- return ::boost::compute::lower_bound(begin(), end(), value, queue);
- }
-
- const_iterator lower_bound(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = lower_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- iterator upper_bound(const key_type &value, command_queue &queue)
- {
- return ::boost::compute::upper_bound(begin(), end(), value, queue);
- }
-
- iterator upper_bound(const key_type &value)
- {
- command_queue queue = m_vector.default_queue();
- iterator iter = upper_bound(value, queue);
- queue.finish();
- return iter;
- }
-
- const_iterator upper_bound(const key_type &value, command_queue &queue) const
- {
- return ::boost::compute::upper_bound(begin(), end(), value, queue);
- }
-
- const_iterator upper_bound(const key_type &value) const
- {
- command_queue queue = m_vector.default_queue();
- const_iterator iter = upper_bound(value, queue);
- queue.finish();
- return iter;
- }
-
-private:
- vector<T> m_vector;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_FLAT_SET_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/mapped_view.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/mapped_view.hpp
deleted file mode 100644
index 59b1e4e0a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/mapped_view.hpp
+++ /dev/null
@@ -1,250 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_MAPPED_VIEW_HPP
-#define BOOST_COMPUTE_CONTAINER_MAPPED_VIEW_HPP
-
-#include <cstddef>
-#include <exception>
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class mapped_view
-/// \brief A mapped view of host memory.
-///
-/// The mapped_view class simplifies mapping host-memory to a compute
-/// device. This allows for host-allocated memory to be used with the
-/// Boost.Compute algorithms.
-///
-/// The following example shows how to map a simple C-array containing
-/// data on the host to the device and run the reduce() algorithm to
-/// calculate the sum:
-///
-/// \snippet test/test_mapped_view.cpp reduce
-///
-/// \see buffer
-template<class T>
-class mapped_view
-{
-public:
- typedef T value_type;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef buffer_iterator<T> iterator;
- typedef buffer_iterator<T> const_iterator;
-
- /// Creates a null mapped_view object.
- mapped_view()
- {
- m_mapped_ptr = 0;
- }
-
- /// Creates a mapped_view for \p host_ptr with \p n elements. After
- /// constructing a mapped_view the data is available for use by a
- /// compute device. Use the \p unmap() method to make the updated data
- /// available to the host.
- mapped_view(T *host_ptr,
- size_type n,
- const context &context = system::default_context())
- : m_buffer(_make_mapped_buffer(host_ptr, n, context))
- {
- m_mapped_ptr = 0;
- }
-
- /// Creates a read-only mapped_view for \p host_ptr with \p n elements.
- /// After constructing a mapped_view the data is available for use by a
- /// compute device. Use the \p unmap() method to make the updated data
- /// available to the host.
- mapped_view(const T *host_ptr,
- size_type n,
- const context &context = system::default_context())
- : m_buffer(_make_mapped_buffer(host_ptr, n, context))
- {
- m_mapped_ptr = 0;
- }
-
- /// Creates a copy of \p other.
- mapped_view(const mapped_view<T> &other)
- : m_buffer(other.m_buffer)
- {
- m_mapped_ptr = 0;
- }
-
- /// Copies the mapped buffer from \p other.
- mapped_view<T>& operator=(const mapped_view<T> &other)
- {
- if(this != &other){
- m_buffer = other.m_buffer;
- m_mapped_ptr = 0;
- }
-
- return *this;
- }
-
- /// Destroys the mapped_view object.
- ~mapped_view()
- {
- }
-
- /// Returns an iterator to the first element in the mapped_view.
- iterator begin()
- {
- return ::boost::compute::make_buffer_iterator<T>(m_buffer, 0);
- }
-
- /// Returns a const_iterator to the first element in the mapped_view.
- const_iterator begin() const
- {
- return ::boost::compute::make_buffer_iterator<T>(m_buffer, 0);
- }
-
- /// Returns a const_iterator to the first element in the mapped_view.
- const_iterator cbegin() const
- {
- return begin();
- }
-
- /// Returns an iterator to one past the last element in the mapped_view.
- iterator end()
- {
- return ::boost::compute::make_buffer_iterator<T>(m_buffer, size());
- }
-
- /// Returns a const_iterator to one past the last element in the mapped_view.
- const_iterator end() const
- {
- return ::boost::compute::make_buffer_iterator<T>(m_buffer, size());
- }
-
- /// Returns a const_iterator to one past the last element in the mapped_view.
- const_iterator cend() const
- {
- return end();
- }
-
- /// Returns the number of elements in the mapped_view.
- size_type size() const
- {
- return m_buffer.size() / sizeof(T);
- }
-
- /// Returns the host data pointer.
- T* get_host_ptr()
- {
- return static_cast<T *>(m_buffer.get_info<void *>(CL_MEM_HOST_PTR));
- }
-
- /// Returns the host data pointer.
- const T* get_host_ptr() const
- {
- return static_cast<T *>(m_buffer.get_info<void *>(CL_MEM_HOST_PTR));
- }
-
- /// Resizes the mapped_view to \p size elements.
- void resize(size_type size)
- {
- T *old_ptr = get_host_ptr();
-
- m_buffer = _make_mapped_buffer(old_ptr, size, m_buffer.get_context());
- }
-
- /// Returns \c true if the mapped_view is empty.
- bool empty() const
- {
- return size() == 0;
- }
-
- /// Returns the mapped buffer.
- const buffer& get_buffer() const
- {
- return m_buffer;
- }
-
- /// Maps the buffer into the host address space.
- ///
- /// \see_opencl_ref{clEnqueueMapBuffer}
- void map(cl_map_flags flags, command_queue &queue)
- {
- BOOST_ASSERT(m_mapped_ptr == 0);
-
- m_mapped_ptr = queue.enqueue_map_buffer(
- m_buffer, flags, 0, m_buffer.size()
- );
- }
-
- /// Maps the buffer into the host address space for reading and writing.
- ///
- /// Equivalent to:
- /// \code
- /// map(CL_MAP_READ | CL_MAP_WRITE, queue);
- /// \endcode
- void map(command_queue &queue)
- {
- map(CL_MAP_READ | CL_MAP_WRITE, queue);
- }
-
- /// Unmaps the buffer from the host address space.
- ///
- /// \see_opencl_ref{clEnqueueUnmapMemObject}
- void unmap(command_queue &queue)
- {
- BOOST_ASSERT(m_mapped_ptr != 0);
-
- queue.enqueue_unmap_buffer(m_buffer, m_mapped_ptr);
-
- m_mapped_ptr = 0;
- }
-
-private:
- /// \internal_
- static buffer _make_mapped_buffer(T *host_ptr,
- size_t n,
- const context &context)
- {
- return buffer(
- context,
- n * sizeof(T),
- buffer::read_write | buffer::use_host_ptr,
- host_ptr
- );
- }
-
- /// \internal_
- static buffer _make_mapped_buffer(const T *host_ptr,
- size_t n,
- const context &context)
- {
- return buffer(
- context,
- n * sizeof(T),
- buffer::read_only | buffer::use_host_ptr,
- const_cast<void *>(static_cast<const void *>(host_ptr))
- );
- }
-
-private:
- buffer m_buffer;
- void *m_mapped_ptr;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_MAPPED_VIEW_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/string.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/string.hpp
deleted file mode 100644
index a721ab574..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/string.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_STRING_HPP
-#define BOOST_COMPUTE_CONTAINER_STRING_HPP
-
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/container/basic_string.hpp>
-
-namespace boost {
-namespace compute {
-
-typedef basic_string<char_> string;
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_STRING_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/vector.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/vector.hpp
deleted file mode 100644
index aa0eb98ce..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/container/vector.hpp
+++ /dev/null
@@ -1,779 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTAINER_VECTOR_HPP
-#define BOOST_COMPUTE_CONTAINER_VECTOR_HPP
-
-#include <vector>
-#include <cstddef>
-#include <iterator>
-#include <exception>
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/config.hpp>
-
-#ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/copy_n.hpp>
-#include <boost/compute/algorithm/fill_n.hpp>
-#include <boost/compute/allocator/buffer_allocator.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/detail/capture_traits.hpp>
-#include <boost/compute/detail/buffer_value.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class vector
-/// \brief A resizable array of values.
-///
-/// The vector<T> class stores a dynamic array of values. Internally, the data
-/// is stored in an OpenCL buffer object.
-///
-/// The vector class is the prefered container for storing and accessing data
-/// on a compute device. In most cases it should be used instead of directly
-/// dealing with buffer objects. If the undelying buffer is needed, it can be
-/// accessed with the get_buffer() method.
-///
-/// The internal storage is allocated in a specific OpenCL context which is
-/// passed as an argument to the constructor when the vector is created.
-///
-/// For example, to create a vector on the device containing space for ten
-/// \c int values:
-/// \code
-/// boost::compute::vector<int> vec(10, context);
-/// \endcode
-///
-/// Allocation and data transfer can also be performed in a single step:
-/// \code
-/// // values on the host
-/// int data[] = { 1, 2, 3, 4 };
-///
-/// // create a vector of size four and copy the values from data
-/// boost::compute::vector<int> vec(data, data + 4, queue);
-/// \endcode
-///
-/// The Boost.Compute \c vector class provides a STL-like API and is modeled
-/// after the \c std::vector class from the C++ standard library. It can be
-/// used with any of the STL-like algorithms provided by Boost.Compute
-/// including \c copy(), \c transform(), and \c sort() (among many others).
-///
-/// For example:
-/// \code
-/// // a vector on a compute device
-/// boost::compute::vector<float> vec = ...
-///
-/// // copy data to the vector from a host std:vector
-/// boost::compute::copy(host_vec.begin(), host_vec.end(), vec.begin(), queue);
-///
-/// // copy data from the vector to a host std::vector
-/// boost::compute::copy(vec.begin(), vec.end(), host_vec.begin(), queue);
-///
-/// // sort the values in the vector
-/// boost::compute::sort(vec.begin(), vec.end(), queue);
-///
-/// // calculate the sum of the values in the vector (also see reduce())
-/// float sum = boost::compute::accumulate(vec.begin(), vec.end(), 0, queue);
-///
-/// // reverse the values in the vector
-/// boost::compute::reverse(vec.begin(), vec.end(), queue);
-///
-/// // fill the vector with ones
-/// boost::compute::fill(vec.begin(), vec.end(), 1, queue);
-/// \endcode
-///
-/// \see \ref array "array<T, N>", buffer
-template<class T, class Alloc = buffer_allocator<T> >
-class vector
-{
-public:
- typedef T value_type;
- typedef Alloc allocator_type;
- typedef typename allocator_type::size_type size_type;
- typedef typename allocator_type::difference_type difference_type;
- typedef detail::buffer_value<T> reference;
- typedef const detail::buffer_value<T> const_reference;
- typedef typename allocator_type::pointer pointer;
- typedef typename allocator_type::const_pointer const_pointer;
- typedef buffer_iterator<T> iterator;
- typedef buffer_iterator<T> const_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- /// Creates an empty vector in \p context.
- explicit vector(const context &context = system::default_context())
- : m_size(0),
- m_allocator(context)
- {
- m_data = m_allocator.allocate(_minimum_capacity());
- }
-
- /// Creates a vector with space for \p count elements in \p context.
- ///
- /// Note that unlike \c std::vector's constructor, this will not initialize
- /// the values in the container. Either call the vector constructor which
- /// takes a value to initialize with or use the fill() algorithm to set
- /// the initial values.
- ///
- /// For example:
- /// \code
- /// // create a vector on the device with space for ten ints
- /// boost::compute::vector<int> vec(10, context);
- /// \endcode
- explicit vector(size_type count,
- const context &context = system::default_context())
- : m_size(count),
- m_allocator(context)
- {
- m_data = m_allocator.allocate((std::max)(count, _minimum_capacity()));
- }
-
- /// Creates a vector with space for \p count elements and sets each equal
- /// to \p value.
- ///
- /// For example:
- /// \code
- /// // creates a vector with four values set to nine (e.g. [9, 9, 9, 9]).
- /// boost::compute::vector<int> vec(4, 9, queue);
- /// \endcode
- vector(size_type count,
- const T &value,
- command_queue &queue = system::default_queue())
- : m_size(count),
- m_allocator(queue.get_context())
- {
- m_data = m_allocator.allocate((std::max)(count, _minimum_capacity()));
-
- ::boost::compute::fill_n(begin(), count, value, queue);
- }
-
- /// Creates a vector with space for the values in the range [\p first,
- /// \p last) and copies them into the vector with \p queue.
- ///
- /// For example:
- /// \code
- /// // values on the host
- /// int data[] = { 1, 2, 3, 4 };
- ///
- /// // create a vector of size four and copy the values from data
- /// boost::compute::vector<int> vec(data, data + 4, queue);
- /// \endcode
- template<class InputIterator>
- vector(InputIterator first,
- InputIterator last,
- command_queue &queue = system::default_queue())
- : m_size(detail::iterator_range_size(first, last)),
- m_allocator(queue.get_context())
- {
- m_data = m_allocator.allocate((std::max)(m_size, _minimum_capacity()));
-
- ::boost::compute::copy(first, last, begin(), queue);
- }
-
- /// Creates a new vector and copies the values from \p other.
- vector(const vector &other,
- command_queue &queue = system::default_queue())
- : m_size(other.m_size),
- m_allocator(other.m_allocator)
- {
- m_data = m_allocator.allocate((std::max)(m_size, _minimum_capacity()));
-
- if(!other.empty()){
- if(other.get_buffer().get_context() != queue.get_context()){
- command_queue other_queue = other.default_queue();
- ::boost::compute::copy(other.begin(), other.end(), begin(), other_queue);
- other_queue.finish();
- }
- else {
- ::boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
- }
- }
- }
-
- /// Creates a new vector and copies the values from \p other.
- template<class OtherAlloc>
- vector(const vector<T, OtherAlloc> &other,
- command_queue &queue = system::default_queue())
- : m_size(other.size()),
- m_allocator(queue.get_context())
- {
- m_data = m_allocator.allocate((std::max)(m_size, _minimum_capacity()));
-
- if(!other.empty()){
- ::boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
- }
- }
-
- /// Creates a new vector and copies the values from \p vector.
- template<class OtherAlloc>
- vector(const std::vector<T, OtherAlloc> &vector,
- command_queue &queue = system::default_queue())
- : m_size(vector.size()),
- m_allocator(queue.get_context())
- {
- m_data = m_allocator.allocate((std::max)(m_size, _minimum_capacity()));
-
- ::boost::compute::copy(vector.begin(), vector.end(), begin(), queue);
- }
-
- #ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
- vector(std::initializer_list<T> list,
- command_queue &queue = system::default_queue())
- : m_size(list.size()),
- m_allocator(queue.get_context())
- {
- m_data = m_allocator.allocate((std::max)(m_size, _minimum_capacity()));
-
- ::boost::compute::copy(list.begin(), list.end(), begin(), queue);
- }
- #endif // BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-
- vector& operator=(const vector &other)
- {
- if(this != &other){
- command_queue queue = default_queue();
- resize(other.size(), queue);
- ::boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
- }
-
- return *this;
- }
-
- template<class OtherAlloc>
- vector& operator=(const vector<T, OtherAlloc> &other)
- {
- command_queue queue = default_queue();
- resize(other.size(), queue);
- ::boost::compute::copy(other.begin(), other.end(), begin(), queue);
- queue.finish();
-
- return *this;
- }
-
- template<class OtherAlloc>
- vector& operator=(const std::vector<T, OtherAlloc> &vector)
- {
- command_queue queue = default_queue();
- resize(vector.size(), queue);
- ::boost::compute::copy(vector.begin(), vector.end(), begin(), queue);
- queue.finish();
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new vector from \p other.
- vector(vector&& other)
- : m_data(std::move(other.m_data)),
- m_size(other.m_size),
- m_allocator(std::move(other.m_allocator))
- {
- other.m_size = 0;
- }
-
- /// Move-assigns the data from \p other to \c *this.
- vector& operator=(vector&& other)
- {
- if(m_size){
- m_allocator.deallocate(m_data, m_size);
- }
-
- m_data = std::move(other.m_data);
- m_size = other.m_size;
- m_allocator = std::move(other.m_allocator);
-
- other.m_size = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the vector object.
- ~vector()
- {
- if(m_size){
- m_allocator.deallocate(m_data, m_size);
- }
- }
-
- iterator begin()
- {
- return ::boost::compute::make_buffer_iterator<T>(m_data.get_buffer(), 0);
- }
-
- const_iterator begin() const
- {
- return ::boost::compute::make_buffer_iterator<T>(m_data.get_buffer(), 0);
- }
-
- const_iterator cbegin() const
- {
- return begin();
- }
-
- iterator end()
- {
- return ::boost::compute::make_buffer_iterator<T>(m_data.get_buffer(), m_size);
- }
-
- const_iterator end() const
- {
- return ::boost::compute::make_buffer_iterator<T>(m_data.get_buffer(), m_size);
- }
-
- const_iterator cend() const
- {
- return end();
- }
-
- reverse_iterator rbegin()
- {
- return reverse_iterator(end() - 1);
- }
-
- const_reverse_iterator rbegin() const
- {
- return reverse_iterator(end() - 1);
- }
-
- const_reverse_iterator crbegin() const
- {
- return rbegin();
- }
-
- reverse_iterator rend()
- {
- return reverse_iterator(begin() - 1);
- }
-
- const_reverse_iterator rend() const
- {
- return reverse_iterator(begin() - 1);
- }
-
- const_reverse_iterator crend() const
- {
- return rend();
- }
-
- /// Returns the number of elements in the vector.
- size_type size() const
- {
- return m_size;
- }
-
- size_type max_size() const
- {
- return m_allocator.max_size();
- }
-
- /// Resizes the vector to \p size.
- void resize(size_type size, command_queue &queue)
- {
- if(size <= capacity()){
- m_size = size;
- }
- else {
- // allocate new buffer
- pointer new_data =
- m_allocator.allocate(
- static_cast<size_type>(
- static_cast<float>(size) * _growth_factor()
- )
- );
-
- // copy old values to the new buffer
- ::boost::compute::copy(m_data, m_data + m_size, new_data, queue);
-
- // free old memory
- m_allocator.deallocate(m_data, m_size);
-
- // set new data and size
- m_data = new_data;
- m_size = size;
- }
- }
-
- /// \overload
- void resize(size_type size)
- {
- command_queue queue = default_queue();
- resize(size, queue);
- queue.finish();
- }
-
- /// Returns \c true if the vector is empty.
- bool empty() const
- {
- return m_size == 0;
- }
-
- /// Returns the capacity of the vector.
- size_type capacity() const
- {
- return m_data.get_buffer().size() / sizeof(T);
- }
-
- void reserve(size_type size, command_queue &queue)
- {
- (void) size;
- (void) queue;
- }
-
- void reserve(size_type size)
- {
- command_queue queue = default_queue();
- reserve(size, queue);
- queue.finish();
- }
-
- void shrink_to_fit(command_queue &queue)
- {
- (void) queue;
- }
-
- void shrink_to_fit()
- {
- command_queue queue = default_queue();
- shrink_to_fit(queue);
- queue.finish();
- }
-
- reference operator[](size_type index)
- {
- return *(begin() + static_cast<difference_type>(index));
- }
-
- const_reference operator[](size_type index) const
- {
- return *(begin() + static_cast<difference_type>(index));
- }
-
- reference at(size_type index)
- {
- if(index >= size()){
- BOOST_THROW_EXCEPTION(std::out_of_range("index out of range"));
- }
-
- return operator[](index);
- }
-
- const_reference at(size_type index) const
- {
- if(index >= size()){
- BOOST_THROW_EXCEPTION(std::out_of_range("index out of range"));
- }
-
- return operator[](index);
- }
-
- reference front()
- {
- return *begin();
- }
-
- const_reference front() const
- {
- return *begin();
- }
-
- reference back()
- {
- return *(end() - static_cast<difference_type>(1));
- }
-
- const_reference back() const
- {
- return *(end() - static_cast<difference_type>(1));
- }
-
- template<class InputIterator>
- void assign(InputIterator first,
- InputIterator last,
- command_queue &queue)
- {
- // resize vector for new contents
- resize(detail::iterator_range_size(first, last), queue);
-
- // copy values into the vector
- ::boost::compute::copy(first, last, begin(), queue);
- }
-
- template<class InputIterator>
- void assign(InputIterator first, InputIterator last)
- {
- command_queue queue = default_queue();
- assign(first, last, queue);
- queue.finish();
- }
-
- void assign(size_type n, const T &value, command_queue &queue)
- {
- // resize vector for new contents
- resize(n, queue);
-
- // fill vector with value
- ::boost::compute::fill_n(begin(), n, value, queue);
- }
-
- void assign(size_type n, const T &value)
- {
- command_queue queue = default_queue();
- assign(n, value, queue);
- queue.finish();
- }
-
- /// Inserts \p value at the end of the vector (resizing if neccessary).
- ///
- /// Note that calling \c push_back() to insert data values one at a time
- /// is inefficient as there is a non-trivial overhead in performing a data
- /// transfer to the device. It is usually better to store a set of values
- /// on the host (for example, in a \c std::vector) and then transfer them
- /// in bulk using the \c insert() method or the copy() algorithm.
- void push_back(const T &value, command_queue &queue)
- {
- insert(end(), value, queue);
- }
-
- /// \overload
- void push_back(const T &value)
- {
- command_queue queue = default_queue();
- push_back(value, queue);
- queue.finish();
- }
-
- void pop_back(command_queue &queue)
- {
- resize(size() - 1, queue);
- }
-
- void pop_back()
- {
- command_queue queue = default_queue();
- pop_back(queue);
- queue.finish();
- }
-
- iterator insert(iterator position, const T &value, command_queue &queue)
- {
- if(position == end()){
- resize(m_size + 1, queue);
- position = begin() + position.get_index();
- ::boost::compute::copy_n(&value, 1, position, queue);
- }
- else {
- ::boost::compute::vector<T, Alloc> tmp(position, end(), queue);
- resize(m_size + 1, queue);
- position = begin() + position.get_index();
- ::boost::compute::copy_n(&value, 1, position, queue);
- ::boost::compute::copy(tmp.begin(), tmp.end(), position + 1, queue);
- }
-
- return position + 1;
- }
-
- iterator insert(iterator position, const T &value)
- {
- command_queue queue = default_queue();
- iterator iter = insert(position, value, queue);
- queue.finish();
- return iter;
- }
-
- void insert(iterator position,
- size_type count,
- const T &value,
- command_queue &queue)
- {
- ::boost::compute::vector<T, Alloc> tmp(position, end(), queue);
- resize(size() + count, queue);
-
- position = begin() + position.get_index();
-
- ::boost::compute::fill_n(position, count, value, queue);
- ::boost::compute::copy(
- tmp.begin(),
- tmp.end(),
- position + static_cast<difference_type>(count),
- queue
- );
- }
-
- void insert(iterator position, size_type count, const T &value)
- {
- command_queue queue = default_queue();
- insert(position, count, value, queue);
- queue.finish();
- }
-
- /// Inserts the values in the range [\p first, \p last) into the vector at
- /// \p position using \p queue.
- template<class InputIterator>
- void insert(iterator position,
- InputIterator first,
- InputIterator last,
- command_queue &queue)
- {
- ::boost::compute::vector<T, Alloc> tmp(position, end(), queue);
-
- size_type count = detail::iterator_range_size(first, last);
- resize(size() + count, queue);
-
- position = begin() + position.get_index();
-
- ::boost::compute::copy(first, last, position, queue);
- ::boost::compute::copy(
- tmp.begin(),
- tmp.end(),
- position + static_cast<difference_type>(count),
- queue
- );
- }
-
- /// \overload
- template<class InputIterator>
- void insert(iterator position, InputIterator first, InputIterator last)
- {
- command_queue queue = default_queue();
- insert(position, first, last, queue);
- queue.finish();
- }
-
- iterator erase(iterator position, command_queue &queue)
- {
- return erase(position, position + 1, queue);
- }
-
- iterator erase(iterator position)
- {
- command_queue queue = default_queue();
- iterator iter = erase(position, queue);
- queue.finish();
- return iter;
- }
-
- iterator erase(iterator first, iterator last, command_queue &queue)
- {
- if(last != end()){
- ::boost::compute::vector<T, Alloc> tmp(last, end(), queue);
- ::boost::compute::copy(tmp.begin(), tmp.end(), first, queue);
- }
-
- difference_type count = std::distance(first, last);
- resize(size() - static_cast<size_type>(count), queue);
-
- return begin() + first.get_index() + count;
- }
-
- iterator erase(iterator first, iterator last)
- {
- command_queue queue = default_queue();
- iterator iter = erase(first, last, queue);
- queue.finish();
- return iter;
- }
-
- /// Swaps the contents of \c *this with \p other.
- void swap(vector &other)
- {
- std::swap(m_data, other.m_data);
- std::swap(m_size, other.m_size);
- std::swap(m_allocator, other.m_allocator);
- }
-
- /// Removes all elements from the vector.
- void clear()
- {
- m_size = 0;
- }
-
- allocator_type get_allocator() const
- {
- return m_allocator;
- }
-
- /// Returns the underlying buffer.
- const buffer& get_buffer() const
- {
- return m_data.get_buffer();
- }
-
- /// \internal_
- ///
- /// Returns a command queue usable to issue commands for the vector's
- /// memory buffer. This is used when a member function is called without
- /// specifying an existing command queue to use.
- command_queue default_queue() const
- {
- const context &context = m_allocator.get_context();
- command_queue queue(context, context.get_device());
- return queue;
- }
-
-private:
- /// \internal_
- BOOST_CONSTEXPR size_type _minimum_capacity() const { return 4; }
-
- /// \internal_
- BOOST_CONSTEXPR float _growth_factor() const { return 1.5; }
-
-private:
- pointer m_data;
- size_type m_size;
- allocator_type m_allocator;
-};
-
-namespace detail {
-
-// set_kernel_arg specialization for vector<T>
-template<class T, class Alloc>
-struct set_kernel_arg<vector<T, Alloc> >
-{
- void operator()(kernel &kernel_, size_t index, const vector<T, Alloc> &vector)
- {
- kernel_.set_arg(index, vector.get_buffer());
- }
-};
-
-// for capturing vector<T> with BOOST_COMPUTE_CLOSURE()
-template<class T, class Alloc>
-struct capture_traits<vector<T, Alloc> >
-{
- static std::string type_name()
- {
- return std::string("__global ") + ::boost::compute::type_name<T>() + "*";
- }
-};
-
-// meta_kernel streaming operator for vector<T>
-template<class T, class Alloc>
-meta_kernel& operator<<(meta_kernel &k, const vector<T, Alloc> &vector)
-{
- return k << k.get_buffer_identifier<T>(vector.get_buffer());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTAINER_VECTOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/context.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/context.hpp
deleted file mode 100644
index 61e84e976..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/context.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_CONTEXT_HPP
-#define BOOST_COMPUTE_CONTEXT_HPP
-
-#include <vector>
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class context
-/// \brief A compute context.
-///
-/// The context class represents a compute context.
-///
-/// A context object manages a set of OpenCL resources including memory
-/// buffers and program objects. Before allocating memory on the device or
-/// executing kernels you must set up a context object.
-///
-/// To create a context for the default device on the system:
-/// \code
-/// // get the default compute device
-/// boost::compute::device gpu = boost::compute::system::default_device();
-///
-/// // create a context for the device
-/// boost::compute::context context(gpu);
-/// \endcode
-///
-/// Once a context is created, memory can be allocated using the buffer class
-/// and kernels can be executed using the command_queue class.
-///
-/// \see device, command_queue
-class context
-{
-public:
- /// Create a null context object.
- context()
- : m_context(0)
- {
- }
-
- /// Creates a new context for \p device with \p properties.
- ///
- /// \see_opencl_ref{clCreateContext}
- explicit context(const device &device,
- const cl_context_properties *properties = 0)
- {
- BOOST_ASSERT(device.id() != 0);
-
- cl_device_id device_id = device.id();
-
- cl_int error = 0;
- m_context = clCreateContext(properties, 1, &device_id, 0, 0, &error);
-
- if(!m_context){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new context for \p devices with \p properties.
- ///
- /// \see_opencl_ref{clCreateContext}
- explicit context(const std::vector<device> &devices,
- const cl_context_properties *properties = 0)
- {
- BOOST_ASSERT(!devices.empty());
-
- cl_int error = 0;
-
- m_context = clCreateContext(
- properties,
- static_cast<cl_uint>(devices.size()),
- reinterpret_cast<const cl_device_id *>(&devices[0]),
- 0,
- 0,
- &error
- );
-
- if(!m_context){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new context object for \p context. If \p retain is
- /// \c true, the reference count for \p context will be incremented.
- explicit context(cl_context context, bool retain = true)
- : m_context(context)
- {
- if(m_context && retain){
- clRetainContext(m_context);
- }
- }
-
- /// Creates a new context object as a copy of \p other.
- context(const context &other)
- : m_context(other.m_context)
- {
- if(m_context){
- clRetainContext(m_context);
- }
- }
-
- /// Copies the context object from \p other to \c *this.
- context& operator=(const context &other)
- {
- if(this != &other){
- if(m_context){
- clReleaseContext(m_context);
- }
-
- m_context = other.m_context;
-
- if(m_context){
- clRetainContext(m_context);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new context object from \p other.
- context(context&& other) BOOST_NOEXCEPT
- : m_context(other.m_context)
- {
- other.m_context = 0;
- }
-
- /// Move-assigns the context from \p other to \c *this.
- context& operator=(context&& other) BOOST_NOEXCEPT
- {
- if(m_context){
- clReleaseContext(m_context);
- }
-
- m_context = other.m_context;
- other.m_context = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the context object.
- ~context()
- {
- if(m_context){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseContext(m_context)
- );
- }
- }
-
- /// Returns the underlying OpenCL context.
- cl_context& get() const
- {
- return const_cast<cl_context &>(m_context);
- }
-
- /// Returns the device for the context. If the context contains multiple
- /// devices, the first is returned.
- device get_device() const
- {
- std::vector<device> devices = get_devices();
-
- if(devices.empty()) {
- return device();
- }
-
- return devices.front();
- }
-
- /// Returns a vector of devices for the context.
- std::vector<device> get_devices() const
- {
- return get_info<std::vector<device> >(CL_CONTEXT_DEVICES);
- }
-
- /// Returns information about the context.
- ///
- /// \see_opencl_ref{clGetContextInfo}
- template<class T>
- T get_info(cl_context_info info) const
- {
- return detail::get_object_info<T>(clGetContextInfo, m_context, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<context, Enum>::type
- get_info() const;
-
- /// Returns \c true if the context is the same as \p other.
- bool operator==(const context &other) const
- {
- return m_context == other.m_context;
- }
-
- /// Returns \c true if the context is different from \p other.
- bool operator!=(const context &other) const
- {
- return m_context != other.m_context;
- }
-
- /// \internal_
- operator cl_context() const
- {
- return m_context;
- }
-
-private:
- cl_context m_context;
-};
-
-/// \internal_ define get_info() specializations for context
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(context,
- ((cl_uint, CL_CONTEXT_REFERENCE_COUNT))
- ((std::vector<cl_device_id>, CL_CONTEXT_DEVICES))
- ((std::vector<cl_context_properties>, CL_CONTEXT_PROPERTIES))
-)
-
-#ifdef CL_VERSION_1_1
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(context,
- ((cl_uint, CL_CONTEXT_NUM_DEVICES))
-)
-#endif // CL_VERSION_1_1
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_CONTEXT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/assert_cl_success.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/assert_cl_success.hpp
deleted file mode 100644
index 78acaf6ca..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/assert_cl_success.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_ASSERT_CL_SUCCESS_HPP
-#define BOOST_COMPUTE_DETAIL_ASSERT_CL_SUCCESS_HPP
-
-#include <boost/assert.hpp>
-
-#if defined(BOOST_DISABLE_ASSERTS) || defined(NDEBUG)
-#define BOOST_COMPUTE_ASSERT_CL_SUCCESS(function) \
- function
-#else
-#define BOOST_COMPUTE_ASSERT_CL_SUCCESS(function) \
- BOOST_ASSERT(function == CL_SUCCESS)
-#endif
-
-#endif // BOOST_COMPUTE_DETAIL_ASSERT_CL_SUCCESS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/buffer_value.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/buffer_value.hpp
deleted file mode 100644
index 6a4e78fc1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/buffer_value.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_BUFFER_VALUE_HPP
-#define BOOST_COMPUTE_DETAIL_BUFFER_VALUE_HPP
-
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/device_ptr.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-class buffer_value
-{
-public:
- typedef T value_type;
-
- buffer_value()
- {
- }
-
- buffer_value(const value_type &value)
- : m_value(value)
- {
- }
-
- // creates a reference for the value in buffer at index (in bytes).
- buffer_value(const buffer &buffer, size_t index)
- : m_buffer(buffer.get(), false),
- m_index(index)
- {
- }
-
- buffer_value(const buffer_value<T> &other)
- : m_buffer(other.m_buffer.get(), false),
- m_index(other.m_index)
- {
- }
-
- ~buffer_value()
- {
- // set buffer to null so that its reference count will
- // not be decremented when its destructor is called
- m_buffer.get() = 0;
- }
-
- operator value_type() const
- {
- if(m_buffer.get()){
- const context &context = m_buffer.get_context();
- const device &device = context.get_device();
- command_queue queue(context, device);
-
- return detail::read_single_value<T>(m_buffer, m_index / sizeof(T), queue);
- }
- else {
- return m_value;
- }
- }
-
- buffer_value<T> operator-() const
- {
- return -T(*this);
- }
-
- bool operator<(const T &value) const
- {
- return T(*this) < value;
- }
-
- bool operator>(const T &value) const
- {
- return T(*this) > value;
- }
-
- bool operator<=(const T &value) const
- {
- return T(*this) <= value;
- }
-
- bool operator>=(const T &value) const
- {
- return T(*this) <= value;
- }
-
- bool operator==(const T &value) const
- {
- return T(*this) == value;
- }
-
- bool operator==(const buffer_value<T> &other) const
- {
- if(m_buffer.get() != other.m_buffer.get()){
- return false;
- }
-
- if(m_buffer.get()){
- return m_index == other.m_index;
- }
- else {
- return m_value == other.m_value;
- }
- }
-
- bool operator!=(const T &value) const
- {
- return T(*this) != value;
- }
-
- buffer_value<T>& operator=(const T &value)
- {
- if(m_buffer.get()){
- const context &context = m_buffer.get_context();
- command_queue queue(context, context.get_device());
-
- detail::write_single_value<T>(value, m_buffer, m_index / sizeof(T), queue);
-
- return *this;
- }
- else {
- m_value = value;
- return *this;
- }
- }
-
- buffer_value<T>& operator=(const buffer_value<T> &value)
- {
- return operator=(T(value));
- }
-
- detail::device_ptr<T> operator&() const
- {
- return detail::device_ptr<T>(m_buffer, m_index);
- }
-
- buffer_value<T>& operator++()
- {
- if(m_buffer.get()){
- T value = T(*this);
- value++;
- *this = value;
- }
- else {
- m_value++;
- }
-
- return *this;
- }
-
- buffer_value<T> operator++(int)
- {
- buffer_value<T> result(*this);
- ++(*this);
- return result;
- }
-
-private:
- const buffer m_buffer;
- size_t m_index;
- value_type m_value;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_BUFFER_VALUE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/device_ptr.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/device_ptr.hpp
deleted file mode 100644
index 29ecd1363..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/device_ptr.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DEVICE_PTR_HPP
-#define BOOST_COMPUTE_DEVICE_PTR_HPP
-
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/config.hpp>
-#include <boost/compute/detail/is_buffer_iterator.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T, class IndexExpr>
-struct device_ptr_index_expr
-{
- typedef T result_type;
-
- device_ptr_index_expr(const buffer &buffer,
- uint_ index,
- const IndexExpr &expr)
- : m_buffer(buffer),
- m_index(index),
- m_expr(expr)
- {
- }
-
- operator T() const
- {
- BOOST_STATIC_ASSERT_MSG(boost::is_integral<IndexExpr>::value,
- "Index expression must be integral");
-
- BOOST_ASSERT(m_buffer.get());
-
- const context &context = m_buffer.get_context();
- const device &device = context.get_device();
- command_queue queue(context, device);
-
- return detail::read_single_value<T>(m_buffer, m_expr, queue);
- }
-
- const buffer &m_buffer;
- uint_ m_index;
- IndexExpr m_expr;
-};
-
-template<class T>
-class device_ptr
-{
-public:
- typedef T value_type;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
- typedef std::random_access_iterator_tag iterator_category;
- typedef T* pointer;
- typedef T& reference;
-
- device_ptr()
- : m_index(0)
- {
- }
-
- device_ptr(const buffer &buffer, size_t index = 0)
- : m_buffer(buffer.get(), false),
- m_index(index)
- {
- }
-
- device_ptr(const device_ptr<T> &other)
- : m_buffer(other.m_buffer.get(), false),
- m_index(other.m_index)
- {
- }
-
- device_ptr<T>& operator=(const device_ptr<T> &other)
- {
- if(this != &other){
- m_buffer.get() = other.m_buffer.get();
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- device_ptr(device_ptr<T>&& other) BOOST_NOEXCEPT
- : m_buffer(other.m_buffer.get(), false),
- m_index(other.m_index)
- {
- other.m_buffer.get() = 0;
- }
-
- device_ptr<T>& operator=(device_ptr<T>&& other) BOOST_NOEXCEPT
- {
- m_buffer.get() = other.m_buffer.get();
- m_index = other.m_index;
-
- other.m_buffer.get() = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- ~device_ptr()
- {
- // set buffer to null so that its reference count will
- // not be decremented when its destructor is called
- m_buffer.get() = 0;
- }
-
- size_type get_index() const
- {
- return m_index;
- }
-
- const buffer& get_buffer() const
- {
- return m_buffer;
- }
-
- template<class OT>
- device_ptr<OT> cast() const
- {
- return device_ptr<OT>(m_buffer, m_index);
- }
-
- device_ptr<T> operator+(difference_type n) const
- {
- return device_ptr<T>(m_buffer, m_index + n);
- }
-
- device_ptr<T> operator+(const device_ptr<T> &other) const
- {
- return device_ptr<T>(m_buffer, m_index + other.m_index);
- }
-
- device_ptr<T>& operator+=(difference_type n)
- {
- m_index += static_cast<size_t>(n);
- return *this;
- }
-
- difference_type operator-(const device_ptr<T> &other) const
- {
- return static_cast<difference_type>(m_index - other.m_index);
- }
-
- device_ptr<T>& operator-=(difference_type n)
- {
- m_index -= n;
- return *this;
- }
-
- bool operator==(const device_ptr<T> &other) const
- {
- return m_buffer.get() == other.m_buffer.get() &&
- m_index == other.m_index;
- }
-
- bool operator!=(const device_ptr<T> &other) const
- {
- return !(*this == other);
- }
-
- template<class Expr>
- detail::device_ptr_index_expr<T, Expr>
- operator[](const Expr &expr) const
- {
- BOOST_ASSERT(m_buffer.get());
-
- return detail::device_ptr_index_expr<T, Expr>(m_buffer,
- uint_(m_index),
- expr);
- }
-
-private:
- const buffer m_buffer;
- size_t m_index;
-};
-
-// is_buffer_iterator specialization for device_ptr
-template<class Iterator>
-struct is_buffer_iterator<
- Iterator,
- typename boost::enable_if<
- boost::is_same<
- device_ptr<typename Iterator::value_type>,
- typename boost::remove_const<Iterator>::type
- >
- >::type
-> : public boost::true_type {};
-
-} // end detail namespace
-
-// is_device_iterator specialization for device_ptr
-template<class T>
-struct is_device_iterator<detail::device_ptr<T> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DEVICE_PTR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/diagnostic.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/diagnostic.hpp
deleted file mode 100644
index 76a69f657..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/diagnostic.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2016 Jakub Szuppe <j.szuppe@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_DIAGNOSTIC_HPP
-#define BOOST_COMPUTE_DETAIL_DIAGNOSTIC_HPP
-
-// Macros for suppressing warnings for GCC version 4.6 or later. Usage:
-//
-// BOOST_COMPUTE_BOOST_COMPUTE_GCC_DIAG_OFF(sign-compare);
-// if(a < b){
-// BOOST_COMPUTE_BOOST_COMPUTE_GCC_DIAG_ON(sign-compare);
-//
-// Source: https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines
-#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
-#define BOOST_COMPUTE_GCC_DIAG_STR(s) #s
-#define BOOST_COMPUTE_GCC_DIAG_JOINSTR(x,y) BOOST_COMPUTE_GCC_DIAG_STR(x ## y)
-# define BOOST_COMPUTE_GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
-# define BOOST_COMPUTE_GCC_DIAG_PRAGMA(x) BOOST_COMPUTE_GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
-# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
-# define BOOST_COMPUTE_GCC_DIAG_OFF(x) BOOST_COMPUTE_GCC_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(ignored BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
-# define BOOST_COMPUTE_GCC_DIAG_ON(x) BOOST_COMPUTE_GCC_DIAG_PRAGMA(pop)
-# else
-# define BOOST_COMPUTE_GCC_DIAG_OFF(x) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(ignored BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
-# define BOOST_COMPUTE_GCC_DIAG_ON(x) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(warning BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
-# endif
-#else // Ensure these macros do nothing for other compilers.
-# define BOOST_COMPUTE_GCC_DIAG_OFF(x)
-# define BOOST_COMPUTE_GCC_DIAG_ON(x)
-#endif
-
-// Macros for suppressing warnings for Clang.
-//
-// BOOST_COMPUTE_BOOST_COMPUTE_CLANG_DIAG_OFF(sign-compare);
-// if(a < b){
-// BOOST_COMPUTE_BOOST_COMPUTE_CLANG_DIAG_ON(sign-compare);
-//
-// Source: https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines
-#ifdef __clang__
-# define BOOST_COMPUTE_CLANG_DIAG_STR(s) # s
-// stringize s to "no-sign-compare"
-# define BOOST_COMPUTE_CLANG_DIAG_JOINSTR(x,y) BOOST_COMPUTE_CLANG_DIAG_STR(x ## y)
-// join -W with no-unused-variable to "-Wno-sign-compare"
-# define BOOST_COMPUTE_CLANG_DIAG_DO_PRAGMA(x) _Pragma (#x)
-// _Pragma is unary operator #pragma ("")
-# define BOOST_COMPUTE_CLANG_DIAG_PRAGMA(x) \
- BOOST_COMPUTE_CLANG_DIAG_DO_PRAGMA(clang diagnostic x)
-# define BOOST_COMPUTE_CLANG_DIAG_OFF(x) BOOST_COMPUTE_CLANG_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_CLANG_DIAG_PRAGMA(ignored BOOST_COMPUTE_CLANG_DIAG_JOINSTR(-W,x))
-// For example: #pragma clang diagnostic ignored "-Wno-sign-compare"
-# define BOOST_COMPUTE_CLANG_DIAG_ON(x) BOOST_COMPUTE_CLANG_DIAG_PRAGMA(pop)
-// For example: #pragma clang diagnostic warning "-Wno-sign-compare"
-#else // Ensure these macros do nothing for other compilers.
-# define BOOST_COMPUTE_CLANG_DIAG_OFF(x)
-# define BOOST_COMPUTE_CLANG_DIAG_ON(x)
-# define BOOST_COMPUTE_CLANG_DIAG_PRAGMA(x)
-#endif
-
-// Macros for suppressing warnings for MSVC. Usage:
-//
-// BOOST_COMPUTE_BOOST_COMPUTE_MSVC_DIAG_OFF(4018); //sign-compare
-// if(a < b){
-// BOOST_COMPUTE_BOOST_COMPUTE_MSVC_DIAG_ON(4018);
-//
-#if defined(_MSC_VER)
-# define BOOST_COMPUTE_MSVC_DIAG_DO_PRAGMA(x) __pragma(x)
-# define BOOST_COMPUTE_MSVC_DIAG_PRAGMA(x) \
- BOOST_COMPUTE_MSVC_DIAG_DO_PRAGMA(warning(x))
-# define BOOST_COMPUTE_MSVC_DIAG_OFF(x) BOOST_COMPUTE_MSVC_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_MSVC_DIAG_PRAGMA(disable: x)
-# define BOOST_COMPUTE_MSVC_DIAG_ON(x) BOOST_COMPUTE_MSVC_DIAG_PRAGMA(pop)
-#else // Ensure these macros do nothing for other compilers.
-# define BOOST_COMPUTE_MSVC_DIAG_OFF(x)
-# define BOOST_COMPUTE_MSVC_DIAG_ON(x)
-#endif
-
-// Macros for suppressing warnings for GCC, Clang and MSVC. Usage:
-//
-// BOOST_COMPUTE_DIAG_OFF(sign-compare, sign-compare, 4018);
-// if(a < b){
-// BOOST_COMPUTE_DIAG_ON(sign-compare, sign-compare, 4018);
-//
-#if defined(_MSC_VER) // MSVC
-# define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_MSVC_DIAG_OFF(msvc)
-# define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_MSVC_DIAG_ON(msvc)
-#elif defined(__clang__) // Clang
-# define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_CLANG_DIAG_OFF(clang)
-# define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_CLANG_DIAG_ON(clang)
-#elif defined(__GNUC__) // GCC/G++
-# define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_GCC_DIAG_OFF(gcc)
-# define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_GCC_DIAG_ON(gcc)
-#else // Ensure these macros do nothing for other compilers.
-# define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc)
-# define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc)
-#endif
-
-#define BOOST_COMPUTE_DISABLE_DEPRECATED_DECLARATIONS() \
- BOOST_COMPUTE_DIAG_OFF(deprecated-declarations, deprecated-declarations, 4996)
-#define BOOST_COMPUTE_ENABLE_DEPRECATED_DECLARATIONS() \
- BOOST_COMPUTE_DIAG_ON(deprecated-declarations, deprecated-declarations, 4996);
-
-
-#endif /* BOOST_COMPUTE_DETAIL_DIAGNOSTIC_HPP */
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/duration.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/duration.hpp
deleted file mode 100644
index 601f12d29..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/duration.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_DURATION_HPP
-#define BOOST_COMPUTE_DETAIL_DURATION_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_COMPUTE_NO_HDR_CHRONO
-#include <chrono>
-#endif
-
-#include <boost/chrono/duration.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-#ifndef BOOST_COMPUTE_NO_HDR_CHRONO
-template<class Rep, class Period>
-inline std::chrono::duration<Rep, Period>
-make_duration_from_nanoseconds(std::chrono::duration<Rep, Period>, size_t nanoseconds)
-{
- return std::chrono::duration_cast<std::chrono::duration<Rep, Period> >(
- std::chrono::nanoseconds(nanoseconds)
- );
-}
-#endif // BOOST_COMPUTE_NO_HDR_CHRONO
-
-template<class Rep, class Period>
-inline boost::chrono::duration<Rep, Period>
-make_duration_from_nanoseconds(boost::chrono::duration<Rep, Period>, size_t nanoseconds)
-{
- return boost::chrono::duration_cast<boost::chrono::duration<Rep, Period> >(
- boost::chrono::nanoseconds(nanoseconds)
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_DURATION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/get_object_info.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/get_object_info.hpp
deleted file mode 100644
index cdc20cbc1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/get_object_info.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_GET_OBJECT_INFO_HPP
-#define BOOST_COMPUTE_DETAIL_GET_OBJECT_INFO_HPP
-
-#include <string>
-#include <vector>
-
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Function, class Object, class AuxInfo>
-struct bound_info_function
-{
- bound_info_function(Function function, Object object, AuxInfo aux_info)
- : m_function(function),
- m_object(object),
- m_aux_info(aux_info)
- {
- }
-
- template<class Info>
- cl_int operator()(Info info, size_t size, void *value, size_t *size_ret) const
- {
- return m_function(m_object, m_aux_info, info, size, value, size_ret);
- }
-
- Function m_function;
- Object m_object;
- AuxInfo m_aux_info;
-};
-
-template<class Function, class Object>
-struct bound_info_function<Function, Object, void>
-{
- bound_info_function(Function function, Object object)
- : m_function(function),
- m_object(object)
- {
- }
-
- template<class Info>
- cl_int operator()(Info info, size_t size, void *value, size_t *size_ret) const
- {
- return m_function(m_object, info, size, value, size_ret);
- }
-
- Function m_function;
- Object m_object;
-};
-
-template<class Function, class Object>
-inline bound_info_function<Function, Object, void>
-bind_info_function(Function f, Object o)
-{
- return bound_info_function<Function, Object, void>(f, o);
-}
-
-template<class Function, class Object, class AuxInfo>
-inline bound_info_function<Function, Object, AuxInfo>
-bind_info_function(Function f, Object o, AuxInfo j)
-{
- return bound_info_function<Function, Object, AuxInfo>(f, o, j);
-}
-
-// default implementation
-template<class T>
-struct get_object_info_impl
-{
- template<class Function, class Info>
- T operator()(Function function, Info info) const
- {
- T value;
-
- cl_int ret = function(info, sizeof(T), &value, 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return value;
- }
-};
-
-// specialization for bool
-template<>
-struct get_object_info_impl<bool>
-{
- template<class Function, class Info>
- bool operator()(Function function, Info info) const
- {
- cl_bool value;
-
- cl_int ret = function(info, sizeof(cl_bool), &value, 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return value == CL_TRUE;
- }
-};
-
-// specialization for std::string
-template<>
-struct get_object_info_impl<std::string>
-{
- template<class Function, class Info>
- std::string operator()(Function function, Info info) const
- {
- size_t size = 0;
-
- cl_int ret = function(info, 0, 0, &size);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- if(size == 0){
- return std::string();
- }
-
- std::string value(size - 1, 0);
-
- ret = function(info, size, &value[0], 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return value;
- }
-};
-
-// specialization for std::vector<T>
-template<class T>
-struct get_object_info_impl<std::vector<T> >
-{
- template<class Function, class Info>
- std::vector<T> operator()(Function function, Info info) const
- {
- size_t size = 0;
-
- cl_int ret = function(info, 0, 0, &size);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- std::vector<T> vector(size / sizeof(T));
- ret = function(info, size, &vector[0], 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return vector;
- }
-};
-
-// returns the value (of type T) from the given clGet*Info() function call.
-template<class T, class Function, class Object, class Info>
-inline T get_object_info(Function f, Object o, Info i)
-{
- return get_object_info_impl<T>()(bind_info_function(f, o), i);
-}
-
-template<class T, class Function, class Object, class Info, class AuxInfo>
-inline T get_object_info(Function f, Object o, Info i, AuxInfo j)
-{
- return get_object_info_impl<T>()(bind_info_function(f, o, j), i);
-}
-
-// returns the value type for the clGet*Info() call on Object with Enum.
-template<class Object, int Enum>
-struct get_object_info_type;
-
-// defines the object::get_info<Enum>() specialization
-#define BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATION(object_type, result_type, value) \
- namespace detail { \
- template<> struct get_object_info_type<object_type, value> { typedef result_type type; }; \
- } \
- template<> inline result_type object_type::get_info<value>() const \
- { \
- return get_info<result_type>(value); \
- }
-
-// used by BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS()
-#define BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_IMPL(r, data, elem) \
- BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATION( \
- data, BOOST_PP_TUPLE_ELEM(2, 0, elem), BOOST_PP_TUPLE_ELEM(2, 1, elem) \
- )
-
-// defines the object::get_info<Enum>() specialization for each
-// (result_type, value) tuple in seq for object_type.
-#define BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(object_type, seq) \
- BOOST_PP_SEQ_FOR_EACH( \
- BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_IMPL, object_type, seq \
- )
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_GET_OBJECT_INFO_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/getenv.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/getenv.hpp
deleted file mode 100644
index ceb3605d5..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/getenv.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_GETENV_HPP
-#define BOOST_COMPUTE_DETAIL_GETENV_HPP
-
-#include <cstdlib>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-inline const char* getenv(const char *env_var)
-{
-#ifdef _MSC_VER
-# pragma warning(push)
-# pragma warning(disable: 4996)
-#endif
- return std::getenv(env_var);
-#ifdef _MSC_VER
-# pragma warning(pop)
-#endif
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_GETENV_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/global_static.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/global_static.hpp
deleted file mode 100644
index d8014e425..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/global_static.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_GLOBAL_STATIC_HPP
-#define BOOST_COMPUTE_DETAIL_GLOBAL_STATIC_HPP
-
-#include <boost/compute/config.hpp>
-
-#ifdef BOOST_COMPUTE_THREAD_SAFE
-# ifdef BOOST_COMPUTE_HAVE_THREAD_LOCAL
- // use c++11 thread local storage
-# define BOOST_COMPUTE_DETAIL_GLOBAL_STATIC(type, name, ctor) \
- thread_local type name ctor;
-# else
- // use thread_specific_ptr from boost.thread
-# include <boost/thread/tss.hpp>
-# define BOOST_COMPUTE_DETAIL_GLOBAL_STATIC(type, name, ctor) \
- static ::boost::thread_specific_ptr< type > BOOST_PP_CAT(name, _tls_ptr_); \
- if(!BOOST_PP_CAT(name, _tls_ptr_).get()){ \
- BOOST_PP_CAT(name, _tls_ptr_).reset(new type ctor); \
- } \
- static type &name = *BOOST_PP_CAT(name, _tls_ptr_);
-# endif
-#else
- // no thread-safety, just use static
-# define BOOST_COMPUTE_DETAIL_GLOBAL_STATIC(type, name, ctor) \
- static type name ctor;
-#endif
-
-#endif // BOOST_COMPUTE_DETAIL_GLOBAL_STATIC_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_buffer_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_buffer_iterator.hpp
deleted file mode 100644
index c0caa050d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_buffer_iterator.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_IS_BUFFER_ITERATOR_HPP
-#define BOOST_COMPUTE_DETAIL_IS_BUFFER_ITERATOR_HPP
-
-#include <boost/config.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// default = false
-template<class Iterator, class Enable = void>
-struct is_buffer_iterator : public boost::false_type {};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_IS_BUFFER_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_contiguous_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_contiguous_iterator.hpp
deleted file mode 100644
index d0889b2f9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/is_contiguous_iterator.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_IS_CONTIGUOUS_ITERATOR_HPP
-#define BOOST_COMPUTE_DETAIL_IS_CONTIGUOUS_ITERATOR_HPP
-
-#include <vector>
-#include <valarray>
-
-#include <boost/config.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// default = false
-template<class Iterator, class Enable = void>
-struct _is_contiguous_iterator : public boost::false_type {};
-
-// std::vector<T>::iterator = true
-template<class Iterator>
-struct _is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- typename boost::is_same<
- Iterator,
- typename std::vector<typename Iterator::value_type>::iterator
- >::type
- >::type
-> : public boost::true_type {};
-
-// std::vector<T>::const_iterator = true
-template<class Iterator>
-struct _is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- typename boost::is_same<
- Iterator,
- typename std::vector<typename Iterator::value_type>::const_iterator
- >::type
- >::type
-> : public boost::true_type {};
-
-// std::valarray<T>::iterator = true
-template<class Iterator>
-struct _is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- typename boost::is_same<
- Iterator,
- typename std::valarray<typename Iterator::value_type>::iterator
- >::type
- >::type
-> : public boost::true_type {};
-
-// std::valarray<T>::const_iterator = true
-template<class Iterator>
-struct _is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- typename boost::is_same<
- Iterator,
- typename std::valarray<typename Iterator::value_type>::const_iterator
- >::type
- >::type
-> : public boost::true_type {};
-
-// T* = true
-template<class Iterator>
-struct _is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- boost::is_pointer<Iterator>
- >::type
-> : public boost::true_type {};
-
-// the is_contiguous_iterator meta-function returns true if Iterator points
-// to a range of contiguous values. examples of contiguous iterators are
-// std::vector<>::iterator and float*. examples of non-contiguous iterators
-// are std::set<>::iterator and std::insert_iterator<>.
-//
-// the implementation consists of two phases. the first checks that value_type
-// for the iterator is not void. this must be done as for many containers void
-// is not a valid value_type (ex. std::vector<void>::iterator is not valid).
-// after ensuring a non-void value_type, the _is_contiguous_iterator function
-// is invoked. it has specializations retuning true for all (known) contiguous
-// iterators types and a default value of false.
-template<class Iterator, class Enable = void>
-struct is_contiguous_iterator :
- public _is_contiguous_iterator<
- typename boost::remove_cv<Iterator>::type
- > {};
-
-// value_type of void = false
-template<class Iterator>
-struct is_contiguous_iterator<
- Iterator,
- typename boost::enable_if<
- typename boost::is_void<
- typename Iterator::value_type
- >::type
- >::type
-> : public boost::false_type {};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_IS_CONTIGUOUS_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_plus_distance.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_plus_distance.hpp
deleted file mode 100644
index 26e95f16c..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_plus_distance.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_ITERATOR_PLUS_DISTANCE_HPP
-#define BOOST_COMPUTE_DETAIL_ITERATOR_PLUS_DISTANCE_HPP
-
-#include <iterator>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Iterator, class Distance, class Tag>
-inline Iterator iterator_plus_distance(Iterator i, Distance n, Tag)
-{
- while(n--){ i++; }
-
- return i;
-}
-
-template<class Iterator, class Distance>
-inline Iterator iterator_plus_distance(Iterator i,
- Distance n,
- std::random_access_iterator_tag)
-{
- typedef typename
- std::iterator_traits<Iterator>::difference_type difference_type;
-
- return i + static_cast<difference_type>(n);
-}
-
-// similar to std::advance() except returns the advanced iterator and
-// also works with iterators that don't define difference_type
-template<class Iterator, class Distance>
-inline Iterator iterator_plus_distance(Iterator i, Distance n)
-{
- typedef typename std::iterator_traits<Iterator>::iterator_category tag;
-
- return iterator_plus_distance(i, n, tag());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_ITERATOR_PLUS_DISTANCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_range_size.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_range_size.hpp
deleted file mode 100644
index 67a675f83..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/iterator_range_size.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_ITERATOR_RANGE_SIZE_H
-#define BOOST_COMPUTE_DETAIL_ITERATOR_RANGE_SIZE_H
-
-#include <cstddef>
-#include <algorithm>
-#include <iterator>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// This is a convenience function which returns the size of a range
-// bounded by two iterators. This function has two differences from
-// the std::distance() function: 1) the return type (size_t) is
-// unsigned, and 2) the return value is always positive.
-template<class Iterator>
-inline size_t iterator_range_size(Iterator first, Iterator last)
-{
- typedef typename
- std::iterator_traits<Iterator>::difference_type
- difference_type;
-
- difference_type difference = std::distance(first, last);
-
- return static_cast<size_t>(
- (std::max)(difference, static_cast<difference_type>(0))
- );
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_ITERATOR_RANGE_SIZE_H
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/literal.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/literal.hpp
deleted file mode 100644
index 874830ee4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/literal.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_LITERAL_HPP
-#define BOOST_COMPUTE_DETAIL_LITERAL_HPP
-
-#include <iomanip>
-#include <limits>
-#include <sstream>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-std::string make_literal(T x)
-{
- std::stringstream s;
- s << std::setprecision(
-#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
- std::numeric_limits<T>::max_digits10
-#else
- // We don't have max_digits10, so add 3 other digits (this is what is required for
- // float, and is one more than required for double).
- 3 + std::numeric_limits<T>::digits10
-#endif
- )
- << std::scientific
- << x;
-
- if(boost::is_same<T, float>::value || boost::is_same<T, float_>::value){
- s << "f";
- }
-
- return s.str();
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_LITERAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/lru_cache.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/lru_cache.hpp
deleted file mode 100644
index fe1a56f74..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/lru_cache.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_LRU_CACHE_HPP
-#define BOOST_COMPUTE_DETAIL_LRU_CACHE_HPP
-
-#include <map>
-#include <list>
-#include <utility>
-
-#include <boost/optional.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// a cache which evicts the least recently used item when it is full
-template<class Key, class Value>
-class lru_cache
-{
-public:
- typedef Key key_type;
- typedef Value value_type;
- typedef std::list<key_type> list_type;
- typedef std::map<
- key_type,
- std::pair<value_type, typename list_type::iterator>
- > map_type;
-
- lru_cache(size_t capacity)
- : m_capacity(capacity)
- {
- }
-
- ~lru_cache()
- {
- }
-
- size_t size() const
- {
- return m_map.size();
- }
-
- size_t capacity() const
- {
- return m_capacity;
- }
-
- bool empty() const
- {
- return m_map.empty();
- }
-
- bool contains(const key_type &key)
- {
- return m_map.find(key) != m_map.end();
- }
-
- void insert(const key_type &key, const value_type &value)
- {
- typename map_type::iterator i = m_map.find(key);
- if(i == m_map.end()){
- // insert item into the cache, but first check if it is full
- if(size() >= m_capacity){
- // cache is full, evict the least recently used item
- evict();
- }
-
- // insert the new item
- m_list.push_front(key);
- m_map[key] = std::make_pair(value, m_list.begin());
- }
- }
-
- boost::optional<value_type> get(const key_type &key)
- {
- // lookup value in the cache
- typename map_type::iterator i = m_map.find(key);
- if(i == m_map.end()){
- // value not in cache
- return boost::none;
- }
-
- // return the value, but first update its place in the most
- // recently used list
- typename list_type::iterator j = i->second.second;
- if(j != m_list.begin()){
- // move item to the front of the most recently used list
- m_list.erase(j);
- m_list.push_front(key);
-
- // update iterator in map
- j = m_list.begin();
- const value_type &value = i->second.first;
- m_map[key] = std::make_pair(value, j);
-
- // return the value
- return value;
- }
- else {
- // the item is already at the front of the most recently
- // used list so just return it
- return i->second.first;
- }
- }
-
- void clear()
- {
- m_map.clear();
- m_list.clear();
- }
-
-private:
- void evict()
- {
- // evict item from the end of most recently used list
- typename list_type::iterator i = --m_list.end();
- m_map.erase(*i);
- m_list.erase(i);
- }
-
-private:
- map_type m_map;
- list_type m_list;
- size_t m_capacity;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_LRU_CACHE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/meta_kernel.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/meta_kernel.hpp
deleted file mode 100644
index 5e6d6e033..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/meta_kernel.hpp
+++ /dev/null
@@ -1,1141 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_META_KERNEL_HPP
-#define BOOST_COMPUTE_DETAIL_META_KERNEL_HPP
-
-#include <set>
-#include <string>
-#include <vector>
-#include <iomanip>
-#include <sstream>
-#include <utility>
-
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/algorithm/string/find.hpp>
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/closure.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/type_traits.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/image/image2d.hpp>
-#include <boost/compute/image/image_sampler.hpp>
-#include <boost/compute/memory_object.hpp>
-#include <boost/compute/memory/svm_ptr.hpp>
-#include <boost/compute/detail/device_ptr.hpp>
-#include <boost/compute/detail/sha1.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-class meta_kernel_variable
-{
-public:
- typedef T result_type;
-
- meta_kernel_variable(const std::string &name)
- : m_name(name)
- {
- }
-
- meta_kernel_variable(const meta_kernel_variable &other)
- : m_name(other.m_name)
- {
- }
-
- meta_kernel_variable& operator=(const meta_kernel_variable &other)
- {
- if(this != &other){
- m_name = other.m_name;
- }
-
- return *this;
- }
-
- ~meta_kernel_variable()
- {
- }
-
- std::string name() const
- {
- return m_name;
- }
-
-private:
- std::string m_name;
-};
-
-template<class T>
-class meta_kernel_literal
-{
-public:
- typedef T result_type;
-
- meta_kernel_literal(const T &value)
- : m_value(value)
- {
- }
-
- meta_kernel_literal(const meta_kernel_literal &other)
- : m_value(other.m_value)
- {
- }
-
- meta_kernel_literal& operator=(const meta_kernel_literal &other)
- {
- if(this != &other){
- m_value = other.m_value;
- }
-
- return *this;
- }
-
- ~meta_kernel_literal()
- {
- }
-
- const T& value() const
- {
- return m_value;
- }
-
-private:
- T m_value;
-};
-
-struct meta_kernel_stored_arg
-{
- meta_kernel_stored_arg()
- : m_size(0),
- m_value(0)
- {
- }
-
- meta_kernel_stored_arg(const meta_kernel_stored_arg &other)
- : m_size(0),
- m_value(0)
- {
- set_value(other.m_size, other.m_value);
- }
-
- meta_kernel_stored_arg& operator=(const meta_kernel_stored_arg &other)
- {
- if(this != &other){
- set_value(other.m_size, other.m_value);
- }
-
- return *this;
- }
-
- template<class T>
- meta_kernel_stored_arg(const T &value)
- : m_size(0),
- m_value(0)
- {
- set_value(value);
- }
-
- ~meta_kernel_stored_arg()
- {
- if(m_value){
- std::free(m_value);
- }
- }
-
- void set_value(size_t size, const void *value)
- {
- if(m_value){
- std::free(m_value);
- }
-
- m_size = size;
-
- if(value){
- m_value = std::malloc(size);
- std::memcpy(m_value, value, size);
- }
- else {
- m_value = 0;
- }
- }
-
- template<class T>
- void set_value(const T &value)
- {
- set_value(sizeof(T), boost::addressof(value));
- }
-
- size_t m_size;
- void *m_value;
-};
-
-struct meta_kernel_buffer_info
-{
- meta_kernel_buffer_info(const buffer &buffer,
- const std::string &id,
- memory_object::address_space addr_space,
- size_t i)
- : m_mem(buffer.get()),
- identifier(id),
- address_space(addr_space),
- index(i)
- {
- }
-
- cl_mem m_mem;
- std::string identifier;
- memory_object::address_space address_space;
- size_t index;
-};
-
-struct meta_kernel_svm_info
-{
- template <class T>
- meta_kernel_svm_info(const svm_ptr<T> ptr,
- const std::string &id,
- memory_object::address_space addr_space,
- size_t i)
- : ptr(ptr.get()),
- identifier(id),
- address_space(addr_space),
- index(i)
- {
-
- }
-
- void* ptr;
- std::string identifier;
- memory_object::address_space address_space;
- size_t index;
-};
-
-
-class meta_kernel;
-
-template<class Type>
-struct inject_type_impl
-{
- void operator()(meta_kernel &)
- {
- // default implementation does nothing
- }
-};
-
-#define BOOST_COMPUTE_META_KERNEL_DECLARE_SCALAR_TYPE_STREAM_OPERATOR(type) \
- meta_kernel& operator<<(const type &x) \
- { \
- m_source << x; \
- return *this; \
- }
-
-#define BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(type) \
- meta_kernel& operator<<(const type &x) \
- { \
- m_source << "(" << type_name<type>() << ")"; \
- m_source << "("; \
- for(size_t i = 0; i < vector_size<type>::value; i++){ \
- *this << lit(x[i]); \
- \
- if(i != vector_size<type>::value - 1){ \
- m_source << ","; \
- } \
- } \
- m_source << ")"; \
- return *this; \
- }
-
-#define BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(type) \
- BOOST_COMPUTE_META_KERNEL_DECLARE_SCALAR_TYPE_STREAM_OPERATOR(BOOST_PP_CAT(type, _)) \
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(BOOST_PP_CAT(BOOST_PP_CAT(type, 2), _)) \
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(BOOST_PP_CAT(BOOST_PP_CAT(type, 4), _)) \
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(BOOST_PP_CAT(BOOST_PP_CAT(type, 8), _)) \
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(BOOST_PP_CAT(BOOST_PP_CAT(type, 16), _))
-
-class meta_kernel
-{
-public:
- template<class T>
- class argument
- {
- public:
- argument(const std::string &name, size_t index)
- : m_name(name),
- m_index(index)
- {
- }
-
- const std::string &name() const
- {
- return m_name;
- }
-
- size_t index() const
- {
- return m_index;
- }
-
- private:
- std::string m_name;
- size_t m_index;
- };
-
- explicit meta_kernel(const std::string &name)
- : m_name(name)
- {
- }
-
- meta_kernel(const meta_kernel &other)
- {
- m_source.str(other.m_source.str());
- m_options = other.m_options;
- }
-
- meta_kernel& operator=(const meta_kernel &other)
- {
- if(this != &other){
- m_source.str(other.m_source.str());
- m_options = other.m_options;
- }
-
- return *this;
- }
-
- ~meta_kernel()
- {
- }
-
- std::string name() const
- {
- return m_name;
- }
-
- std::string source() const
- {
- std::stringstream stream;
-
- // add pragmas
- if(!m_pragmas.empty()){
- stream << m_pragmas << "\n";
- }
-
- // add macros
- stream << "#define boost_pair_type(t1, t2) _pair_ ## t1 ## _ ## t2 ## _t\n";
- stream << "#define boost_pair_get(x, n) (n == 0 ? x.first ## x.second)\n";
- stream << "#define boost_make_pair(t1, x, t2, y) (boost_pair_type(t1, t2)) { x, y }\n";
- stream << "#define boost_tuple_get(x, n) (x.v ## n)\n";
-
- // add type declaration source
- stream << m_type_declaration_source.str() << "\n";
-
- // add external function source
- stream << m_external_function_source.str() << "\n";
-
- // add kernel source
- stream << "__kernel void " << m_name
- << "(" << boost::join(m_args, ", ") << ")\n"
- << "{\n" << m_source.str() << "\n}\n";
-
- return stream.str();
- }
-
- kernel compile(const context &context, const std::string &options = std::string())
- {
- // generate the program source
- std::string source = this->source();
-
- // generate cache key
- std::string cache_key = "__boost_meta_kernel_" +
- static_cast<std::string>(detail::sha1(source));
-
- // load program cache
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(context);
-
- std::string compile_options = m_options + options;
-
- // load (or build) program from cache
- ::boost::compute::program program =
- cache->get_or_build(cache_key, compile_options, source, context);
-
- // create kernel
- ::boost::compute::kernel kernel = program.create_kernel(name());
-
- // bind stored args
- for(size_t i = 0; i < m_stored_args.size(); i++){
- const detail::meta_kernel_stored_arg &arg = m_stored_args[i];
-
- if(arg.m_size != 0){
- kernel.set_arg(i, arg.m_size, arg.m_value);
- }
- }
-
- // bind buffer args
- for(size_t i = 0; i < m_stored_buffers.size(); i++){
- const detail::meta_kernel_buffer_info &bi = m_stored_buffers[i];
-
- kernel.set_arg(bi.index, bi.m_mem);
- }
-
- // bind svm args
- for(size_t i = 0; i < m_stored_svm_ptrs.size(); i++){
- const detail::meta_kernel_svm_info &spi = m_stored_svm_ptrs[i];
-
- kernel.set_arg_svm_ptr(spi.index, spi.ptr);
- }
-
- return kernel;
- }
-
- template<class T>
- size_t add_arg(const std::string &name)
- {
- std::stringstream stream;
- stream << type<T>() << " " << name;
-
- // add argument to list
- m_args.push_back(stream.str());
-
- // return index
- return m_args.size() - 1;
- }
-
- template<class T>
- size_t add_arg(memory_object::address_space address_space,
- const std::string &name)
- {
- return add_arg_with_qualifiers<T>(address_space_prefix(address_space), name);
- }
-
- template<class T>
- void set_arg(size_t index, const T &value)
- {
- if(index >= m_stored_args.size()){
- m_stored_args.resize(index + 1);
- }
-
- m_stored_args[index] = detail::meta_kernel_stored_arg(value);
- }
-
- void set_arg(size_t index, const memory_object &mem)
- {
- set_arg<cl_mem>(index, mem.get());
- }
-
- void set_arg(size_t index, const image_sampler &sampler)
- {
- set_arg<cl_sampler>(index, cl_sampler(sampler));
- }
-
- template<class T>
- size_t add_set_arg(const std::string &name, const T &value)
- {
- size_t index = add_arg<T>(name);
- set_arg<T>(index, value);
- return index;
- }
-
- void add_extension_pragma(const std::string &extension,
- const std::string &value = "enable")
- {
- m_pragmas += "#pragma OPENCL EXTENSION " + extension + " : " + value + "\n";
- }
-
- void add_extension_pragma(const std::string &extension,
- const std::string &value) const
- {
- return const_cast<meta_kernel *>(this)->add_extension_pragma(extension, value);
- }
-
- template<class T>
- std::string type() const
- {
- std::stringstream stream;
-
- // const qualifier
- if(boost::is_const<T>::value){
- stream << "const ";
- }
-
- // volatile qualifier
- if(boost::is_volatile<T>::value){
- stream << "volatile ";
- }
-
- // type
- typedef
- typename boost::remove_cv<
- typename boost::remove_pointer<T>::type
- >::type Type;
- stream << type_name<Type>();
-
- // pointer
- if(boost::is_pointer<T>::value){
- stream << "*";
- }
-
- // inject type pragmas and/or definitions
- inject_type<Type>();
-
- return stream.str();
- }
-
- template<class T>
- std::string decl(const std::string &name) const
- {
- return type<T>() + " " + name;
- }
-
- template<class T, class Expr>
- std::string decl(const std::string &name, const Expr &init) const
- {
- meta_kernel tmp((std::string()));
- tmp << tmp.decl<T>(name) << " = " << init;
- return tmp.m_source.str();
- }
-
- template<class T>
- detail::meta_kernel_variable<T> var(const std::string &name) const
- {
- type<T>();
-
- return make_var<T>(name);
- }
-
- template<class T>
- detail::meta_kernel_literal<T> lit(const T &value) const
- {
- type<T>();
-
- return detail::meta_kernel_literal<T>(value);
- }
-
- template<class T>
- detail::meta_kernel_variable<T> expr(const std::string &expr) const
- {
- type<T>();
-
- return detail::meta_kernel_variable<T>(expr);
- }
-
- // define stream operators for scalar and vector types
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(char)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(uchar)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(short)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(ushort)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(int)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(uint)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(long)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(ulong)
- BOOST_COMPUTE_META_KERNEL_DECLARE_TYPE_STREAM_OPERATORS(double)
-
- // define stream operators for float scalar and vector types
- meta_kernel& operator<<(const float &x)
- {
- m_source << std::showpoint << x << 'f';
- return *this;
- }
-
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(float2_)
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(float4_)
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(float8_)
- BOOST_COMPUTE_META_KERNEL_DECLARE_VECTOR_TYPE_STREAM_OPERATOR(float16_)
-
- // define stream operators for variable types
- template<class T>
- meta_kernel& operator<<(const meta_kernel_variable<T> &variable)
- {
- return *this << variable.name();
- }
-
- // define stream operators for literal types
- template<class T>
- meta_kernel& operator<<(const meta_kernel_literal<T> &literal)
- {
- return *this << literal.value();
- }
-
- meta_kernel& operator<<(const meta_kernel_literal<bool> &literal)
- {
- return *this << (literal.value() ? "true" : "false");
- }
-
- meta_kernel& operator<<(const meta_kernel_literal<char> &literal)
- {
- const char c = literal.value();
-
- switch(c){
- // control characters
- case '\0':
- return *this << "'\\0'";
- case '\a':
- return *this << "'\\a'";
- case '\b':
- return *this << "'\\b'";
- case '\t':
- return *this << "'\\t'";
- case '\n':
- return *this << "'\\n'";
- case '\v':
- return *this << "'\\v'";
- case '\f':
- return *this << "'\\f'";
- case '\r':
- return *this << "'\\r'";
-
- // characters which need escaping
- case '\"':
- case '\'':
- case '\?':
- case '\\':
- return *this << "'\\" << c << "'";
-
- // all other characters
- default:
- return *this << "'" << c << "'";
- }
- }
-
- meta_kernel& operator<<(const meta_kernel_literal<signed char> &literal)
- {
- return *this << lit<char>(literal.value());
- }
-
- meta_kernel& operator<<(const meta_kernel_literal<unsigned char> &literal)
- {
- return *this << uint_(literal.value());
- }
-
- // define stream operators for strings
- meta_kernel& operator<<(char ch)
- {
- m_source << ch;
- return *this;
- }
-
- meta_kernel& operator<<(const char *string)
- {
- m_source << string;
- return *this;
- }
-
- meta_kernel& operator<<(const std::string &string)
- {
- m_source << string;
- return *this;
- }
-
- template<class T>
- static detail::meta_kernel_variable<T> make_var(const std::string &name)
- {
- return detail::meta_kernel_variable<T>(name);
- }
-
- template<class T>
- static detail::meta_kernel_literal<T> make_lit(const T &value)
- {
- return detail::meta_kernel_literal<T>(value);
- }
-
- template<class T>
- static detail::meta_kernel_variable<T> make_expr(const std::string &expr)
- {
- return detail::meta_kernel_variable<T>(expr);
- }
-
- event exec(command_queue &queue)
- {
- return exec_1d(queue, 0, 1);
- }
-
- event exec_1d(command_queue &queue,
- size_t global_work_offset,
- size_t global_work_size)
- {
- const context &context = queue.get_context();
-
- ::boost::compute::kernel kernel = compile(context);
-
- return queue.enqueue_1d_range_kernel(
- kernel,
- global_work_offset,
- global_work_size,
- 0
- );
- }
-
- event exec_1d(command_queue &queue,
- size_t global_work_offset,
- size_t global_work_size,
- size_t local_work_size)
- {
- const context &context = queue.get_context();
-
- ::boost::compute::kernel kernel = compile(context);
-
- return queue.enqueue_1d_range_kernel(
- kernel,
- global_work_offset,
- global_work_size,
- local_work_size
- );
- }
-
- template<class T>
- std::string get_buffer_identifier(const buffer &buffer,
- const memory_object::address_space address_space =
- memory_object::global_memory)
- {
- // check if we've already seen buffer
- for(size_t i = 0; i < m_stored_buffers.size(); i++){
- const detail::meta_kernel_buffer_info &bi = m_stored_buffers[i];
-
- if(bi.m_mem == buffer.get() &&
- bi.address_space == address_space){
- return bi.identifier;
- }
- }
-
- // create a new binding
- std::string identifier =
- "_buf" + lexical_cast<std::string>(m_stored_buffers.size());
- size_t index = add_arg<T *>(address_space, identifier);
-
- // store new buffer info
- m_stored_buffers.push_back(
- detail::meta_kernel_buffer_info(buffer, identifier, address_space, index));
-
- return identifier;
- }
-
- template<class T>
- std::string get_svm_identifier(const svm_ptr<T> &svm_ptr,
- const memory_object::address_space address_space =
- memory_object::global_memory)
- {
- BOOST_ASSERT(
- (address_space == memory_object::global_memory)
- || (address_space == memory_object::constant_memory)
- );
-
- // check if we've already seen this pointer
- for(size_t i = 0; i < m_stored_svm_ptrs.size(); i++){
- const detail::meta_kernel_svm_info &spi = m_stored_svm_ptrs[i];
-
- if(spi.ptr == svm_ptr.get() &&
- spi.address_space == address_space){
- return spi.identifier;
- }
- }
-
- // create a new binding
- std::string identifier =
- "_svm_ptr" + lexical_cast<std::string>(m_stored_svm_ptrs.size());
- size_t index = add_arg<T *>(address_space, identifier);
-
- if(m_stored_svm_ptrs.empty()) {
- m_options += std::string(" -cl-std=CL2.0");
- }
-
- // store new svm pointer info
- m_stored_svm_ptrs.push_back(
- detail::meta_kernel_svm_info(
- svm_ptr, identifier, address_space, index
- )
- );
-
- return identifier;
- }
-
- std::string get_image_identifier(const char *qualifiers, const image2d &image)
- {
- size_t index = add_arg_with_qualifiers<image2d>(qualifiers, "image");
-
- set_arg(index, image);
-
- return "image";
- }
-
- std::string get_sampler_identifier(bool normalized_coords,
- cl_addressing_mode addressing_mode,
- cl_filter_mode filter_mode)
- {
- (void) normalized_coords;
- (void) addressing_mode;
- (void) filter_mode;
-
- m_pragmas += "const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE |\n"
- " CLK_ADDRESS_NONE |\n"
- " CLK_FILTER_NEAREST;\n";
-
- return "sampler";
- }
-
- template<class Expr>
- static std::string expr_to_string(const Expr &expr)
- {
- meta_kernel tmp((std::string()));
- tmp << expr;
- return tmp.m_source.str();
- }
-
- template<class Predicate>
- detail::invoked_function<bool, boost::tuple<Predicate> > if_(Predicate pred) const
- {
- return detail::invoked_function<bool, boost::tuple<Predicate> >(
- "if", std::string(), boost::make_tuple(pred)
- );
- }
-
- template<class Predicate>
- detail::invoked_function<bool, boost::tuple<Predicate> > else_if_(Predicate pred) const
- {
- return detail::invoked_function<bool, boost::tuple<Predicate> >(
- "else if", std::string(), boost::make_tuple(pred)
- );
- }
-
- detail::meta_kernel_variable<cl_uint> get_global_id(size_t dim) const
- {
- return expr<cl_uint>("get_global_id(" + lexical_cast<std::string>(dim) + ")");
- }
-
- void add_function(const std::string &name, const std::string &source)
- {
- if(m_external_function_names.count(name)){
- return;
- }
-
- m_external_function_names.insert(name);
- m_external_function_source << source << "\n";
- }
-
- void add_function(const std::string &name,
- const std::string &source,
- const std::map<std::string, std::string> &definitions)
- {
- typedef std::map<std::string, std::string>::const_iterator iter;
-
- std::stringstream s;
-
- // add #define's
- for(iter i = definitions.begin(); i != definitions.end(); i++){
- s << "#define " << i->first;
- if(!i->second.empty()){
- s << " " << i->second;
- }
- s << "\n";
- }
-
- s << source << "\n";
-
- // add #undef's
- for(iter i = definitions.begin(); i != definitions.end(); i++){
- s << "#undef " << i->first << "\n";
- }
-
- add_function(name, s.str());
- }
-
- template<class Type>
- void add_type_declaration(const std::string &declaration)
- {
- const char *name = type_name<Type>();
-
- // check if the type has already been declared
- std::string source = m_type_declaration_source.str();
- if(source.find(name) != std::string::npos){
- return;
- }
-
- m_type_declaration_source << declaration;
- }
-
- template<class Type>
- void inject_type() const
- {
- inject_type_impl<Type>()(const_cast<meta_kernel &>(*this));
- }
-
- // the insert_function_call() method inserts a call to a function with
- // the given name tuple of argument values.
- template<class ArgTuple>
- void insert_function_call(const std::string &name, const ArgTuple &args)
- {
- *this << name << '(';
- insert_function_call_args(args);
- *this << ')';
- }
-
- // the insert_function_call_args() method takes a tuple of argument values
- // and inserts them into the source string with a comma in-between each.
- // this is useful for creating function calls given a tuple of values.
- void insert_function_call_args(const boost::tuple<>&)
- {
- }
-
- #define BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARG_TYPE(z, n, unused) \
- inject_type<BOOST_PP_CAT(T, n)>();
-
- #define BOOST_COMPUTE_META_KERNEL_STREAM_FUNCTION_ARG(z, n, unused) \
- << boost::get<BOOST_PP_DEC(n)>(args) << ", "
-
- #define BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARGS(z, n, unused) \
- template<BOOST_PP_ENUM_PARAMS(n, class T)> \
- void insert_function_call_args( \
- const boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> &args \
- ) \
- { \
- BOOST_PP_REPEAT_FROM_TO( \
- 0, n, BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARG_TYPE, ~ \
- ) \
- *this \
- BOOST_PP_REPEAT_FROM_TO( \
- 1, n, BOOST_COMPUTE_META_KERNEL_STREAM_FUNCTION_ARG, ~ \
- ) \
- << boost::get<BOOST_PP_DEC(n)>(args); \
- }
-
- BOOST_PP_REPEAT_FROM_TO(
- 1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARGS, ~
- )
-
- #undef BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARG_TYPE
- #undef BOOST_COMPUTE_META_KERNEL_STREAM_FUNCTION_ARG
- #undef BOOST_COMPUTE_META_KERNEL_INSERT_FUNCTION_ARGS
-
- static const char* address_space_prefix(const memory_object::address_space value)
- {
- switch(value){
- case memory_object::global_memory: return "__global";
- case memory_object::local_memory: return "__local";
- case memory_object::private_memory: return "__private";
- case memory_object::constant_memory: return "__constant";
- };
-
- return 0; // unreachable
- }
-
-private:
- template<class T>
- size_t add_arg_with_qualifiers(const char *qualifiers, const std::string &name)
- {
- size_t index = add_arg<T>(name);
-
- // update argument type declaration with qualifiers
- std::stringstream s;
- s << qualifiers << " " << m_args[index];
- m_args[index] = s.str();
-
- return index;
- }
-
-private:
- std::string m_name;
- std::stringstream m_source;
- std::stringstream m_external_function_source;
- std::stringstream m_type_declaration_source;
- std::set<std::string> m_external_function_names;
- std::vector<std::string> m_args;
- std::string m_pragmas;
- std::string m_options;
- std::vector<detail::meta_kernel_stored_arg> m_stored_args;
- std::vector<detail::meta_kernel_buffer_info> m_stored_buffers;
- std::vector<detail::meta_kernel_svm_info> m_stored_svm_ptrs;
-};
-
-template<class ResultType, class ArgTuple>
-inline meta_kernel&
-operator<<(meta_kernel &kernel, const invoked_function<ResultType, ArgTuple> &expr)
-{
- if(!expr.source().empty()){
- kernel.add_function(expr.name(), expr.source(), expr.definitions());
- }
-
- kernel.insert_function_call(expr.name(), expr.args());
-
- return kernel;
-}
-
-template<class ResultType, class ArgTuple, class CaptureTuple>
-inline meta_kernel&
-operator<<(meta_kernel &kernel,
- const invoked_closure<ResultType, ArgTuple, CaptureTuple> &expr)
-{
- if(!expr.source().empty()){
- kernel.add_function(expr.name(), expr.source(), expr.definitions());
- }
-
- kernel << expr.name() << '(';
- kernel.insert_function_call_args(expr.args());
- kernel << ", ";
- kernel.insert_function_call_args(expr.capture());
- kernel << ')';
-
- return kernel;
-}
-
-template<class Arg1, class Arg2, class Result>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_binary_operator<Arg1,
- Arg2,
- Result> &expr)
-{
- return kernel << "((" << expr.arg1() << ")"
- << expr.op()
- << "(" << expr.arg2() << "))";
-}
-
-template<class T, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const detail::device_ptr_index_expr<T, IndexExpr> &expr)
-{
- if(expr.m_index == 0){
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer) <<
- '[' << expr.m_expr << ']';
- }
- else {
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer) <<
- '[' << expr.m_index << "+(" << expr.m_expr << ")]";
- }
-}
-
-template<class T1, class T2, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const detail::device_ptr_index_expr<std::pair<T1, T2>, IndexExpr> &expr)
-{
- typedef std::pair<T1, T2> T;
-
- if(expr.m_index == 0){
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer) <<
- '[' << expr.m_expr << ']';
- }
- else {
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer) <<
- '[' << expr.m_index << "+(" << expr.m_expr << ")]";
- }
-}
-
-// SVM requires OpenCL 2.0
-#if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-template<class T, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const svm_ptr_index_expr<T, IndexExpr> &expr)
-{
- return kernel <<
- kernel.get_svm_identifier<T>(expr.m_svm_ptr) <<
- '[' << expr.m_expr << ']';
-}
-#endif
-
-template<class Predicate, class Arg>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_unary_negate_function<Predicate,
- Arg> &expr)
-{
- return kernel << "!(" << expr.pred()(expr.expr()) << ')';
-}
-
-template<class Predicate, class Arg1, class Arg2>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_binary_negate_function<Predicate,
- Arg1,
- Arg2> &expr)
-{
- return kernel << "!(" << expr.pred()(expr.expr1(), expr.expr2()) << ')';
-}
-
-// get<N>() for vector types
-template<size_t N, class Arg, class T>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_get<N, Arg, T> &expr)
-{
- BOOST_STATIC_ASSERT(N < 16);
-
- if(N < 10){
- return kernel << expr.m_arg << ".s" << uint_(N);
- }
- else if(N < 16){
-#ifdef _MSC_VER
-# pragma warning(push)
-# pragma warning(disable: 4307)
-#endif
- return kernel << expr.m_arg << ".s" << char('a' + (N - 10));
-#ifdef _MSC_VER
-# pragma warning(pop)
-#endif
- }
-
- return kernel;
-}
-
-template<class T, class Arg>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_field<T, Arg> &expr)
-{
- return kernel << expr.m_arg << "." << expr.m_field;
-}
-
-template<class T, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k,
- const invoked_as<T, Arg> &expr)
-{
- return k << "as_" << type_name<T>() << "(" << expr.m_arg << ")";
-}
-
-template<class T, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k,
- const invoked_convert<T, Arg> &expr)
-{
- return k << "convert_" << type_name<T>() << "(" << expr.m_arg << ")";
-}
-
-template<class T, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k,
- const invoked_identity<T, Arg> &expr)
-{
- return k << expr.m_arg;
-}
-
-template<>
-struct inject_type_impl<double_>
-{
- void operator()(meta_kernel &kernel)
- {
- kernel.add_extension_pragma("cl_khr_fp64", "enable");
- }
-};
-
-template<class Scalar, size_t N>
-struct inject_type_impl<vector_type<Scalar, N> >
-{
- void operator()(meta_kernel &kernel)
- {
- kernel.inject_type<Scalar>();
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_META_KERNEL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/mpl_vector_to_tuple.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/mpl_vector_to_tuple.hpp
deleted file mode 100644
index 292a6e36e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/mpl_vector_to_tuple.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_MPL_VECTOR_TO_TUPLE_HPP
-#define BOOST_COMPUTE_DETAIL_MPL_VECTOR_TO_TUPLE_HPP
-
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/fusion/include/mpl.hpp>
-#include <boost/fusion/adapted/boost_tuple.hpp>
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/config.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-namespace mpl = boost::mpl;
-
-template<class Vector, size_t N>
-struct mpl_vector_to_tuple_impl;
-
-#define BOOST_COMPUTE_PRINT_ELEM(z, n, unused) \
- typename mpl::at_c<Vector, n>::type
-
-#define BOOST_COMPUTE_VEC2TUP(z, n, unused) \
-template<class Vector> \
-struct mpl_vector_to_tuple_impl<Vector, n> \
-{ \
- typedef typename \
- boost::tuple< \
- BOOST_PP_ENUM(n, BOOST_COMPUTE_PRINT_ELEM, ~) \
- > type; \
-};
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_VEC2TUP, ~)
-
-#undef BOOST_COMPUTE_VEC2TUP
-#undef BOOST_COMPUTE_PRINT_ELEM
-
-// meta-function which converts a mpl::vector to a boost::tuple
-template<class Vector>
-struct mpl_vector_to_tuple
-{
- typedef typename
- mpl_vector_to_tuple_impl<
- Vector,
- mpl::size<Vector>::value
- >::type type;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_MPL_VECTOR_TO_TUPLE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/parameter_cache.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/parameter_cache.hpp
deleted file mode 100644
index 0a16cd9b0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/parameter_cache.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_PARAMETER_CACHE_HPP
-#define BOOST_COMPUTE_DETAIL_PARAMETER_CACHE_HPP
-
-#include <algorithm>
-#include <string>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/make_shared.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/detail/global_static.hpp>
-#include <boost/compute/version.hpp>
-
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
-#include <boost/algorithm/string/trim.hpp>
-#include <boost/compute/detail/path.hpp>
-#include <boost/property_tree/ptree.hpp>
-#include <boost/property_tree/json_parser.hpp>
-#endif // BOOST_COMPUTE_USE_OFFLINE_CACHE
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-class parameter_cache : boost::noncopyable
-{
-public:
- parameter_cache(const device &device)
- : m_dirty(false),
- m_device_name(device.name())
- {
- #ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- // get offline cache file name (e.g. /home/user/.boost_compute/tune/device.json)
- m_file_name = make_file_name();
-
- // load parameters from offline cache file (if it exists)
- if(boost::filesystem::exists(m_file_name)){
- read_from_disk();
- }
- #endif // BOOST_COMPUTE_USE_OFFLINE_CACHE
- }
-
- ~parameter_cache()
- {
- #ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- write_to_disk();
- #endif // BOOST_COMPUTE_USE_OFFLINE_CACHE
- }
-
- void set(const std::string &object, const std::string &parameter, uint_ value)
- {
- m_cache[std::make_pair(object, parameter)] = value;
-
- // set the dirty flag to true. this will cause the updated parameters
- // to be stored to disk.
- m_dirty = true;
- }
-
- uint_ get(const std::string &object, const std::string &parameter, uint_ default_value)
- {
- std::map<std::pair<std::string, std::string>, uint_>::iterator
- iter = m_cache.find(std::make_pair(object, parameter));
- if(iter != m_cache.end()){
- return iter->second;
- }
- else {
- return default_value;
- }
- }
-
- static boost::shared_ptr<parameter_cache> get_global_cache(const device &device)
- {
- // device name -> parameter cache
- typedef std::map<std::string, boost::shared_ptr<parameter_cache> > cache_map;
-
- BOOST_COMPUTE_DETAIL_GLOBAL_STATIC(cache_map, caches, ((std::less<std::string>())));
-
- cache_map::iterator iter = caches.find(device.name());
- if(iter == caches.end()){
- boost::shared_ptr<parameter_cache> cache =
- boost::make_shared<parameter_cache>(device);
-
- caches.insert(iter, std::make_pair(device.name(), cache));
-
- return cache;
- }
- else {
- return iter->second;
- }
- }
-
-private:
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- // returns a string containing a cannoical device name
- static std::string cannonical_device_name(std::string name)
- {
- boost::algorithm::trim(name);
- std::replace(name.begin(), name.end(), ' ', '_');
- std::replace(name.begin(), name.end(), '(', '_');
- std::replace(name.begin(), name.end(), ')', '_');
- return name;
- }
-
- // returns the boost.compute version string
- static std::string version_string()
- {
- char buf[32];
- std::snprintf(buf, sizeof(buf), "%d.%d.%d", BOOST_COMPUTE_VERSION_MAJOR,
- BOOST_COMPUTE_VERSION_MINOR,
- BOOST_COMPUTE_VERSION_PATCH);
- return buf;
- }
-
- // returns the file path for the cached parameters
- std::string make_file_name() const
- {
- return detail::parameter_cache_path(true) + cannonical_device_name(m_device_name) + ".json";
- }
-
- // store current parameters to disk
- void write_to_disk()
- {
- BOOST_ASSERT(!m_file_name.empty());
-
- if(m_dirty){
- // save current parameters to disk
- boost::property_tree::ptree pt;
- pt.put("header.device", m_device_name);
- pt.put("header.version", version_string());
- typedef std::map<std::pair<std::string, std::string>, uint_> map_type;
- for(map_type::const_iterator iter = m_cache.begin(); iter != m_cache.end(); ++iter){
- const std::pair<std::string, std::string> &key = iter->first;
- pt.add(key.first + "." + key.second, iter->second);
- }
- write_json(m_file_name, pt);
-
- m_dirty = false;
- }
- }
-
- // load stored parameters from disk
- void read_from_disk()
- {
- BOOST_ASSERT(!m_file_name.empty());
-
- m_cache.clear();
-
- boost::property_tree::ptree pt;
- try {
- read_json(m_file_name, pt);
- }
- catch(boost::property_tree::json_parser::json_parser_error&){
- // no saved cache file, ignore
- return;
- }
-
- std::string stored_device;
- try {
- stored_device = pt.get<std::string>("header.device");
- }
- catch(boost::property_tree::ptree_bad_path&){
- return;
- }
-
- std::string stored_version;
- try {
- stored_version = pt.get<std::string>("header.version");
- }
- catch(boost::property_tree::ptree_bad_path&){
- return;
- }
-
- if(stored_device == m_device_name && stored_version == version_string()){
- typedef boost::property_tree::ptree::const_iterator pt_iter;
- for(pt_iter iter = pt.begin(); iter != pt.end(); ++iter){
- if(iter->first == "header"){
- // skip header
- continue;
- }
-
- boost::property_tree::ptree child_pt = pt.get_child(iter->first);
- for(pt_iter child_iter = child_pt.begin(); child_iter != child_pt.end(); ++child_iter){
- set(iter->first, child_iter->first, boost::lexical_cast<uint_>(child_iter->second.data()));
- }
- }
- }
-
- m_dirty = false;
- }
-#endif // BOOST_COMPUTE_USE_OFFLINE_CACHE
-
-private:
- bool m_dirty;
- std::string m_device_name;
- std::string m_file_name;
- std::map<std::pair<std::string, std::string>, uint_> m_cache;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_PARAMETER_CACHE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/path.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/path.hpp
deleted file mode 100644
index ec8760eaf..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/path.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_PATH_HPP
-#define BOOST_COMPUTE_DETAIL_PATH_HPP
-
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/compute/detail/getenv.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// Path delimiter symbol for the current OS.
-static const std::string& path_delim()
-{
- static const std::string delim =
- boost::filesystem::path("/").make_preferred().string();
- return delim;
-}
-
-// Path to appdata folder.
-inline const std::string& appdata_path()
-{
- #ifdef WIN32
- static const std::string appdata = detail::getenv("APPDATA")
- + path_delim() + "boost_compute";
- #else
- static const std::string appdata = detail::getenv("HOME")
- + path_delim() + ".boost_compute";
- #endif
- return appdata;
-}
-
-// Path to cached binaries.
-inline std::string program_binary_path(const std::string &hash, bool create = false)
-{
- std::string dir = detail::appdata_path() + path_delim()
- + hash.substr(0, 2) + path_delim()
- + hash.substr(2);
-
- if(create && !boost::filesystem::exists(dir)){
- boost::filesystem::create_directories(dir);
- }
-
- return dir + path_delim();
-}
-
-// Path to parameter caches.
-inline std::string parameter_cache_path(bool create = false)
-{
- const static std::string dir = appdata_path() + path_delim() + "tune";
-
- if(create && !boost::filesystem::exists(dir)){
- boost::filesystem::create_directories(dir);
- }
-
- return dir + path_delim();
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_PATH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/read_write_single_value.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/read_write_single_value.hpp
deleted file mode 100644
index fde40d946..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/read_write_single_value.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_READ_WRITE_SINGLE_VALUE_HPP
-#define BOOST_COMPUTE_DETAIL_READ_WRITE_SINGLE_VALUE_HPP
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/command_queue.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// reads and returns a single value at index in the buffer
-template<class T>
-inline T read_single_value(const buffer &buffer,
- size_t index,
- command_queue &queue)
-{
- BOOST_ASSERT(index < buffer.size() / sizeof(T));
- BOOST_ASSERT(buffer.get_context() == queue.get_context());
-
- T value;
- queue.enqueue_read_buffer(buffer,
- sizeof(T) * index,
- sizeof(T),
- &value);
- return value;
-}
-
-// reads and returns a the first value in the buffer
-template<class T>
-inline T read_single_value(const buffer &buffer, command_queue &queue)
-{
- return read_single_value<T>(buffer, 0, queue);
-}
-
-// writes a single value at index to the buffer
-template<class T>
-inline void write_single_value(const T &value,
- const buffer &buffer,
- size_t index,
- command_queue &queue)
-{
- BOOST_ASSERT(index < buffer.size() / sizeof(T));
- BOOST_ASSERT(buffer.get_context() == queue.get_context());
-
- queue.enqueue_write_buffer(buffer,
- index * sizeof(T),
- sizeof(T),
- &value);
-}
-
-// writes value to the first location in buffer
-template<class T>
-inline void write_single_value(const T &value,
- const buffer &buffer,
- command_queue &queue)
-{
- write_single_value<T>(value, buffer, 0, queue);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_READ_WRITE_SINGLE_VALUE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/sha1.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/sha1.hpp
deleted file mode 100644
index 5685fa440..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/sha1.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_SHA1_HPP
-#define BOOST_COMPUTE_DETAIL_SHA1_HPP
-
-#include <sstream>
-#include <iomanip>
-#include <boost/uuid/sha1.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// Accumulates SHA1 hash of the passed strings.
-class sha1 {
- public:
- sha1(const std::string &s = "") {
- if (!s.empty()) this->process(s);
- }
-
- sha1& process(const std::string &s) {
- h.process_bytes(s.c_str(), s.size());
- return *this;
- }
-
- operator std::string() {
- unsigned int digest[5];
- h.get_digest(digest);
-
- std::ostringstream buf;
- for(int i = 0; i < 5; ++i)
- buf << std::hex << std::setfill('0') << std::setw(8) << digest[i];
-
- return buf.str();
- }
- private:
- boost::uuids::detail::sha1 h;
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-
-#endif // BOOST_COMPUTE_DETAIL_SHA1_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/variadic_macros.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/variadic_macros.hpp
deleted file mode 100644
index 60f44bd1a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/variadic_macros.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_VARIDAIC_MACROS_HPP
-#define BOOST_COMPUTE_DETAIL_VARIDAIC_MACROS_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/config/config.hpp>
-#include <boost/preprocessor/tuple/to_seq.hpp>
-
-#if BOOST_PP_VARIADICS == 1
-# include <boost/preprocessor/variadic/size.hpp>
-#endif
-
-#ifdef BOOST_PP_VARIADIC_SIZE
-# define BOOST_COMPUTE_PP_VARIADIC_SIZE BOOST_PP_VARIADIC_SIZE
-#else
-# define BOOST_COMPUTE_PP_VARIADIC_SIZE(...) BOOST_COMPUTE_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
-# define BOOST_COMPUTE_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
-#endif
-
-#define BOOST_COMPUTE_PP_TUPLE_SIZE(tuple) \
- BOOST_COMPUTE_PP_VARIADIC_SIZE tuple
-
-#define BOOST_COMPUTE_PP_TUPLE_TO_SEQ(tuple) \
- BOOST_PP_TUPLE_TO_SEQ(BOOST_COMPUTE_PP_TUPLE_SIZE(tuple), tuple)
-
-#endif // BOOST_COMPUTE_DETAIL_VARIDAIC_MACROS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/vendor.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/vendor.hpp
deleted file mode 100644
index e2359cb46..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/vendor.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_VENDOR_HPP
-#define BOOST_COMPUTE_DETAIL_VENDOR_HPP
-
-#include <boost/compute/device.hpp>
-#include <boost/compute/platform.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// returns true if the device is an nvidia gpu
-inline bool is_nvidia_device(const device &device)
-{
- std::string nvidia("NVIDIA");
- return device.vendor().compare(0, nvidia.size(), nvidia) == 0;
-}
-
-// returns true if the device is an amd cpu or gpu
-inline bool is_amd_device(const device &device)
-{
- return device.platform().vendor() == "Advanced Micro Devices, Inc.";
-}
-
-// returns true if the platform is Apple OpenCL platform
-inline bool is_apple_platform(const platform &platform)
-{
- return platform.name() == "Apple";
-}
-
-// returns true if the device is from Apple OpenCL Platform
-inline bool is_apple_platform_device(const device &device)
-{
- return is_apple_platform(device.platform());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_VENDOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/work_size.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/work_size.hpp
deleted file mode 100644
index 552d797b8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/detail/work_size.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DETAIL_WORK_SIZE_HPP
-#define BOOST_COMPUTE_DETAIL_WORK_SIZE_HPP
-
-#include <cmath>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// Given a total number of values (count), a number of values to
-// process per thread (vtp), and a number of threads to execute per
-// block (tpb), this function returns the global work size to be
-// passed to clEnqueueNDRangeKernel() for a 1D algorithm.
-inline size_t calculate_work_size(size_t count, size_t vpt, size_t tpb)
-{
- size_t work_size = static_cast<size_t>(std::ceil(float(count) / vpt));
- if(work_size % tpb != 0){
- work_size += tpb - work_size % tpb;
- }
- return work_size;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DETAIL_WORK_SIZE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/device.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/device.hpp
deleted file mode 100644
index 5cf2e8c93..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/device.hpp
+++ /dev/null
@@ -1,584 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_DEVICE_HPP
-#define BOOST_COMPUTE_DEVICE_HPP
-
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include <boost/algorithm/string/split.hpp>
-#include <boost/algorithm/string/classification.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-
-namespace boost {
-namespace compute {
-
-class platform;
-
-/// \class device
-/// \brief A compute device.
-///
-/// Typical compute devices include GPUs and multi-core CPUs. A list
-/// of all compute devices available on a platform can be obtained
-/// via the platform::devices() method.
-///
-/// The default compute device for the system can be obtained with
-/// the system::default_device() method. For example:
-///
-/// \snippet test/test_device.cpp default_gpu
-///
-/// \see platform, context, command_queue
-class device
-{
-public:
- enum type {
- cpu = CL_DEVICE_TYPE_CPU,
- gpu = CL_DEVICE_TYPE_GPU,
- accelerator = CL_DEVICE_TYPE_ACCELERATOR
- };
-
- /// Creates a null device object.
- device()
- : m_id(0)
- {
- }
-
- /// Creates a new device object for \p id. If \p retain is \c true,
- /// the reference count for the device will be incremented.
- explicit device(cl_device_id id, bool retain = true)
- : m_id(id)
- {
- #ifdef CL_VERSION_1_2
- if(m_id && retain && is_subdevice()){
- clRetainDevice(m_id);
- }
- #else
- (void) retain;
- #endif
- }
-
- /// Creates a new device object as a copy of \p other.
- device(const device &other)
- : m_id(other.m_id)
- {
- #ifdef CL_VERSION_1_2
- if(m_id && is_subdevice()){
- clRetainDevice(m_id);
- }
- #endif
- }
-
- /// Copies the device from \p other to \c *this.
- device& operator=(const device &other)
- {
- if(this != &other){
- #ifdef CL_VERSION_1_2
- if(m_id && is_subdevice()){
- clReleaseDevice(m_id);
- }
- #endif
-
- m_id = other.m_id;
-
- #ifdef CL_VERSION_1_2
- if(m_id && is_subdevice()){
- clRetainDevice(m_id);
- }
- #endif
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new device object from \p other.
- device(device&& other) BOOST_NOEXCEPT
- : m_id(other.m_id)
- {
- other.m_id = 0;
- }
-
- /// Move-assigns the device from \p other to \c *this.
- device& operator=(device&& other) BOOST_NOEXCEPT
- {
- #ifdef CL_VERSION_1_2
- if(m_id && is_subdevice()){
- clReleaseDevice(m_id);
- }
- #endif
-
- m_id = other.m_id;
- other.m_id = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the device object.
- ~device()
- {
- #ifdef CL_VERSION_1_2
- if(m_id && is_subdevice()){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseDevice(m_id)
- );
- }
- #endif
- }
-
- /// Returns the ID of the device.
- cl_device_id id() const
- {
- return m_id;
- }
-
- /// Returns a reference to the underlying OpenCL device id.
- cl_device_id& get() const
- {
- return const_cast<cl_device_id&>(m_id);
- }
-
- /// Returns the type of the device.
- cl_device_type type() const
- {
- return get_info<cl_device_type>(CL_DEVICE_TYPE);
- }
-
- #ifdef BOOST_COMPUTE_DOXYGEN_INVOKED
- /// Returns the platform for the device.
- platform platform() const;
- #else
- boost::compute::platform platform() const;
- #endif
-
- /// Returns the name of the device.
- std::string name() const
- {
- return get_info<std::string>(CL_DEVICE_NAME);
- }
-
- /// Returns the name of the vendor for the device.
- std::string vendor() const
- {
- return get_info<std::string>(CL_DEVICE_VENDOR);
- }
-
- /// Returns the device profile string.
- std::string profile() const
- {
- return get_info<std::string>(CL_DEVICE_PROFILE);
- }
-
- /// Returns the device version string.
- std::string version() const
- {
- return get_info<std::string>(CL_DEVICE_VERSION);
- }
-
- /// Returns the driver version string.
- std::string driver_version() const
- {
- return get_info<std::string>(CL_DRIVER_VERSION);
- }
-
- /// Returns a list of extensions supported by the device.
- std::vector<std::string> extensions() const
- {
- std::string extensions_string =
- get_info<std::string>(CL_DEVICE_EXTENSIONS);
- std::vector<std::string> extensions_vector;
- boost::split(extensions_vector,
- extensions_string,
- boost::is_any_of("\t "),
- boost::token_compress_on);
- return extensions_vector;
- }
-
- /// Returns \c true if the device supports the extension with
- /// \p name.
- bool supports_extension(const std::string &name) const
- {
- const std::vector<std::string> extensions = this->extensions();
-
- return std::find(
- extensions.begin(), extensions.end(), name) != extensions.end();
- }
-
- /// Returns the number of address bits.
- uint_ address_bits() const
- {
- return get_info<uint_>(CL_DEVICE_ADDRESS_BITS);
- }
-
- /// Returns the global memory size in bytes.
- ulong_ global_memory_size() const
- {
- return get_info<ulong_>(CL_DEVICE_GLOBAL_MEM_SIZE);
- }
-
- /// Returns the local memory size in bytes.
- ulong_ local_memory_size() const
- {
- return get_info<ulong_>(CL_DEVICE_LOCAL_MEM_SIZE);
- }
-
- /// Returns the clock frequency for the device's compute units.
- uint_ clock_frequency() const
- {
- return get_info<uint_>(CL_DEVICE_MAX_CLOCK_FREQUENCY);
- }
-
- /// Returns the number of compute units in the device.
- uint_ compute_units() const
- {
- return get_info<uint_>(CL_DEVICE_MAX_COMPUTE_UNITS);
- }
-
- /// \internal_
- ulong_ max_memory_alloc_size() const
- {
- return get_info<ulong_>(CL_DEVICE_MAX_MEM_ALLOC_SIZE);
- }
-
- /// \internal_
- size_t max_work_group_size() const
- {
- return get_info<size_t>(CL_DEVICE_MAX_WORK_GROUP_SIZE);
- }
-
- /// \internal_
- uint_ max_work_item_dimensions() const
- {
- return get_info<uint_>(CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS);
- }
-
- /// Returns the preferred vector width for type \c T.
- template<class T>
- uint_ preferred_vector_width() const
- {
- return 0;
- }
-
- /// Returns the profiling timer resolution in nanoseconds.
- size_t profiling_timer_resolution() const
- {
- return get_info<size_t>(CL_DEVICE_PROFILING_TIMER_RESOLUTION);
- }
-
- /// Returns \c true if the device is a sub-device.
- bool is_subdevice() const
- {
- #if defined(CL_VERSION_1_2)
- try {
- return get_info<cl_device_id>(CL_DEVICE_PARENT_DEVICE) != 0;
- }
- catch(opencl_error&){
- // the get_info() call above will throw if the device's opencl version
- // is less than 1.2 (in which case it can't be a sub-device).
- return false;
- }
- #else
- return false;
- #endif
- }
-
- /// Returns information about the device.
- ///
- /// For example, to get the number of compute units:
- /// \code
- /// device.get_info<cl_uint>(CL_DEVICE_MAX_COMPUTE_UNITS);
- /// \endcode
- ///
- /// Alternatively, the template-specialized version can be used which
- /// automatically determines the result type:
- /// \code
- /// device.get_info<CL_DEVICE_MAX_COMPUTE_UNITS>();
- /// \endcode
- ///
- /// \see_opencl_ref{clGetDeviceInfo}
- template<class T>
- T get_info(cl_device_info info) const
- {
- return detail::get_object_info<T>(clGetDeviceInfo, m_id, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<device, Enum>::type
- get_info() const;
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Partitions the device into multiple sub-devices according to
- /// \p properties.
- ///
- /// \opencl_version_warning{1,2}
- std::vector<device>
- partition(const cl_device_partition_property *properties) const
- {
- // get sub-device count
- uint_ count = 0;
- int_ ret = clCreateSubDevices(m_id, properties, 0, 0, &count);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- // get sub-device ids
- std::vector<cl_device_id> ids(count);
- ret = clCreateSubDevices(m_id, properties, count, &ids[0], 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- // convert ids to device objects
- std::vector<device> devices(count);
- for(size_t i = 0; i < count; i++){
- devices[i] = device(ids[i], false);
- }
-
- return devices;
- }
-
- /// \opencl_version_warning{1,2}
- std::vector<device> partition_equally(size_t count) const
- {
- cl_device_partition_property properties[] = {
- CL_DEVICE_PARTITION_EQUALLY,
- static_cast<cl_device_partition_property>(count),
- 0
- };
-
- return partition(properties);
- }
-
- /// \opencl_version_warning{1,2}
- std::vector<device>
- partition_by_counts(const std::vector<size_t> &counts) const
- {
- std::vector<cl_device_partition_property> properties;
-
- properties.push_back(CL_DEVICE_PARTITION_BY_COUNTS);
- for(size_t i = 0; i < counts.size(); i++){
- properties.push_back(
- static_cast<cl_device_partition_property>(counts[i]));
- }
- properties.push_back(CL_DEVICE_PARTITION_BY_COUNTS_LIST_END);
- properties.push_back(0);
-
- return partition(&properties[0]);
- }
-
- /// \opencl_version_warning{1,2}
- std::vector<device>
- partition_by_affinity_domain(cl_device_affinity_domain domain) const
- {
- cl_device_partition_property properties[] = {
- CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN,
- static_cast<cl_device_partition_property>(domain),
- 0
- };
-
- return partition(properties);
- }
- #endif // CL_VERSION_1_2
-
- /// Returns \c true if the device is the same at \p other.
- bool operator==(const device &other) const
- {
- return m_id == other.m_id;
- }
-
- /// Returns \c true if the device is different from \p other.
- bool operator!=(const device &other) const
- {
- return m_id != other.m_id;
- }
-
- /// \internal_
- bool check_version(int major, int minor) const
- {
- std::stringstream stream;
- stream << version();
-
- int actual_major, actual_minor;
- stream.ignore(7); // 'OpenCL '
- stream >> actual_major;
- stream.ignore(1); // '.'
- stream >> actual_minor;
-
- return actual_major > major ||
- (actual_major == major && actual_minor >= minor);
- }
-
-private:
- cl_device_id m_id;
-};
-
-/// \internal_
-template<>
-inline uint_ device::preferred_vector_width<short_>() const
-{
- return get_info<uint_>(CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT);
-}
-
-/// \internal_
-template<>
-inline uint_ device::preferred_vector_width<int_>() const
-{
- return get_info<uint_>(CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT);
-}
-
-/// \internal_
-template<>
-inline uint_ device::preferred_vector_width<long_>() const
-{
- return get_info<uint_>(CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG);
-}
-
-/// \internal_
-template<>
-inline uint_ device::preferred_vector_width<float_>() const
-{
- return get_info<uint_>(CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT);
-}
-
-/// \internal_
-template<>
-inline uint_ device::preferred_vector_width<double_>() const
-{
- return get_info<uint_>(CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE);
-}
-
-/// \internal_ define get_info() specializations for device
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((cl_uint, CL_DEVICE_ADDRESS_BITS))
- ((bool, CL_DEVICE_AVAILABLE))
- ((bool, CL_DEVICE_COMPILER_AVAILABLE))
- ((bool, CL_DEVICE_ENDIAN_LITTLE))
- ((bool, CL_DEVICE_ERROR_CORRECTION_SUPPORT))
- ((cl_device_exec_capabilities, CL_DEVICE_EXECUTION_CAPABILITIES))
- ((std::string, CL_DEVICE_EXTENSIONS))
- ((cl_ulong, CL_DEVICE_GLOBAL_MEM_CACHE_SIZE))
- ((cl_device_mem_cache_type, CL_DEVICE_GLOBAL_MEM_CACHE_TYPE))
- ((cl_ulong, CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE))
- ((cl_ulong, CL_DEVICE_GLOBAL_MEM_SIZE))
- ((bool, CL_DEVICE_IMAGE_SUPPORT))
- ((size_t, CL_DEVICE_IMAGE2D_MAX_HEIGHT))
- ((size_t, CL_DEVICE_IMAGE2D_MAX_WIDTH))
- ((size_t, CL_DEVICE_IMAGE3D_MAX_DEPTH))
- ((size_t, CL_DEVICE_IMAGE3D_MAX_HEIGHT))
- ((size_t, CL_DEVICE_IMAGE3D_MAX_WIDTH))
- ((cl_ulong, CL_DEVICE_LOCAL_MEM_SIZE))
- ((cl_device_local_mem_type, CL_DEVICE_LOCAL_MEM_TYPE))
- ((cl_uint, CL_DEVICE_MAX_CLOCK_FREQUENCY))
- ((cl_uint, CL_DEVICE_MAX_COMPUTE_UNITS))
- ((cl_uint, CL_DEVICE_MAX_CONSTANT_ARGS))
- ((cl_ulong, CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE))
- ((cl_ulong, CL_DEVICE_MAX_MEM_ALLOC_SIZE))
- ((size_t, CL_DEVICE_MAX_PARAMETER_SIZE))
- ((cl_uint, CL_DEVICE_MAX_READ_IMAGE_ARGS))
- ((cl_uint, CL_DEVICE_MAX_SAMPLERS))
- ((size_t, CL_DEVICE_MAX_WORK_GROUP_SIZE))
- ((cl_uint, CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS))
- ((std::vector<size_t>, CL_DEVICE_MAX_WORK_ITEM_SIZES))
- ((cl_uint, CL_DEVICE_MAX_WRITE_IMAGE_ARGS))
- ((cl_uint, CL_DEVICE_MEM_BASE_ADDR_ALIGN))
- ((cl_uint, CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE))
- ((std::string, CL_DEVICE_NAME))
- ((cl_platform_id, CL_DEVICE_PLATFORM))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT))
- ((cl_uint, CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE))
- ((std::string, CL_DEVICE_PROFILE))
- ((size_t, CL_DEVICE_PROFILING_TIMER_RESOLUTION))
- ((cl_command_queue_properties, CL_DEVICE_QUEUE_PROPERTIES))
- ((cl_device_fp_config, CL_DEVICE_SINGLE_FP_CONFIG))
- ((cl_device_type, CL_DEVICE_TYPE))
- ((std::string, CL_DEVICE_VENDOR))
- ((cl_uint, CL_DEVICE_VENDOR_ID))
- ((std::string, CL_DEVICE_VERSION))
- ((std::string, CL_DRIVER_VERSION))
-)
-
-#ifdef CL_DEVICE_DOUBLE_FP_CONFIG
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((cl_device_fp_config, CL_DEVICE_DOUBLE_FP_CONFIG))
-)
-#endif
-
-#ifdef CL_DEVICE_HALF_FP_CONFIG
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((cl_device_fp_config, CL_DEVICE_HALF_FP_CONFIG))
-)
-#endif
-
-#ifdef CL_VERSION_1_1
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((bool, CL_DEVICE_HOST_UNIFIED_MEMORY))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_INT))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT))
- ((cl_uint, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE))
- ((std::string, CL_DEVICE_OPENCL_C_VERSION))
-)
-#endif // CL_VERSION_1_1
-
-#ifdef CL_VERSION_1_2
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((std::string, CL_DEVICE_BUILT_IN_KERNELS))
- ((bool, CL_DEVICE_LINKER_AVAILABLE))
- ((cl_device_id, CL_DEVICE_PARENT_DEVICE))
- ((cl_uint, CL_DEVICE_PARTITION_MAX_SUB_DEVICES))
- ((cl_device_partition_property, CL_DEVICE_PARTITION_PROPERTIES))
- ((cl_device_affinity_domain, CL_DEVICE_PARTITION_AFFINITY_DOMAIN))
- ((cl_device_partition_property, CL_DEVICE_PARTITION_TYPE))
- ((size_t, CL_DEVICE_PRINTF_BUFFER_SIZE))
- ((bool, CL_DEVICE_PREFERRED_INTEROP_USER_SYNC))
- ((cl_uint, CL_DEVICE_REFERENCE_COUNT))
-)
-#endif // CL_VERSION_1_2
-
-#ifdef CL_VERSION_2_0
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(device,
- ((size_t, CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE))
- ((size_t, CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE))
- ((cl_uint, CL_DEVICE_MAX_ON_DEVICE_EVENTS))
- ((cl_uint, CL_DEVICE_MAX_ON_DEVICE_QUEUES))
- ((cl_uint, CL_DEVICE_MAX_PIPE_ARGS))
- ((cl_uint, CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS))
- ((cl_uint, CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS))
- ((cl_uint, CL_DEVICE_PIPE_MAX_PACKET_SIZE))
- ((cl_uint, CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT))
- ((cl_uint, CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT))
- ((cl_uint, CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT))
- ((cl_uint, CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE))
- ((cl_uint, CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE))
- ((cl_command_queue_properties, CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES))
- ((cl_device_svm_capabilities, CL_DEVICE_SVM_CAPABILITIES))
- ((cl_uint, CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT))
- ((cl_uint, CL_DEVICE_IMAGE_PITCH_ALIGNMENT))
-)
-#endif // CL_VERSION_2_0
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_DEVICE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/event.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/event.hpp
deleted file mode 100644
index 2f53d8765..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/event.hpp
+++ /dev/null
@@ -1,338 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EVENT_HPP
-#define BOOST_COMPUTE_EVENT_HPP
-
-#include <boost/function.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/detail/duration.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class event
-/// \brief An event corresponding to an operation on a compute device
-///
-/// Event objects are used to track operations running on the device (such as
-/// kernel executions and memory transfers). Event objects are returned by the
-/// various \c enqueue_* methods of the command_queue class.
-///
-/// Events can be used to synchronize operations between the host and the
-/// device. The \c wait() method will block execution on the host until the
-/// operation corresponding to the event on the device has completed. The
-/// status of the operation can also be polled with the \c status() method.
-///
-/// Event objects can also be used for performance profiling. In order to use
-/// events for profiling, the command queue must be constructed with the
-/// \c CL_QUEUE_PROFILING_ENABLE flag. Then the \c duration() method can be
-/// used to retrieve the total duration of the operation on the device:
-/// \code
-/// std::cout << "time = " << e.duration<std::chrono::milliseconds>().count() << "ms\n";
-/// \endcode
-///
-/// \see \ref future "future<T>", wait_list
-class event
-{
-public:
- /// \internal_
- enum execution_status {
- complete = CL_COMPLETE,
- running = CL_RUNNING,
- submitted = CL_SUBMITTED,
- queued = CL_QUEUED
- };
-
- /// \internal_
- enum command_type {
- ndrange_kernel = CL_COMMAND_NDRANGE_KERNEL,
- task = CL_COMMAND_TASK,
- native_kernel = CL_COMMAND_NATIVE_KERNEL,
- read_buffer = CL_COMMAND_READ_BUFFER,
- write_buffer = CL_COMMAND_WRITE_BUFFER,
- copy_buffer = CL_COMMAND_COPY_BUFFER,
- read_image = CL_COMMAND_READ_IMAGE,
- write_image = CL_COMMAND_WRITE_IMAGE,
- copy_image = CL_COMMAND_COPY_IMAGE,
- copy_image_to_buffer = CL_COMMAND_COPY_IMAGE_TO_BUFFER,
- copy_buffer_to_image = CL_COMMAND_COPY_BUFFER_TO_IMAGE,
- map_buffer = CL_COMMAND_MAP_BUFFER,
- map_image = CL_COMMAND_MAP_IMAGE,
- unmap_mem_object = CL_COMMAND_UNMAP_MEM_OBJECT,
- marker = CL_COMMAND_MARKER,
- aquire_gl_objects = CL_COMMAND_ACQUIRE_GL_OBJECTS,
- release_gl_object = CL_COMMAND_RELEASE_GL_OBJECTS
- #if defined(CL_VERSION_1_1)
- ,
- read_buffer_rect = CL_COMMAND_READ_BUFFER_RECT,
- write_buffer_rect = CL_COMMAND_WRITE_BUFFER_RECT,
- copy_buffer_rect = CL_COMMAND_COPY_BUFFER_RECT
- #endif
- };
-
- /// \internal_
- enum profiling_info {
- profiling_command_queued = CL_PROFILING_COMMAND_QUEUED,
- profiling_command_submit = CL_PROFILING_COMMAND_SUBMIT,
- profiling_command_start = CL_PROFILING_COMMAND_START,
- profiling_command_end = CL_PROFILING_COMMAND_END
- };
-
- /// Creates a null event object.
- event()
- : m_event(0)
- {
- }
-
- explicit event(cl_event event, bool retain = true)
- : m_event(event)
- {
- if(m_event && retain){
- clRetainEvent(event);
- }
- }
-
- /// Makes a new event as a copy of \p other.
- event(const event &other)
- : m_event(other.m_event)
- {
- if(m_event){
- clRetainEvent(m_event);
- }
- }
-
- /// Copies the event object from \p other to \c *this.
- event& operator=(const event &other)
- {
- if(this != &other){
- if(m_event){
- clReleaseEvent(m_event);
- }
-
- m_event = other.m_event;
-
- if(m_event){
- clRetainEvent(m_event);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new event object from \p other.
- event(event&& other) BOOST_NOEXCEPT
- : m_event(other.m_event)
- {
- other.m_event = 0;
- }
-
- /// Move-assigns the event from \p other to \c *this.
- event& operator=(event&& other) BOOST_NOEXCEPT
- {
- if(m_event){
- clReleaseEvent(m_event);
- }
-
- m_event = other.m_event;
- other.m_event = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the event object.
- ~event()
- {
- if(m_event){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseEvent(m_event)
- );
- }
- }
-
- /// Returns a reference to the underlying OpenCL event object.
- cl_event& get() const
- {
- return const_cast<cl_event &>(m_event);
- }
-
- /// Returns the status of the event.
- cl_int status() const
- {
- return get_info<cl_int>(CL_EVENT_COMMAND_EXECUTION_STATUS);
- }
-
- /// Returns the command type for the event.
- cl_command_type get_command_type() const
- {
- return get_info<cl_command_type>(CL_EVENT_COMMAND_TYPE);
- }
-
- /// Returns information about the event.
- ///
- /// \see_opencl_ref{clGetEventInfo}
- template<class T>
- T get_info(cl_event_info info) const
- {
- return detail::get_object_info<T>(clGetEventInfo, m_event, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<event, Enum>::type
- get_info() const;
-
- /// Returns profiling information for the event.
- ///
- /// \see event::duration()
- ///
- /// \see_opencl_ref{clGetEventProfilingInfo}
- template<class T>
- T get_profiling_info(cl_profiling_info info) const
- {
- return detail::get_object_info<T>(clGetEventProfilingInfo,
- m_event,
- info);
- }
-
- /// Blocks until the actions corresponding to the event have
- /// completed.
- void wait() const
- {
- cl_int ret = clWaitForEvents(1, &m_event);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Registers a function to be called when the event status changes to
- /// \p status (by default CL_COMPLETE). The callback is passed the OpenCL
- /// event object, the event status, and a pointer to arbitrary user data.
- ///
- /// \see_opencl_ref{clSetEventCallback}
- ///
- /// \opencl_version_warning{1,1}
- void set_callback(void (BOOST_COMPUTE_CL_CALLBACK *callback)(
- cl_event event, cl_int status, void *user_data
- ),
- cl_int status = CL_COMPLETE,
- void *user_data = 0)
- {
- cl_int ret = clSetEventCallback(m_event, status, callback, user_data);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- /// Registers a generic function to be called when the event status
- /// changes to \p status (by default \c CL_COMPLETE).
- ///
- /// The function specified by \p callback must be invokable with zero
- /// arguments (e.g. \c callback()).
- ///
- /// \opencl_version_warning{1,1}
- template<class Function>
- void set_callback(Function callback, cl_int status = CL_COMPLETE)
- {
- set_callback(
- event_callback_invoker,
- status,
- new boost::function<void()>(callback)
- );
- }
- #endif // CL_VERSION_1_1
-
- /// Returns the total duration of the event from \p start to \p end.
- ///
- /// For example, to print the number of milliseconds the event took to
- /// execute:
- /// \code
- /// std::cout << event.duration<std::chrono::milliseconds>().count() << " ms" << std::endl;
- /// \endcode
- ///
- /// \see event::get_profiling_info()
- template<class Duration>
- Duration duration(cl_profiling_info start = CL_PROFILING_COMMAND_START,
- cl_profiling_info end = CL_PROFILING_COMMAND_END) const
- {
- const ulong_ nanoseconds =
- get_profiling_info<ulong_>(end) - get_profiling_info<ulong_>(start);
-
- return detail::make_duration_from_nanoseconds(Duration(), nanoseconds);
- }
-
- /// Returns \c true if the event is the same as \p other.
- bool operator==(const event &other) const
- {
- return m_event == other.m_event;
- }
-
- /// Returns \c true if the event is different from \p other.
- bool operator!=(const event &other) const
- {
- return m_event != other.m_event;
- }
-
- /// \internal_
- operator cl_event() const
- {
- return m_event;
- }
-
- /// \internal_ (deprecated)
- cl_int get_status() const
- {
- return status();
- }
-
-private:
- #ifdef CL_VERSION_1_1
- /// \internal_
- static void BOOST_COMPUTE_CL_CALLBACK
- event_callback_invoker(cl_event, cl_int, void *user_data)
- {
- boost::function<void()> *callback =
- static_cast<boost::function<void()> *>(user_data);
-
- (*callback)();
-
- delete callback;
- }
- #endif // CL_VERSION_1_1
-
-protected:
- cl_event m_event;
-};
-
-/// \internal_ define get_info() specializations for event
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(event,
- ((cl_command_queue, CL_EVENT_COMMAND_QUEUE))
- ((cl_command_type, CL_EVENT_COMMAND_TYPE))
- ((cl_int, CL_EVENT_COMMAND_EXECUTION_STATUS))
- ((cl_uint, CL_EVENT_REFERENCE_COUNT))
-)
-
-#ifdef CL_VERSION_1_1
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(event,
- ((cl_context, CL_EVENT_CONTEXT))
-)
-#endif
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EVENT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception.hpp
deleted file mode 100644
index 10a271de0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EXCEPTION_HPP
-#define BOOST_COMPUTE_EXCEPTION_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute exception headers.
-
-#include <boost/compute/exception/context_error.hpp>
-#include <boost/compute/exception/no_device_found.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/exception/unsupported_extension_error.hpp>
-
-#endif // BOOST_COMPUTE_EXCEPTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/context_error.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/context_error.hpp
deleted file mode 100644
index ec8dc7c30..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/context_error.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EXCEPTION_CONTEXT_ERROR_HPP
-#define BOOST_COMPUTE_EXCEPTION_CONTEXT_ERROR_HPP
-
-#include <exception>
-
-namespace boost {
-namespace compute {
-
-class context;
-
-/// \class context_error
-/// \brief A run-time OpenCL context error.
-///
-/// The context_error exception is thrown when the OpenCL context encounters
-/// an error condition. Boost.Compute is notified of these error conditions by
-/// registering an error handler when creating context objects (via the
-/// \c pfn_notify argument to the \c clCreateContext() function).
-///
-/// This exception is different than the opencl_error exception which is thrown
-/// as a result of error caused when calling a single OpenCL API function.
-///
-/// \see opencl_error
-class context_error : public std::exception
-{
-public:
- /// Creates a new context error exception object.
- context_error(const context *context,
- const char *errinfo,
- const void *private_info,
- size_t private_info_size) throw()
- : m_context(context),
- m_errinfo(errinfo),
- m_private_info(private_info),
- m_private_info_size(private_info_size)
- {
- }
-
- /// Destroys the context error object.
- ~context_error() throw()
- {
- }
-
- /// Returns a string with a description of the error.
- const char* what() const throw()
- {
- return m_errinfo;
- }
-
- /// Returns a pointer to the context object which generated the error
- /// notification.
- const context* get_context_ptr() const throw()
- {
- return m_context;
- }
-
- /// Returns a pointer to the private info memory block.
- const void* get_private_info_ptr() const throw()
- {
- return m_private_info;
- }
-
- /// Returns the size of the private info memory block.
- size_t get_private_info_size() const throw()
- {
- return m_private_info_size;
- }
-
-private:
- const context *m_context;
- const char *m_errinfo;
- const void *m_private_info;
- size_t m_private_info_size;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EXCEPTION_CONTEXT_ERROR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/no_device_found.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/no_device_found.hpp
deleted file mode 100644
index fb73942e0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/no_device_found.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EXCEPTION_NO_DEVICE_FOUND_HPP
-#define BOOST_COMPUTE_EXCEPTION_NO_DEVICE_FOUND_HPP
-
-#include <exception>
-
-namespace boost {
-namespace compute {
-
-/// \class no_device_found
-/// \brief Exception thrown when no OpenCL device is found
-///
-/// This exception is thrown when no valid OpenCL device can be found.
-///
-/// \see opencl_error
-class no_device_found : public std::exception
-{
-public:
- /// Creates a new no_device_found exception object.
- no_device_found() throw()
- {
- }
-
- /// Destroys the no_device_found exception object.
- ~no_device_found() throw()
- {
- }
-
- /// Returns a string containing a human-readable error message.
- const char* what() const throw()
- {
- return "No OpenCL device found";
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EXCEPTION_NO_DEVICE_FOUND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/opencl_error.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/opencl_error.hpp
deleted file mode 100644
index 29a3a9d25..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/opencl_error.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EXCEPTION_OPENCL_ERROR_HPP
-#define BOOST_COMPUTE_EXCEPTION_OPENCL_ERROR_HPP
-
-#include <exception>
-#include <string>
-#include <sstream>
-
-#include <boost/compute/cl.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class opencl_error
-/// \brief A run-time OpenCL error.
-///
-/// The opencl_error class represents an error returned from an OpenCL
-/// function.
-///
-/// \see context_error
-class opencl_error : public std::exception
-{
-public:
- /// Creates a new opencl_error exception object for \p error.
- explicit opencl_error(cl_int error) throw()
- : m_error(error),
- m_error_string(to_string(error))
- {
- }
-
- /// Destroys the opencl_error object.
- ~opencl_error() throw()
- {
- }
-
- /// Returns the numeric error code.
- cl_int error_code() const throw()
- {
- return m_error;
- }
-
- /// Returns a string description of the error.
- std::string error_string() const throw()
- {
- return m_error_string;
- }
-
- /// Returns a C-string description of the error.
- const char* what() const throw()
- {
- return m_error_string.c_str();
- }
-
- /// Static function which converts the numeric OpenCL error code \p error
- /// to a human-readable string.
- ///
- /// For example:
- /// \code
- /// std::cout << opencl_error::to_string(CL_INVALID_KERNEL_ARGS) << std::endl;
- /// \endcode
- ///
- /// Will print "Invalid Kernel Arguments".
- ///
- /// If the error code is unknown (e.g. not a valid OpenCL error), a string
- /// containing "Unknown OpenCL Error" along with the error number will be
- /// returned.
- static std::string to_string(cl_int error)
- {
- switch(error){
- case CL_SUCCESS: return "Success";
- case CL_DEVICE_NOT_FOUND: return "Device Not Found";
- case CL_DEVICE_NOT_AVAILABLE: return "Device Not Available";
- case CL_COMPILER_NOT_AVAILABLE: return "Compiler Not Available";
- case CL_MEM_OBJECT_ALLOCATION_FAILURE: return "Memory Object Allocation Failure";
- case CL_OUT_OF_RESOURCES: return "Out of Resources";
- case CL_OUT_OF_HOST_MEMORY: return "Out of Host Memory";
- case CL_PROFILING_INFO_NOT_AVAILABLE: return "Profiling Information Not Available";
- case CL_MEM_COPY_OVERLAP: return "Memory Copy Overlap";
- case CL_IMAGE_FORMAT_MISMATCH: return "Image Format Mismatch";
- case CL_IMAGE_FORMAT_NOT_SUPPORTED: return "Image Format Not Supported";
- case CL_BUILD_PROGRAM_FAILURE: return "Build Program Failure";
- case CL_MAP_FAILURE: return "Map Failure";
- case CL_INVALID_VALUE: return "Invalid Value";
- case CL_INVALID_DEVICE_TYPE: return "Invalid Device Type";
- case CL_INVALID_PLATFORM: return "Invalid Platform";
- case CL_INVALID_DEVICE: return "Invalid Device";
- case CL_INVALID_CONTEXT: return "Invalid Context";
- case CL_INVALID_QUEUE_PROPERTIES: return "Invalid Queue Properties";
- case CL_INVALID_COMMAND_QUEUE: return "Invalid Command Queue";
- case CL_INVALID_HOST_PTR: return "Invalid Host Pointer";
- case CL_INVALID_MEM_OBJECT: return "Invalid Memory Object";
- case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR: return "Invalid Image Format Descriptor";
- case CL_INVALID_IMAGE_SIZE: return "Invalid Image Size";
- case CL_INVALID_SAMPLER: return "Invalid Sampler";
- case CL_INVALID_BINARY: return "Invalid Binary";
- case CL_INVALID_BUILD_OPTIONS: return "Invalid Build Options";
- case CL_INVALID_PROGRAM: return "Invalid Program";
- case CL_INVALID_PROGRAM_EXECUTABLE: return "Invalid Program Executable";
- case CL_INVALID_KERNEL_NAME: return "Invalid Kernel Name";
- case CL_INVALID_KERNEL_DEFINITION: return "Invalid Kernel Definition";
- case CL_INVALID_KERNEL: return "Invalid Kernel";
- case CL_INVALID_ARG_INDEX: return "Invalid Argument Index";
- case CL_INVALID_ARG_VALUE: return "Invalid Argument Value";
- case CL_INVALID_ARG_SIZE: return "Invalid Argument Size";
- case CL_INVALID_KERNEL_ARGS: return "Invalid Kernel Arguments";
- case CL_INVALID_WORK_DIMENSION: return "Invalid Work Dimension";
- case CL_INVALID_WORK_GROUP_SIZE: return "Invalid Work Group Size";
- case CL_INVALID_WORK_ITEM_SIZE: return "Invalid Work Item Size";
- case CL_INVALID_GLOBAL_OFFSET: return "Invalid Global Offset";
- case CL_INVALID_EVENT_WAIT_LIST: return "Invalid Event Wait List";
- case CL_INVALID_EVENT: return "Invalid Event";
- case CL_INVALID_OPERATION: return "Invalid Operation";
- case CL_INVALID_GL_OBJECT: return "Invalid GL Object";
- case CL_INVALID_BUFFER_SIZE: return "Invalid Buffer Size";
- case CL_INVALID_MIP_LEVEL: return "Invalid MIP Level";
- case CL_INVALID_GLOBAL_WORK_SIZE: return "Invalid Global Work Size";
- #ifdef CL_VERSION_1_2
- case CL_COMPILE_PROGRAM_FAILURE: return "Compile Program Failure";
- case CL_LINKER_NOT_AVAILABLE: return "Linker Not Available";
- case CL_LINK_PROGRAM_FAILURE: return "Link Program Failure";
- case CL_DEVICE_PARTITION_FAILED: return "Device Partition Failed";
- case CL_KERNEL_ARG_INFO_NOT_AVAILABLE: return "Kernel Argument Info Not Available";
- case CL_INVALID_PROPERTY: return "Invalid Property";
- case CL_INVALID_IMAGE_DESCRIPTOR: return "Invalid Image Descriptor";
- case CL_INVALID_COMPILER_OPTIONS: return "Invalid Compiler Options";
- case CL_INVALID_LINKER_OPTIONS: return "Invalid Linker Options";
- case CL_INVALID_DEVICE_PARTITION_COUNT: return "Invalid Device Partition Count";
- #endif // CL_VERSION_1_2
- #ifdef CL_VERSION_2_0
- case CL_INVALID_PIPE_SIZE: return "Invalid Pipe Size";
- case CL_INVALID_DEVICE_QUEUE: return "Invalid Device Queue";
- #endif
- default: {
- std::stringstream s;
- s << "Unknown OpenCL Error (" << error << ")";
- return s.str();
- }
- }
- }
-
-private:
- cl_int m_error;
- std::string m_error_string;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EXCEPTION_OPENCL_ERROR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/unsupported_extension_error.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/unsupported_extension_error.hpp
deleted file mode 100644
index c6f4de6c3..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/exception/unsupported_extension_error.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_EXCEPTION_UNSUPPORTED_EXTENSION_ERROR_HPP
-#define BOOST_COMPUTE_EXCEPTION_UNSUPPORTED_EXTENSION_ERROR_HPP
-
-#include <exception>
-#include <sstream>
-#include <string>
-
-namespace boost {
-namespace compute {
-
-/// \class unsupported_extension_error
-/// \brief Exception thrown when attempting to use an unsupported
-/// OpenCL extension.
-///
-/// This exception is thrown when the user attempts to use an OpenCL
-/// extension which is not supported on the platform and/or device.
-///
-/// An example of this is attempting to use CL-GL sharing on a non-GPU
-/// device.
-///
-/// \see opencl_error
-class unsupported_extension_error : public std::exception
-{
-public:
- /// Creates a new unsupported extension error exception object indicating
- /// that \p extension is not supported by the OpenCL platform or device.
- explicit unsupported_extension_error(const char *extension) throw()
- : m_extension(extension)
- {
- std::stringstream msg;
- msg << "OpenCL extension " << extension << " not supported";
- m_error_string = msg.str();
- }
-
- /// Destroys the unsupported extension error object.
- ~unsupported_extension_error() throw()
- {
- }
-
- /// Returns the name of the unsupported extension.
- std::string extension_name() const throw()
- {
- return m_extension;
- }
-
- /// Returns a string containing a human-readable error message containing
- /// the name of the unsupported exception.
- const char* what() const throw()
- {
- return m_error_string.c_str();
- }
-
-private:
- std::string m_extension;
- std::string m_error_string;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EXCEPTION_UNSUPPORTED_EXTENSION_ERROR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/function.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/function.hpp
deleted file mode 100644
index b0b893e94..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/function.hpp
+++ /dev/null
@@ -1,454 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTION_HPP
-#define BOOST_COMPUTE_FUNCTION_HPP
-
-#include <map>
-#include <string>
-#include <sstream>
-#include <vector>
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/function_traits.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/config.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class ResultType, class ArgTuple>
-class invoked_function
-{
-public:
- typedef ResultType result_type;
-
- BOOST_STATIC_CONSTANT(
- size_t, arity = boost::tuples::length<ArgTuple>::value
- );
-
- invoked_function(const std::string &name,
- const std::string &source)
- : m_name(name),
- m_source(source)
- {
- }
-
- invoked_function(const std::string &name,
- const std::string &source,
- const std::map<std::string, std::string> &definitions)
- : m_name(name),
- m_source(source),
- m_definitions(definitions)
- {
- }
-
- invoked_function(const std::string &name,
- const std::string &source,
- const ArgTuple &args)
- : m_name(name),
- m_source(source),
- m_args(args)
- {
- }
-
- invoked_function(const std::string &name,
- const std::string &source,
- const std::map<std::string, std::string> &definitions,
- const ArgTuple &args)
- : m_name(name),
- m_source(source),
- m_definitions(definitions),
- m_args(args)
- {
- }
-
- std::string name() const
- {
- return m_name;
- }
-
- std::string source() const
- {
- return m_source;
- }
-
- const std::map<std::string, std::string>& definitions() const
- {
- return m_definitions;
- }
-
- const ArgTuple& args() const
- {
- return m_args;
- }
-
-private:
- std::string m_name;
- std::string m_source;
- std::map<std::string, std::string> m_definitions;
- ArgTuple m_args;
-};
-
-} // end detail namespace
-
-/// \class function
-/// \brief A function object.
-template<class Signature>
-class function
-{
-public:
- /// \internal_
- typedef typename
- boost::function_traits<Signature>::result_type result_type;
-
- /// \internal_
- BOOST_STATIC_CONSTANT(
- size_t, arity = boost::function_traits<Signature>::arity
- );
-
- /// \internal_
- typedef Signature signature;
-
- /// Creates a new function object with \p name.
- function(const std::string &name)
- : m_name(name)
- {
- }
-
- /// Destroys the function object.
- ~function()
- {
- }
-
- /// \internal_
- std::string name() const
- {
- return m_name;
- }
-
- /// \internal_
- void set_source(const std::string &source)
- {
- m_source = source;
- }
-
- /// \internal_
- std::string source() const
- {
- return m_source;
- }
-
- /// \internal_
- void define(std::string name, std::string value = std::string())
- {
- m_definitions[name] = value;
- }
-
- /// \internal_
- detail::invoked_function<result_type, boost::tuple<> >
- operator()() const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 0,
- "Non-nullary function invoked with zero arguments"
- );
-
- return detail::invoked_function<result_type, boost::tuple<> >(
- m_name, m_source, m_definitions
- );
- }
-
- /// \internal_
- template<class Arg1>
- detail::invoked_function<result_type, boost::tuple<Arg1> >
- operator()(const Arg1 &arg1) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 1,
- "Non-unary function invoked one argument"
- );
-
- return detail::invoked_function<result_type, boost::tuple<Arg1> >(
- m_name, m_source, m_definitions, boost::make_tuple(arg1)
- );
- }
-
- /// \internal_
- template<class Arg1, class Arg2>
- detail::invoked_function<result_type, boost::tuple<Arg1, Arg2> >
- operator()(const Arg1 &arg1, const Arg2 &arg2) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 2,
- "Non-binary function invoked with two arguments"
- );
-
- return detail::invoked_function<result_type, boost::tuple<Arg1, Arg2> >(
- m_name, m_source, m_definitions, boost::make_tuple(arg1, arg2)
- );
- }
-
- /// \internal_
- template<class Arg1, class Arg2, class Arg3>
- detail::invoked_function<result_type, boost::tuple<Arg1, Arg2, Arg3> >
- operator()(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) const
- {
- BOOST_STATIC_ASSERT_MSG(
- arity == 3,
- "Non-ternary function invoked with three arguments"
- );
-
- return detail::invoked_function<result_type, boost::tuple<Arg1, Arg2, Arg3> >(
- m_name, m_source, m_definitions, boost::make_tuple(arg1, arg2, arg3)
- );
- }
-
-private:
- std::string m_name;
- std::string m_source;
- std::map<std::string, std::string> m_definitions;
-};
-
-/// Creates a function object given its \p name and \p source.
-///
-/// \param name The function name.
-/// \param source The function source code.
-///
-/// \see BOOST_COMPUTE_FUNCTION()
-template<class Signature>
-inline function<Signature>
-make_function_from_source(const std::string &name, const std::string &source)
-{
- function<Signature> f(name);
- f.set_source(source);
- return f;
-}
-
-namespace detail {
-
-// given a string containing the arguments declaration for a function
-// like: "(int a, const float b)", returns a vector containing the name
-// of each argument (e.g. ["a", "b"]).
-inline std::vector<std::string> parse_argument_names(const char *arguments)
-{
- BOOST_ASSERT_MSG(
- arguments[0] == '(' && arguments[std::strlen(arguments)-1] == ')',
- "Arguments should start and end with parentheses"
- );
-
- std::vector<std::string> args;
-
- size_t last_space = 0;
- size_t skip_comma = 0;
- for(size_t i = 1; i < std::strlen(arguments) - 2; i++){
- const char c = arguments[i];
-
- if(c == ' '){
- last_space = i;
- }
- else if(c == ',' && !skip_comma){
- std::string name(
- arguments + last_space + 1, i - last_space - 1
- );
- args.push_back(name);
- }
- else if(c == '<'){
- skip_comma++;
- }
- else if(c == '>'){
- skip_comma--;
- }
- }
-
- std::string last_argument(
- arguments + last_space + 1, std::strlen(arguments) - last_space - 2
- );
- args.push_back(last_argument);
-
- return args;
-}
-
-struct signature_argument_inserter
-{
- signature_argument_inserter(std::stringstream &s_, const char *arguments, size_t last)
- : s(s_)
- {
- n = 0;
- m_last = last;
-
- m_argument_names = parse_argument_names(arguments);
-
- BOOST_ASSERT_MSG(
- m_argument_names.size() == last,
- "Wrong number of arguments"
- );
- }
-
- template<class T>
- void operator()(const T*)
- {
- s << type_name<T>() << " " << m_argument_names[n];
- if(n+1 < m_last){
- s << ", ";
- }
- n++;
- }
-
- size_t n;
- size_t m_last;
- std::stringstream &s;
- std::vector<std::string> m_argument_names;
-};
-
-template<class Signature>
-inline std::string make_function_declaration(const char *name, const char *arguments)
-{
- typedef typename
- boost::function_traits<Signature>::result_type result_type;
- typedef typename
- boost::function_types::parameter_types<Signature>::type parameter_types;
- typedef typename
- mpl::size<parameter_types>::type arity_type;
-
- std::stringstream s;
- s << "inline " << type_name<result_type>() << " " << name;
- s << "(";
-
- if(arity_type::value > 0){
- signature_argument_inserter i(s, arguments, arity_type::value);
- mpl::for_each<
- typename mpl::transform<parameter_types, boost::add_pointer<mpl::_1>
- >::type>(i);
- }
-
- s << ")";
- return s.str();
-}
-
-struct argument_list_inserter
-{
- argument_list_inserter(std::stringstream &s_, const char first, size_t last)
- : s(s_)
- {
- n = 0;
- m_last = last;
- m_name = first;
- }
-
- template<class T>
- void operator()(const T*)
- {
- s << type_name<T>() << " " << m_name++;
- if(n+1 < m_last){
- s << ", ";
- }
- n++;
- }
-
- size_t n;
- size_t m_last;
- char m_name;
- std::stringstream &s;
-};
-
-template<class Signature>
-inline std::string generate_argument_list(const char first = 'a')
-{
- typedef typename
- boost::function_types::parameter_types<Signature>::type parameter_types;
- typedef typename
- mpl::size<parameter_types>::type arity_type;
-
- std::stringstream s;
- s << '(';
-
- if(arity_type::value > 0){
- argument_list_inserter i(s, first, arity_type::value);
- mpl::for_each<
- typename mpl::transform<parameter_types, boost::add_pointer<mpl::_1>
- >::type>(i);
- }
-
- s << ')';
- return s.str();
-}
-
-// used by the BOOST_COMPUTE_FUNCTION() macro to create a function
-// with the given signature, name, arguments, and source.
-template<class Signature>
-inline function<Signature>
-make_function_impl(const char *name, const char *arguments, const char *source)
-{
- std::stringstream s;
- s << make_function_declaration<Signature>(name, arguments);
- s << source;
-
- return make_function_from_source<Signature>(name, s.str());
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-/// Creates a function object with \p name and \p source.
-///
-/// \param return_type The return type for the function.
-/// \param name The name of the function.
-/// \param arguments A list of arguments for the function.
-/// \param source The OpenCL C source code for the function.
-///
-/// The function declaration and signature are automatically created using
-/// the \p return_type, \p name, and \p arguments macro parameters.
-///
-/// The source code for the function is interpreted as OpenCL C99 source code
-/// which is stringified and passed to the OpenCL compiler when the function
-/// is invoked.
-///
-/// For example, to create a function which squares a number:
-/// \code
-/// BOOST_COMPUTE_FUNCTION(float, square, (float x),
-/// {
-/// return x * x;
-/// });
-/// \endcode
-///
-/// And to create a function which sums two numbers:
-/// \code
-/// BOOST_COMPUTE_FUNCTION(int, sum_two, (int x, int y),
-/// {
-/// return x + y;
-/// });
-/// \endcode
-///
-/// \see BOOST_COMPUTE_CLOSURE()
-#ifdef BOOST_COMPUTE_DOXYGEN_INVOKED
-#define BOOST_COMPUTE_FUNCTION(return_type, name, arguments, source)
-#else
-#define BOOST_COMPUTE_FUNCTION(return_type, name, arguments, ...) \
- ::boost::compute::function<return_type arguments> name = \
- ::boost::compute::detail::make_function_impl<return_type arguments>( \
- #name, #arguments, #__VA_ARGS__ \
- )
-#endif
-
-#endif // BOOST_COMPUTE_FUNCTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional.hpp
deleted file mode 100644
index d2065216f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute functional headers.
-
-#include <boost/compute/functional/as.hpp>
-#include <boost/compute/functional/atomic.hpp>
-#include <boost/compute/functional/common.hpp>
-#include <boost/compute/functional/convert.hpp>
-#include <boost/compute/functional/field.hpp>
-#include <boost/compute/functional/geometry.hpp>
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/functional/hash.hpp>
-#include <boost/compute/functional/identity.hpp>
-#include <boost/compute/functional/integer.hpp>
-#include <boost/compute/functional/logical.hpp>
-#include <boost/compute/functional/math.hpp>
-#include <boost/compute/functional/operator.hpp>
-#include <boost/compute/functional/popcount.hpp>
-#include <boost/compute/functional/relational.hpp>
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/as.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/as.hpp
deleted file mode 100644
index 584bd0f38..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/as.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_AS_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_AS_HPP
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T, class Arg>
-struct invoked_as
-{
- invoked_as(const Arg &arg)
- : m_arg(arg)
- {
- }
-
- Arg m_arg;
-};
-
-} // end detail namespace
-
-/// The \ref as function converts its argument to type \c T (similar to
-/// reinterpret_cast<T>).
-///
-/// \see \ref convert "convert<T>"
-template<class T>
-struct as
-{
- typedef T result_type;
-
- /// \internal_
- template<class Arg>
- detail::invoked_as<T, Arg> operator()(const Arg &arg) const
- {
- return detail::invoked_as<T, Arg>(arg);
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_AS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/atomic.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/atomic.hpp
deleted file mode 100644
index 2701561bc..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/atomic.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_ATOMIC_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_ATOMIC_HPP
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/function.hpp>
-
-#ifndef BOOST_COMPUTE_DOXYGEN_INVOKED
-#ifdef CL_VERSION_1_1
- #define BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "atomic_"
-#else
- #define BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "atom_"
-#endif
-#endif // BOOST_COMPUTE_DOXYGEN_INVOKED
-
-namespace boost {
-namespace compute {
-
-template<class T>
-class atomic_add : public function<T (T*, T)>
-{
-public:
- atomic_add()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "add")
- {
- }
-};
-
-template<class T>
-class atomic_sub : public function<T (T*, T)>
-{
-public:
- atomic_sub()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "sub")
- {
- }
-};
-
-template<class T>
-class atomic_xchg : public function<T (T*, T)>
-{
-public:
- atomic_xchg()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "xchg")
- {
- }
-};
-
-template<class T>
-class atomic_inc : public function<T (T*)>
-{
-public:
- atomic_inc()
- : function<T (T*)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "inc")
- {
- }
-};
-
-template<class T>
-class atomic_dec : public function<T (T*)>
-{
-public:
- atomic_dec()
- : function<T (T*)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "dec")
- {
- }
-};
-
-template<class T>
-class atomic_cmpxchg : public function<T (T*, T, T)>
-{
-public:
- atomic_cmpxchg()
- : function<T (T*, T, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "cmpxchg")
- {
- }
-};
-
-template<class T>
-class atomic_max : public function<T (T*, T)>
-{
-public:
- atomic_max()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "max")
- {
- }
-};
-
-template<class T>
-class atomic_min : public function<T (T*, T)>
-{
-public:
- atomic_min()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "min")
- {
- }
-};
-
-template<class T>
-class atomic_and : public function<T (T*, T)>
-{
-public:
- atomic_and()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "and")
- {
- }
-};
-
-template<class T>
-class atomic_or : public function<T (T*, T)>
-{
-public:
- atomic_or()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "or")
- {
- }
-};
-
-template<class T>
-class atomic_xor : public function<T (T*, T)>
-{
-public:
- atomic_xor()
- : function<T (T*, T)>(BOOST_COMPUTE_DETAIL_ATOMIC_PREFIX "xor")
- {
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_ATOMIC_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/bind.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/bind.hpp
deleted file mode 100644
index 0c5929f3b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/bind.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_BIND_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_BIND_HPP
-
-#include <boost/mpl/int.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/conditional.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace placeholders {
-
-/// \internal_
-template<int I>
-struct placeholder : boost::integral_constant<int, I>
-{
- placeholder() { }
-};
-
-placeholder<0> const _1;
-placeholder<1> const _2;
-
-} // end placeholders namespace
-
-/// Meta-function returning \c true if \c T is a placeholder type.
-template<class T>
-struct is_placeholder : boost::false_type
-{
-};
-
-/// \internal_
-template<int I>
-struct is_placeholder<placeholders::placeholder<I> > : boost::true_type
-{
-};
-
-namespace detail {
-
-template<class Function, class BoundArgs, class Args>
-struct invoked_bound_function
-{
- invoked_bound_function(Function f, BoundArgs bound_args, Args args)
- : m_function(f),
- m_bound_args(bound_args),
- m_args(args)
- {
- }
-
- // meta-function returning true if the N'th argument is a placeholder
- template<int N>
- struct is_placeholder_arg
- {
- typedef typename boost::tuples::element<N, BoundArgs>::type nth_bound_arg;
-
- typedef typename is_placeholder<nth_bound_arg>::type type;
- static const bool value = is_placeholder<nth_bound_arg>::value;
- };
-
- template<class Arg>
- struct get_arg_type
- {
- typedef Arg type;
- };
-
- template<int I>
- struct get_arg_type<placeholders::placeholder<I> >
- {
- typedef typename boost::tuples::element<I, Args>::type type;
- };
-
- // meta-function returning the type of the N'th argument when invoked
- template<int N>
- struct get_nth_arg_type
- {
- typedef typename boost::tuples::element<N, BoundArgs>::type nth_bound_arg;
-
- typedef typename get_arg_type<nth_bound_arg>::type type;
- };
-
- template<int N>
- typename get_nth_arg_type<N>::type get_nth_arg(
- typename boost::enable_if_c<is_placeholder_arg<N>::value>::type* = 0
- ) const
- {
- typedef typename boost::tuples::element<N, BoundArgs>::type nth_bound_arg;
-
- return boost::get<nth_bound_arg::value>(m_args);
- }
-
- template<int N>
- typename get_nth_arg_type<N>::type get_nth_arg(
- typename boost::disable_if_c<is_placeholder_arg<N>::value>::type* = 0
- ) const
- {
- return boost::get<N>(m_bound_args);
- }
-
- Function m_function;
- BoundArgs m_bound_args;
- Args m_args;
-};
-
-template<class Function, class BoundArgs, class Args>
-inline meta_kernel& apply_invoked_bound_function(
- meta_kernel &k,
- const invoked_bound_function<Function, BoundArgs, Args> &expr,
- typename boost::enable_if_c<
- boost::tuples::length<BoundArgs>::value == 1
- >::type* = 0
-)
-{
- return k << expr.m_function(expr.template get_nth_arg<0>());
-}
-
-template<class Function, class BoundArgs, class Args>
-inline meta_kernel& apply_invoked_bound_function(
- meta_kernel &k,
- const invoked_bound_function<Function, BoundArgs, Args> &expr,
- typename boost::enable_if_c<
- boost::tuples::length<BoundArgs>::value == 2
- >::type* = 0
-)
-{
- return k << expr.m_function(expr.template get_nth_arg<0>(),
- expr.template get_nth_arg<1>());
-}
-
-template<class Function, class BoundArgs, class Args>
-inline meta_kernel& apply_invoked_bound_function(
- meta_kernel &k,
- const invoked_bound_function<Function, BoundArgs, Args> &expr,
- typename boost::enable_if_c<
- boost::tuples::length<BoundArgs>::value == 3
- >::type* = 0
-)
-{
- return k << expr.m_function(expr.template get_nth_arg<0>(),
- expr.template get_nth_arg<1>(),
- expr.template get_nth_arg<2>());
-}
-
-template<class Function, class BoundArgs, class Args>
-inline meta_kernel& operator<<(
- meta_kernel &k,
- const invoked_bound_function<Function, BoundArgs, Args> &expr
-)
-{
- return apply_invoked_bound_function(k, expr);
-}
-
-template<class Function, class BoundArgs>
-struct bound_function
-{
- typedef int result_type;
-
- bound_function(Function f, BoundArgs args)
- : m_function(f),
- m_args(args)
- {
- }
-
- template<class Arg1>
- detail::invoked_bound_function<
- Function,
- BoundArgs,
- boost::tuple<Arg1>
- >
- operator()(const Arg1 &arg1) const
- {
- return detail::invoked_bound_function<
- Function,
- BoundArgs,
- boost::tuple<Arg1>
- >(m_function, m_args, boost::make_tuple(arg1));
- }
-
- template<class Arg1, class Arg2>
- detail::invoked_bound_function<
- Function,
- BoundArgs,
- boost::tuple<Arg1, Arg2>
- >
- operator()(const Arg1 &arg1, const Arg2 &arg2) const
- {
- return detail::invoked_bound_function<
- Function,
- BoundArgs,
- boost::tuple<Arg1, Arg2>
- >(m_function, m_args, boost::make_tuple(arg1, arg2));
- }
-
- Function m_function;
- BoundArgs m_args;
-};
-
-} // end detail namespace
-
-#if !defined(BOOST_COMPUTE_NO_VARIADIC_TEMPLATES) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-/// Returns a function wrapper which invokes \p f with \p args when called.
-///
-/// For example, to generate a unary function object which returns \c true
-/// when its argument is less than \c 7:
-/// \code
-/// using boost::compute::less;
-/// using boost::compute::placeholders::_1;
-///
-/// auto less_than_seven = boost::compute::bind(less<int>(), _1, 7);
-/// \endcode
-template<class F, class... Args>
-inline detail::bound_function<F, boost::tuple<Args...> >
-bind(F f, Args... args)
-{
- typedef typename boost::tuple<Args...> ArgsTuple;
-
- return detail::bound_function<F, ArgsTuple>(f, boost::make_tuple(args...));
-}
-#else
-template<class F, class A1>
-inline detail::bound_function<F, boost::tuple<A1> >
-bind(F f, A1 a1)
-{
- typedef typename boost::tuple<A1> Args;
-
- return detail::bound_function<F, Args>(f, boost::make_tuple(a1));
-}
-
-template<class F, class A1, class A2>
-inline detail::bound_function<F, boost::tuple<A1, A2> >
-bind(F f, A1 a1, A2 a2)
-{
- typedef typename boost::tuple<A1, A2> Args;
-
- return detail::bound_function<F, Args>(f, boost::make_tuple(a1, a2));
-}
-
-template<class F, class A1, class A2, class A3>
-inline detail::bound_function<F, boost::tuple<A1, A2, A3> >
-bind(F f, A1 a1, A2 a2, A3 a3)
-{
- typedef typename boost::tuple<A1, A2, A3> Args;
-
- return detail::bound_function<F, Args>(f, boost::make_tuple(a1, a2, a3));
-}
-#endif // BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_BIND_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/common.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/common.hpp
deleted file mode 100644
index 9ad8b4350..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/common.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_COMMON_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_COMMON_HPP
-
-#include <boost/compute/functional/detail/macros.hpp>
-
-namespace boost {
-namespace compute {
-
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(clamp, T (T, T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(degrees, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(radians, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(sign, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(smoothstep, T (T, T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(step, T (T, T), class T)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_COMMON_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/convert.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/convert.hpp
deleted file mode 100644
index f182e8ec7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/convert.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_CONVERT_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_CONVERT_HPP
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T, class Arg>
-struct invoked_convert
-{
- invoked_convert(const Arg &arg)
- : m_arg(arg)
- {
- }
-
- Arg m_arg;
-};
-
-} // end detail namespace
-
-/// The \ref convert function converts its argument to type \c T (similar to
-/// static_cast<T>).
-///
-/// \see \ref as "as<T>"
-template<class T>
-struct convert
-{
- typedef T result_type;
-
- /// \internal_
- template<class Arg>
- detail::invoked_convert<T, Arg> operator()(const Arg &arg) const
- {
- return detail::invoked_convert<T, Arg>(arg);
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_CONVERT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/macros.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/macros.hpp
deleted file mode 100644
index 71ae3722e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/macros.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#include <boost/compute/function.hpp>
-
-#define BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(name, signature, template_args) \
- template<template_args> \
- class name : public function<signature> \
- { \
- public: \
- (name)() : function<signature>(BOOST_PP_STRINGIZE(name)) { } \
- };
-
-#define BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(name, signature, template_args) \
- template<template_args> \
- class BOOST_PP_CAT(name, _) : public function<signature> \
- { \
- public: \
- BOOST_PP_CAT(name, _)() : function<signature>(BOOST_PP_STRINGIZE(name)) { } \
- };
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_ballot.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_ballot.hpp
deleted file mode 100644
index cf66828f1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_ballot.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_BALLOT_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_BALLOT_HPP
-
-#include <boost/compute/function.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-class nvidia_ballot : public function<uint_(T)>
-{
-public:
- nvidia_ballot()
- : function<uint_(T)>("nvidia_ballot")
- {
- this->set_source(
- "inline uint nvidia_ballot(const uint x)\n"
- "{\n"
- " uint result;\n"
- " asm volatile(\n"
- " \"setp.ne.u32 %%p1, %1, 0;\"\n"
- " \"vote.ballot.b32 %0, %%p1;\"\n"
- " : \"=r\"(result)\n"
- " : \"r\"(x)\n"
- " );\n"
- " return result;\n"
- "}\n"
- );
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_BALLOT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_popcount.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_popcount.hpp
deleted file mode 100644
index b042ea4ba..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/nvidia_popcount.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_POPCOUNT_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_POPCOUNT_HPP
-
-#include <boost/compute/function.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-class nvidia_popcount : public function<T(T)>
-{
-public:
- nvidia_popcount()
- : function<T(T)>("nvidia_popcount")
- {
- this->set_source(
- "inline uint nvidia_popcount(const uint x)\n"
- "{\n"
- " uint count;\n"
- " asm(\"popc.b32 %0, %1;\" : \"=r\"(count) : \"r\"(x));\n"
- " return count;\n"
- "}\n"
- );
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_DETAIL_NVIDIA_POPCOUNT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/unpack.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/unpack.hpp
deleted file mode 100644
index e64672f14..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/detail/unpack.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_DETAIL_UNPACK_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_DETAIL_UNPACK_HPP
-
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/type_traits/is_vector_type.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Function, class Arg, size_t Arity>
-struct invoked_unpacked
-{
- invoked_unpacked(const Function &f, const Arg &arg)
- : m_function(f),
- m_arg(arg)
- {
- }
-
- Function m_function;
- Arg m_arg;
-};
-
-template<class Function, class Arg, size_t Arity>
-inline meta_kernel& operator<<(meta_kernel &k, const invoked_unpacked<Function, Arg, Arity> &expr);
-
-template<class Function, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k, const invoked_unpacked<Function, Arg, 1> &expr)
-{
- return k << expr.m_function(get<0>()(expr.m_arg));
-}
-
-template<class Function, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k, const invoked_unpacked<Function, Arg, 2> &expr)
-{
- return k << expr.m_function(get<0>()(expr.m_arg), get<1>()(expr.m_arg));
-}
-
-template<class Function, class Arg>
-inline meta_kernel& operator<<(meta_kernel &k, const invoked_unpacked<Function, Arg, 3> &expr)
-{
- return k << expr.m_function(get<0>()(expr.m_arg), get<1>()(expr.m_arg), get<2>()(expr.m_arg));
-}
-
-template<class Function>
-struct unpacked
-{
- template<class T, class Enable = void>
- struct aggregate_length
- {
- BOOST_STATIC_CONSTANT(size_t, value = boost::tuples::length<T>::value);
- };
-
- template<class T>
- struct aggregate_length<T, typename enable_if<is_vector_type<T> >::type>
- {
- BOOST_STATIC_CONSTANT(size_t, value = vector_size<T>::value);
- };
-
- template<class TupleArg, size_t TupleSize>
- struct result_impl {};
-
- template<class TupleArg>
- struct result_impl<TupleArg, 1>
- {
- typedef typename detail::get_result_type<0, TupleArg>::type T1;
-
- typedef typename boost::compute::result_of<Function(T1)>::type type;
- };
-
- template<class TupleArg>
- struct result_impl<TupleArg, 2>
- {
- typedef typename detail::get_result_type<0, TupleArg>::type T1;
- typedef typename detail::get_result_type<1, TupleArg>::type T2;
-
- typedef typename boost::compute::result_of<Function(T1, T2)>::type type;
- };
-
- template<class TupleArg>
- struct result_impl<TupleArg, 3>
- {
- typedef typename detail::get_result_type<0, TupleArg>::type T1;
- typedef typename detail::get_result_type<1, TupleArg>::type T2;
- typedef typename detail::get_result_type<2, TupleArg>::type T3;
-
- typedef typename boost::compute::result_of<Function(T1, T2, T3)>::type type;
- };
-
- template<class Signature>
- struct result {};
-
- template<class This, class Arg>
- struct result<This(Arg)>
- {
- typedef typename result_impl<Arg, aggregate_length<Arg>::value>::type type;
- };
-
- unpacked(const Function &f)
- : m_function(f)
- {
- }
-
- template<class Arg>
- detail::invoked_unpacked<
- Function, Arg, aggregate_length<typename Arg::result_type>::value
- >
- operator()(const Arg &arg) const
- {
- return detail::invoked_unpacked<
- Function,
- Arg,
- aggregate_length<typename Arg::result_type>::value
- >(m_function, arg);
- }
-
- Function m_function;
-};
-
-template<class Function>
-inline unpacked<Function> unpack(const Function &f)
-{
- return unpacked<Function>(f);
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_DETAIL_UNPACK_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/field.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/field.hpp
deleted file mode 100644
index cd9d81541..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/field.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_FIELD_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_FIELD_HPP
-
-#include <string>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T, class Arg>
-struct invoked_field
-{
- typedef T result_type;
-
- invoked_field(const Arg &arg, const std::string &field)
- : m_arg(arg),
- m_field(field)
- {
- }
-
- Arg m_arg;
- std::string m_field;
-};
-
-} // end detail namespace
-
-/// Returns the named field from a value.
-///
-/// The template-type \c T specifies the field's value type. Note
-/// that the value type must match the actual type of the field
-/// otherwise runtime compilation or logic errors may occur.
-///
-/// For example, to access the \c second field in a
-/// \c std::pair<int, float> object:
-/// \code
-/// field<float>("second");
-/// \endcode
-///
-/// This can also be used with vector types to access individual
-/// components as well as perform swizzle operations.
-///
-/// For example, to access the first and third components of an
-/// \c int vector type (e.g. \c int4):
-/// \code
-/// field<int2_>("xz");
-/// \endcode
-///
-/// \see \ref get "get<N>"
-template<class T>
-class field
-{
-public:
- /// Result type.
- typedef T result_type;
-
- /// Creates a new field functor with \p field.
- field(const std::string &field)
- : m_field(field)
- {
- }
-
- /// \internal_
- template<class Arg>
- detail::invoked_field<T, Arg> operator()(const Arg &arg) const
- {
- return detail::invoked_field<T, Arg>(arg, m_field);
- }
-
-private:
- std::string m_field;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_FIELD_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/geometry.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/geometry.hpp
deleted file mode 100644
index ea37c02bf..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/geometry.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP
-
-#include <boost/compute/type_traits.hpp>
-#include <boost/compute/functional/detail/macros.hpp>
-
-namespace boost {
-namespace compute {
-
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cross, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(dot, typename scalar_type<T>::type (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(distance, typename scalar_type<T>::type (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_distance, typename scalar_type<T>::type (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(length, typename scalar_type<T>::type (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_length, typename scalar_type<T>::type (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(normalize, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fast_normalize, T (T), class T)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_GEOMETRY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/get.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/get.hpp
deleted file mode 100644
index 2d3b7a489..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/get.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_GET_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_GET_HPP
-
-#include <cstddef>
-
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/type_traits/scalar_type.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// meta-function returning the result type for get<N>()
-template<size_t N, class Arg>
-struct get_result_type
-{
- typedef typename scalar_type<Arg>::type type;
-};
-
-template<size_t N, class Arg, class T>
-struct invoked_get
-{
- typedef typename get_result_type<N, T>::type result_type;
-
- invoked_get(const Arg &arg)
- : m_arg(arg)
- {
- }
-
- Arg m_arg;
-};
-
-} // end detail namespace
-
-/// Returns the \c N'th element of an aggregate type (e.g. scalarN,
-/// pair, tuple, etc.).
-///
-/// \see \ref field "field<T>"
-template<size_t N>
-struct get
-{
- /// \internal_
- template<class> struct result;
-
- /// \internal_
- template<class F, class Arg>
- struct result<F(Arg)>
- {
- typedef typename detail::get_result_type<N, Arg>::type type;
- };
-
- template<class Arg>
- detail::invoked_get<
- N, Arg, typename boost::remove_cv<typename Arg::result_type>::type
- > operator()(const Arg &arg) const
- {
- typedef typename boost::remove_cv<typename Arg::result_type>::type T;
-
- return detail::invoked_get<N, Arg, T>(arg);
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_GET_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/hash.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/hash.hpp
deleted file mode 100644
index 830c422fd..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/hash.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_HASH_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_HASH_HPP
-
-#include <boost/compute/function.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Key>
-std::string make_hash_function_name()
-{
- return std::string("boost_hash_") + type_name<Key>();
-}
-
-template<class Key>
-inline std::string make_hash_function_source()
-{
- std::stringstream source;
- source << "inline ulong " << make_hash_function_name<Key>()
- << "(const " << type_name<Key>() << " x)\n"
- << "{\n"
- // note we reinterpret the argument as a 32-bit uint and
- // then promote it to a 64-bit ulong for the result type
- << " ulong a = as_uint(x);\n"
- << " a = (a ^ 61) ^ (a >> 16);\n"
- << " a = a + (a << 3);\n"
- << " a = a ^ (a >> 4);\n"
- << " a = a * 0x27d4eb2d;\n"
- << " a = a ^ (a >> 15);\n"
- << " return a;\n"
- << "}\n";
- return source.str();
-}
-
-template<class Key>
-struct hash_impl
-{
- typedef Key argument_type;
- typedef ulong_ result_type;
-
- hash_impl()
- : m_function("")
- {
- m_function = make_function_from_source<result_type(argument_type)>(
- make_hash_function_name<argument_type>(),
- make_hash_function_source<argument_type>()
- );
- }
-
- template<class Arg>
- invoked_function<result_type, boost::tuple<Arg> >
- operator()(const Arg &arg) const
- {
- return m_function(arg);
- }
-
- function<result_type(argument_type)> m_function;
-};
-
-} // end detail namespace
-
-/// The hash function returns a hash value for the input value.
-///
-/// The return type is \c ulong_ (the OpenCL unsigned long type).
-template<class Key> struct hash;
-
-/// \internal_
-template<> struct hash<int_> : detail::hash_impl<int_> { };
-
-/// \internal_
-template<> struct hash<uint_> : detail::hash_impl<uint_> { };
-
-/// \internal_
-template<> struct hash<float_> : detail::hash_impl<float_> { };
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_HASH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/identity.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/identity.hpp
deleted file mode 100644
index 72740d978..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/identity.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_IDENTITY_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_IDENTITY_HPP
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T, class Arg>
-struct invoked_identity
-{
- typedef T result_type;
-
- invoked_identity(const Arg &arg)
- : m_arg(arg)
- {
- }
-
- Arg m_arg;
-};
-
-} // end detail namespace
-
-/// Identity function which simply returns its input.
-///
-/// For example, to directly copy values using the transform() algorithm:
-/// \code
-/// transform(input.begin(), input.end(), output.begin(), identity<int>(), queue);
-/// \endcode
-///
-/// \see \ref as "as<T>", \ref convert "convert<T>"
-template<class T>
-class identity
-{
-public:
- /// Identity function result type.
- typedef T result_type;
-
- /// Creates a new identity function.
- identity()
- {
- }
-
- /// \internal_
- template<class Arg>
- detail::invoked_identity<T, Arg> operator()(const Arg &arg) const
- {
- return detail::invoked_identity<T, Arg>(arg);
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_IDENTITY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/integer.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/integer.hpp
deleted file mode 100644
index 8ff6c2bd4..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/integer.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_INTEGER_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_INTEGER_HPP
-
-#include <boost/compute/functional/detail/macros.hpp>
-
-namespace boost {
-namespace compute {
-
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(abs, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(abs_diff, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(add_sat, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(hadd, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(rhadd, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(max, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(min, T (T, T), class T)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_INTEGER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/logical.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/logical.hpp
deleted file mode 100644
index 2e2c7518b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/logical.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_LOGICAL_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_LOGICAL_HPP
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Predicate, class Expr>
-class invoked_unary_negate_function
-{
-public:
- typedef int result_type;
-
- invoked_unary_negate_function(const Predicate &pred,
- const Expr &expr)
- : m_pred(pred),
- m_expr(expr)
- {
- }
-
- Predicate pred() const
- {
- return m_pred;
- }
-
- Expr expr() const
- {
- return m_expr;
- }
-
-private:
- Predicate m_pred;
- Expr m_expr;
-};
-
-template<class Predicate, class Expr1, class Expr2>
-class invoked_binary_negate_function
-{
-public:
- typedef int result_type;
-
- invoked_binary_negate_function(const Predicate &pred,
- const Expr1 &expr1,
- const Expr2 &expr2)
- : m_pred(pred),
- m_expr1(expr1),
- m_expr2(expr2)
- {
- }
-
- Predicate pred() const
- {
- return m_pred;
- }
-
- Expr1 expr1() const
- {
- return m_expr1;
- }
-
- Expr2 expr2() const
- {
- return m_expr2;
- }
-
-private:
- Predicate m_pred;
- Expr1 m_expr1;
- Expr2 m_expr2;
-};
-
-} // end detail namespace
-
-/// \internal_
-template<class Arg, class Result>
-struct unary_function
-{
- typedef Arg argument_type;
- typedef Result result_type;
-};
-
-/// \internal_
-template<class Arg1, class Arg2, class Result>
-struct binary_function
-{
- typedef Arg1 first_argument_type;
- typedef Arg2 second_argument_type;
- typedef Result result_type;
-};
-
-/// \internal_
-template<class Arg1, class Arg2, class Arg3, class Result>
-struct ternary_function
-{
- typedef Arg1 first_argument_type;
- typedef Arg2 second_argument_type;
- typedef Arg3 third_argument_type;
- typedef Result result_type;
-};
-
-/// The unary_negate function adaptor negates a unary function.
-///
-/// \see not1()
-template<class Predicate>
-class unary_negate : public unary_function<void, int>
-{
-public:
- explicit unary_negate(Predicate pred)
- : m_pred(pred)
- {
- }
-
- /// \internal_
- template<class Arg>
- detail::invoked_unary_negate_function<Predicate, Arg>
- operator()(const Arg &arg) const
- {
- return detail::invoked_unary_negate_function<
- Predicate,
- Arg
- >(m_pred, arg);
- }
-
-private:
- Predicate m_pred;
-};
-
-/// The binnary_negate function adaptor negates a binary function.
-///
-/// \see not2()
-template<class Predicate>
-class binary_negate : public binary_function<void, void, int>
-{
-public:
- explicit binary_negate(Predicate pred)
- : m_pred(pred)
- {
- }
-
- /// \internal_
- template<class Arg1, class Arg2>
- detail::invoked_binary_negate_function<Predicate, Arg1, Arg2>
- operator()(const Arg1 &arg1, const Arg2 &arg2) const
- {
- return detail::invoked_binary_negate_function<
- Predicate,
- Arg1,
- Arg2
- >(m_pred, arg1, arg2);
- }
-
-private:
- Predicate m_pred;
-};
-
-/// Returns a unary_negate adaptor around \p predicate.
-///
-/// \param predicate the unary function to wrap
-///
-/// \return a unary_negate wrapper around \p predicate
-template<class Predicate>
-inline unary_negate<Predicate> not1(const Predicate &predicate)
-{
- return unary_negate<Predicate>(predicate);
-}
-
-/// Returns a binary_negate adaptor around \p predicate.
-///
-/// \param predicate the binary function to wrap
-///
-/// \return a binary_negate wrapper around \p predicate
-template<class Predicate>
-inline binary_negate<Predicate> not2(const Predicate &predicate)
-{
- return binary_negate<Predicate>(predicate);
-}
-
-/// The logical_not function negates its argument and returns it.
-///
-/// \see not1(), not2()
-template<class T>
-struct logical_not : public unary_function<T, int>
-{
- /// \internal_
- template<class Expr>
- detail::invoked_function<int, boost::tuple<Expr> >
- operator()(const Expr &expr) const
- {
- return detail::invoked_function<int, boost::tuple<Expr> >(
- "!", std::string(), boost::make_tuple(expr)
- );
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_LOGICAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/math.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/math.hpp
deleted file mode 100644
index 6dea05f6f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/math.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_MATH_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_MATH_HPP
-
-#include <boost/compute/functional/detail/macros.hpp>
-
-namespace boost {
-namespace compute {
-
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(acos, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(acosh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(acospi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(asin, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(asinh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(asinpi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(atan, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(atan2, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(atanh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(atanpi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(atan2pi, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cbrt, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(ceil, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(copysign, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cos, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cosh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(cospi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(erf, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(erfc, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(exp, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(exp2, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(exp10, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(expm1, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fabs, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fdim, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(floor, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fma, T (T, T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fmax, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fmin, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(fmod, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(hypot, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(ilogb, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(lgamma, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(log, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(log2, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(log10, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(log1p, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(logb, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(mad, T (T, T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(nextafter, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(pow, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(pown, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(powr, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(remainder, T (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(rint, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(rootn, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(round, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(rsqrt, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(sin, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(sinh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(sinpi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(sqrt, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(tan, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(tanh, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(tanpi, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(tgamma, T (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(trunc, T (T), class T)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_MATH_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/operator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/operator.hpp
deleted file mode 100644
index 908372a32..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/operator.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_OPERATORS_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_OPERATORS_HPP
-
-#include <string>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Expr1, class Expr2, class Result>
-struct invoked_binary_operator
-{
- typedef Result result_type;
-
- invoked_binary_operator(const std::string &op,
- const Expr1 &arg1,
- const Expr2 &arg2)
- : m_op(op),
- m_expr1(arg1),
- m_expr2(arg2)
- {
- }
-
- std::string op() const
- {
- return m_op;
- }
-
- Expr1 arg1() const
- {
- return m_expr1;
- }
-
- Expr2 arg2() const
- {
- return m_expr2;
- }
-
- std::string m_op;
- Expr1 m_expr1;
- Expr2 m_expr2;
-};
-
-} // end detail namespace
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(name, op, return_type, arg_type) \
- template<class arg_type> \
- class name : public function<return_type (arg_type, arg_type)> \
- { \
- public: \
- name() : function<return_type (arg_type, arg_type)>(BOOST_PP_STRINGIZE(name)) { } \
- \
- template<class Arg1, class Arg2> \
- detail::invoked_binary_operator<Arg1, Arg2, T> \
- operator()(const Arg1 &x, const Arg2 &y) const \
- { \
- return detail::invoked_binary_operator<Arg1, Arg2, T>(op, x, y); \
- } \
- };
-
-// arithmetic operations
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(plus, "+", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(minus, "-", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(multiplies, "*", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(divides, "/", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(modulus, "%", T, T)
-
-// comparisons
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(equal_to, "==", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(not_equal_to, "!=", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(greater, ">", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(less, "<", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(greater_equal, ">=", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(less_equal, "<=", T, T)
-
-// logical operators
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(logical_and, "&&", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(logical_or, "||", T, T)
-
-// bitwise operations
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(bit_and, "&", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(bit_or, "|", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(bit_xor, "^", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(shift_left, "<<", T, T)
-BOOST_COMPUTE_DECLARE_BINARY_OPERATOR(shift_right, ">>", T, T)
-
-} // end compute namespace
-} // end boost namespace
-#endif // BOOST_COMPUTE_FUNCTIONAL_OPERATORS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/popcount.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/popcount.hpp
deleted file mode 100644
index 7326e7022..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/popcount.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_POPCOUNT_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_POPCOUNT_HPP
-
-#include <boost/compute/function.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns the number of non-zero bits in \p x.
-///
-/// \see_opencl_ref{popcount}
-template<class T>
-class popcount : public function<T(T)>
-{
-public:
- popcount()
- : function<T(T)>("boost_popcount")
- {
- std::stringstream s;
- s << "inline " << type_name<T>() << " boost_popcount"
- << "(const " << type_name<T>() << " x)\n"
- << "{\n"
- // use built-in popcount if opencl 1.2 is supported
- << "#if __OPENCL_VERSION__ >= 120\n"
- << " return popcount(x);\n"
- // fallback to generic popcount() implementation
- << "#else\n"
- << " " << type_name<T>() << " count = 0;\n"
- << " for(" << type_name<T>() << " i = 0; i < sizeof(i) * CHAR_BIT; i++){\n"
- << " if(x & (" << type_name<T>() << ") 1 << i){\n"
- << " count++;\n"
- << " }\n"
- << " }\n"
- << " return count;\n"
- << "#endif\n"
- << "}\n";
- this->set_source(s.str());
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_POPCOUNT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/relational.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/relational.hpp
deleted file mode 100644
index 1a88052c0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/functional/relational.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_FUNCTIONAL_RELATIONAL_HPP
-#define BOOST_COMPUTE_FUNCTIONAL_RELATIONAL_HPP
-
-#include <boost/compute/functional/detail/macros.hpp>
-
-namespace boost {
-namespace compute {
-
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isequal, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isnotequal, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isgreater, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isgreaterequal, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isless, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(islessequal, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(islessgreater, int (T, T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isfinite, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isinf, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isnan, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isnormal, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isordered, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(isunordered, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(signbit, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(any, int (T), class T)
-BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(all, int (T), class T)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_FUNCTIONAL_RELATIONAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image.hpp
deleted file mode 100644
index 1a7b9ca06..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_HPP
-#define BOOST_COMPUTE_IMAGE_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute image headers.
-
-#include <boost/compute/image/image1d.hpp>
-#include <boost/compute/image/image2d.hpp>
-#include <boost/compute/image/image3d.hpp>
-#include <boost/compute/image/image_format.hpp>
-#include <boost/compute/image/image_object.hpp>
-#include <boost/compute/image/image_sampler.hpp>
-
-#endif // BOOST_COMPUTE_IMAGE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image1d.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image1d.hpp
deleted file mode 100644
index 2d71934ab..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image1d.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE1D_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE1D_HPP
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/image/image_format.hpp>
-#include <boost/compute/image/image_object.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/utility/extents.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declarations
-class command_queue;
-
-/// \class image1d
-/// \brief An OpenCL 1D image object
-///
-/// \opencl_version_warning{1,2}
-///
-/// \see image_format, image2d
-class image1d : public image_object
-{
-public:
- /// Creates a null image1d object.
- image1d()
- : image_object()
- {
- }
-
- /// Creates a new image1d object.
- ///
- /// \see_opencl_ref{clCreateImage}
- image1d(const context &context,
- size_t image_width,
- const image_format &format,
- cl_mem_flags flags = read_write,
- void *host_ptr = 0)
- {
- #ifdef CL_VERSION_1_2
- cl_image_desc desc;
- desc.image_type = CL_MEM_OBJECT_IMAGE1D;
- desc.image_width = image_width;
- desc.image_height = 1;
- desc.image_depth = 1;
- desc.image_array_size = 0;
- desc.image_row_pitch = 0;
- desc.image_slice_pitch = 0;
- desc.num_mip_levels = 0;
- desc.num_samples = 0;
- #ifdef CL_VERSION_2_0
- desc.mem_object = 0;
- #else
- desc.buffer = 0;
- #endif
-
- cl_int error = 0;
-
- m_mem = clCreateImage(
- context, flags, format.get_format_ptr(), &desc, host_ptr, &error
- );
-
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- #else
- // image1d objects are only supported in OpenCL 1.2 and later
- BOOST_THROW_EXCEPTION(opencl_error(CL_IMAGE_FORMAT_NOT_SUPPORTED));
- #endif
- }
-
- /// Creates a new image1d as a copy of \p other.
- image1d(const image1d &other)
- : image_object(other)
- {
- }
-
- /// Copies the image1d from \p other.
- image1d& operator=(const image1d &other)
- {
- image_object::operator=(other);
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new image object from \p other.
- image1d(image1d&& other) BOOST_NOEXCEPT
- : image_object(std::move(other))
- {
- }
-
- /// Move-assigns the image from \p other to \c *this.
- image1d& operator=(image1d&& other) BOOST_NOEXCEPT
- {
- image_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the image1d object.
- ~image1d()
- {
- }
-
- /// Returns the size (width) of the image.
- extents<1> size() const
- {
- extents<1> size;
- size[0] = get_info<size_t>(CL_IMAGE_WIDTH);
- return size;
- }
-
- /// Returns the origin of the image (\c 0).
- extents<1> origin() const
- {
- return extents<1>();
- }
-
- /// Returns information about the image.
- ///
- /// \see_opencl_ref{clGetImageInfo}
- template<class T>
- T get_info(cl_image_info info) const
- {
- return get_image_info<T>(info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<image1d, Enum>::type
- get_info() const;
-
- /// Returns the supported image formats for the context.
- ///
- /// \see_opencl_ref{clGetSupportedImageFormats}
- static std::vector<image_format>
- get_supported_formats(const context &context, cl_mem_flags flags = read_write)
- {
- #ifdef CL_VERSION_1_2
- return image_object::get_supported_formats(context, CL_MEM_OBJECT_IMAGE1D, flags);
- #else
- return std::vector<image_format>();
- #endif
- }
-
- /// Returns \c true if \p format is a supported 1D image format for
- /// \p context.
- static bool is_supported_format(const image_format &format,
- const context &context,
- cl_mem_flags flags = read_write)
- {
- #ifdef CL_VERSION_1_2
- return image_object::is_supported_format(
- format, context, CL_MEM_OBJECT_IMAGE1D, flags
- );
- #else
- return false;
- #endif
- }
-
- /// Creates a new image with a copy of the data in \c *this. Uses \p queue
- /// to perform the copy operation.
- image1d clone(command_queue &queue) const;
-};
-
-/// \internal_ define get_info() specializations for image1d
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(image1d,
- ((cl_image_format, CL_IMAGE_FORMAT))
- ((size_t, CL_IMAGE_ELEMENT_SIZE))
- ((size_t, CL_IMAGE_ROW_PITCH))
- ((size_t, CL_IMAGE_SLICE_PITCH))
- ((size_t, CL_IMAGE_WIDTH))
- ((size_t, CL_IMAGE_HEIGHT))
- ((size_t, CL_IMAGE_DEPTH))
-)
-
-namespace detail {
-
-// set_kernel_arg() specialization for image1d
-template<>
-struct set_kernel_arg<image1d> : public set_kernel_arg<image_object> { };
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-BOOST_COMPUTE_TYPE_NAME(boost::compute::image1d, image1d_t)
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE1D_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image2d.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image2d.hpp
deleted file mode 100644
index c203a9417..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image2d.hpp
+++ /dev/null
@@ -1,262 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE2D_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE2D_HPP
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/image/image_format.hpp>
-#include <boost/compute/image/image_object.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/utility/extents.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declarations
-class command_queue;
-
-/// \class image2d
-/// \brief An OpenCL 2D image object
-///
-/// For example, to create a 640x480 8-bit RGBA image:
-///
-/// \snippet test/test_image2d.cpp create_image
-///
-/// \see image_format, image3d
-class image2d : public image_object
-{
-public:
- /// Creates a null image2d object.
- image2d()
- : image_object()
- {
- }
-
- /// Creates a new image2d object.
- ///
- /// \see_opencl_ref{clCreateImage}
- image2d(const context &context,
- size_t image_width,
- size_t image_height,
- const image_format &format,
- cl_mem_flags flags = read_write,
- void *host_ptr = 0,
- size_t image_row_pitch = 0)
- {
- cl_int error = 0;
-
- #ifdef CL_VERSION_1_2
- cl_image_desc desc;
- desc.image_type = CL_MEM_OBJECT_IMAGE2D;
- desc.image_width = image_width;
- desc.image_height = image_height;
- desc.image_depth = 1;
- desc.image_array_size = 0;
- desc.image_row_pitch = image_row_pitch;
- desc.image_slice_pitch = 0;
- desc.num_mip_levels = 0;
- desc.num_samples = 0;
- #ifdef CL_VERSION_2_0
- desc.mem_object = 0;
- #else
- desc.buffer = 0;
- #endif
-
- m_mem = clCreateImage(context,
- flags,
- format.get_format_ptr(),
- &desc,
- host_ptr,
- &error);
- #else
- m_mem = clCreateImage2D(context,
- flags,
- format.get_format_ptr(),
- image_width,
- image_height,
- image_row_pitch,
- host_ptr,
- &error);
- #endif
-
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// \internal_ (deprecated)
- image2d(const context &context,
- cl_mem_flags flags,
- const image_format &format,
- size_t image_width,
- size_t image_height,
- size_t image_row_pitch = 0,
- void *host_ptr = 0)
- {
- cl_int error = 0;
-
- #ifdef CL_VERSION_1_2
- cl_image_desc desc;
- desc.image_type = CL_MEM_OBJECT_IMAGE2D;
- desc.image_width = image_width;
- desc.image_height = image_height;
- desc.image_depth = 1;
- desc.image_array_size = 0;
- desc.image_row_pitch = image_row_pitch;
- desc.image_slice_pitch = 0;
- desc.num_mip_levels = 0;
- desc.num_samples = 0;
- #ifdef CL_VERSION_2_0
- desc.mem_object = 0;
- #else
- desc.buffer = 0;
- #endif
-
- m_mem = clCreateImage(context,
- flags,
- format.get_format_ptr(),
- &desc,
- host_ptr,
- &error);
- #else
- m_mem = clCreateImage2D(context,
- flags,
- format.get_format_ptr(),
- image_width,
- image_height,
- image_row_pitch,
- host_ptr,
- &error);
- #endif
-
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new image2d as a copy of \p other.
- image2d(const image2d &other)
- : image_object(other)
- {
- }
-
- /// Copies the image2d from \p other.
- image2d& operator=(const image2d &other)
- {
- image_object::operator=(other);
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new image object from \p other.
- image2d(image2d&& other) BOOST_NOEXCEPT
- : image_object(std::move(other))
- {
- }
-
- /// Move-assigns the image from \p other to \c *this.
- image2d& operator=(image2d&& other) BOOST_NOEXCEPT
- {
- image_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the image2d object.
- ~image2d()
- {
- }
-
- /// Returns the size (width, height) of the image.
- extents<2> size() const
- {
- extents<2> size;
- size[0] = get_info<size_t>(CL_IMAGE_WIDTH);
- size[1] = get_info<size_t>(CL_IMAGE_HEIGHT);
- return size;
- }
-
- /// Returns the origin of the image (\c 0, \c 0).
- extents<2> origin() const
- {
- return extents<2>();
- }
-
- /// Returns information about the image.
- ///
- /// \see_opencl_ref{clGetImageInfo}
- template<class T>
- T get_info(cl_image_info info) const
- {
- return detail::get_object_info<T>(clGetImageInfo, m_mem, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<image2d, Enum>::type
- get_info() const;
-
- /// Returns the supported image formats for the context.
- ///
- /// \see_opencl_ref{clGetSupportedImageFormats}
- static std::vector<image_format>
- get_supported_formats(const context &context, cl_mem_flags flags = read_write)
- {
- return image_object::get_supported_formats(context, CL_MEM_OBJECT_IMAGE2D, flags);
- }
-
- /// Returns \c true if \p format is a supported 2D image format for
- /// \p context.
- static bool is_supported_format(const image_format &format,
- const context &context,
- cl_mem_flags flags = read_write)
- {
- return image_object::is_supported_format(
- format, context, CL_MEM_OBJECT_IMAGE2D, flags
- );
- }
-
- /// Creates a new image with a copy of the data in \c *this. Uses \p queue
- /// to perform the copy operation.
- image2d clone(command_queue &queue) const;
-};
-
-/// \internal_ define get_info() specializations for image2d
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(image2d,
- ((cl_image_format, CL_IMAGE_FORMAT))
- ((size_t, CL_IMAGE_ELEMENT_SIZE))
- ((size_t, CL_IMAGE_ROW_PITCH))
- ((size_t, CL_IMAGE_SLICE_PITCH))
- ((size_t, CL_IMAGE_WIDTH))
- ((size_t, CL_IMAGE_HEIGHT))
- ((size_t, CL_IMAGE_DEPTH))
-)
-
-namespace detail {
-
-// set_kernel_arg() specialization for image2d
-template<>
-struct set_kernel_arg<image2d> : public set_kernel_arg<image_object> { };
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-BOOST_COMPUTE_TYPE_NAME(boost::compute::image2d, image2d_t)
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE2D_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image3d.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image3d.hpp
deleted file mode 100644
index 9463cfaa1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image3d.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE3D_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE3D_HPP
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/image/image_format.hpp>
-#include <boost/compute/image/image_object.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/utility/extents.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declarations
-class command_queue;
-
-/// \class image3d
-/// \brief An OpenCL 3D image object
-///
-/// \see image_format, image2d
-class image3d : public image_object
-{
-public:
- /// Creates a null image3d object.
- image3d()
- : image_object()
- {
- }
-
- /// Creates a new image3d object.
- ///
- /// \see_opencl_ref{clCreateImage}
- image3d(const context &context,
- size_t image_width,
- size_t image_height,
- size_t image_depth,
- const image_format &format,
- cl_mem_flags flags = read_write,
- void *host_ptr = 0,
- size_t image_row_pitch = 0,
- size_t image_slice_pitch = 0)
- {
- cl_int error = 0;
-
- #ifdef CL_VERSION_1_2
- cl_image_desc desc;
- desc.image_type = CL_MEM_OBJECT_IMAGE3D;
- desc.image_width = image_width;
- desc.image_height = image_height;
- desc.image_depth = image_depth;
- desc.image_array_size = 0;
- desc.image_row_pitch = image_row_pitch;
- desc.image_slice_pitch = image_slice_pitch;
- desc.num_mip_levels = 0;
- desc.num_samples = 0;
- #ifdef CL_VERSION_2_0
- desc.mem_object = 0;
- #else
- desc.buffer = 0;
- #endif
-
- m_mem = clCreateImage(context,
- flags,
- format.get_format_ptr(),
- &desc,
- host_ptr,
- &error);
- #else
- m_mem = clCreateImage3D(context,
- flags,
- format.get_format_ptr(),
- image_width,
- image_height,
- image_depth,
- image_row_pitch,
- image_slice_pitch,
- host_ptr,
- &error);
- #endif
-
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// \internal_ (deprecated)
- image3d(const context &context,
- cl_mem_flags flags,
- const image_format &format,
- size_t image_width,
- size_t image_height,
- size_t image_depth,
- size_t image_row_pitch,
- size_t image_slice_pitch = 0,
- void *host_ptr = 0)
- {
- cl_int error = 0;
-
- #ifdef CL_VERSION_1_2
- cl_image_desc desc;
- desc.image_type = CL_MEM_OBJECT_IMAGE3D;
- desc.image_width = image_width;
- desc.image_height = image_height;
- desc.image_depth = image_depth;
- desc.image_array_size = 0;
- desc.image_row_pitch = image_row_pitch;
- desc.image_slice_pitch = image_slice_pitch;
- desc.num_mip_levels = 0;
- desc.num_samples = 0;
- #ifdef CL_VERSION_2_0
- desc.mem_object = 0;
- #else
- desc.buffer = 0;
- #endif
-
- m_mem = clCreateImage(context,
- flags,
- format.get_format_ptr(),
- &desc,
- host_ptr,
- &error);
- #else
- m_mem = clCreateImage3D(context,
- flags,
- format.get_format_ptr(),
- image_width,
- image_height,
- image_depth,
- image_row_pitch,
- image_slice_pitch,
- host_ptr,
- &error);
- #endif
-
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new image3d as a copy of \p other.
- image3d(const image3d &other)
- : image_object(other)
- {
- }
-
- /// Copies the image3d from \p other.
- image3d& operator=(const image3d &other)
- {
- image_object::operator=(other);
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new image object from \p other.
- image3d(image3d&& other) BOOST_NOEXCEPT
- : image_object(std::move(other))
- {
- }
-
- /// Move-assigns the image from \p other to \c *this.
- image3d& operator=(image3d&& other) BOOST_NOEXCEPT
- {
- image_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the image3d object.
- ~image3d()
- {
- }
-
- /// Returns the size (width, height, depth) of the image.
- extents<3> size() const
- {
- extents<3> size;
- size[0] = get_info<size_t>(CL_IMAGE_WIDTH);
- size[1] = get_info<size_t>(CL_IMAGE_HEIGHT);
- size[2] = get_info<size_t>(CL_IMAGE_DEPTH);
- return size;
- }
-
- /// Returns the origin of the image (\c 0, \c 0, \c 0).
- extents<3> origin() const
- {
- return extents<3>();
- }
-
- /// Returns information about the image.
- ///
- /// \see_opencl_ref{clGetImageInfo}
- template<class T>
- T get_info(cl_image_info info) const
- {
- return detail::get_object_info<T>(clGetImageInfo, m_mem, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<image3d, Enum>::type
- get_info() const;
-
- /// Returns the supported 3D image formats for the context.
- ///
- /// \see_opencl_ref{clGetSupportedImageFormats}
- static std::vector<image_format>
- get_supported_formats(const context &context, cl_mem_flags flags = read_write)
- {
- return image_object::get_supported_formats(context, CL_MEM_OBJECT_IMAGE3D, flags);
- }
-
- /// Returns \c true if \p format is a supported 3D image format for
- /// \p context.
- static bool is_supported_format(const image_format &format,
- const context &context,
- cl_mem_flags flags = read_write)
- {
- return image_object::is_supported_format(
- format, context, CL_MEM_OBJECT_IMAGE3D, flags
- );
- }
-
- /// Creates a new image with a copy of the data in \c *this. Uses \p queue
- /// to perform the copy operation.
- image3d clone(command_queue &queue) const;
-};
-
-/// \internal_ define get_info() specializations for image3d
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(image3d,
- ((cl_image_format, CL_IMAGE_FORMAT))
- ((size_t, CL_IMAGE_ELEMENT_SIZE))
- ((size_t, CL_IMAGE_ROW_PITCH))
- ((size_t, CL_IMAGE_SLICE_PITCH))
- ((size_t, CL_IMAGE_WIDTH))
- ((size_t, CL_IMAGE_HEIGHT))
- ((size_t, CL_IMAGE_DEPTH))
-)
-
-namespace detail {
-
-// set_kernel_arg() specialization for image3d
-template<>
-struct set_kernel_arg<image3d> : public set_kernel_arg<image_object> { };
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-BOOST_COMPUTE_TYPE_NAME(boost::compute::image3d, image3d_t)
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE3D_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_format.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_format.hpp
deleted file mode 100644
index a6ecf83ef..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_format.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE_FORMAT_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE_FORMAT_HPP
-
-#include <boost/compute/cl.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class image_format
-/// \brief A OpenCL image format
-///
-/// For example, to create a format for a 8-bit RGBA image:
-/// \code
-/// boost::compute::image_format rgba8(CL_RGBA, CL_UNSIGNED_INT8);
-/// \endcode
-///
-/// After being constructed, image_format objects are usually passed to the
-/// constructor of the various image classes (e.g. \ref image2d, \ref image3d)
-/// to create an image object on a compute device.
-///
-/// Image formats supported by a context can be queried with the static
-/// get_supported_formats() in each image class. For example:
-/// \code
-/// std::vector<image_format> formats = image2d::get_supported_formats(ctx);
-/// \endcode
-///
-/// \see image2d
-class image_format
-{
-public:
- enum channel_order {
- r = CL_R,
- a = CL_A,
- intensity = CL_INTENSITY,
- luminance = CL_LUMINANCE,
- rg = CL_RG,
- ra = CL_RA,
- rgb = CL_RGB,
- rgba = CL_RGBA,
- argb = CL_ARGB,
- bgra = CL_BGRA
- };
-
- enum channel_data_type {
- snorm_int8 = CL_SNORM_INT8,
- snorm_int16 = CL_SNORM_INT16,
- unorm_int8 = CL_UNORM_INT8,
- unorm_int16 = CL_UNORM_INT16,
- unorm_short_565 = CL_UNORM_SHORT_565,
- unorm_short_555 = CL_UNORM_SHORT_555,
- unorm_int_101010 = CL_UNORM_INT_101010,
- signed_int8 = CL_SIGNED_INT8,
- signed_int16 = CL_SIGNED_INT16,
- signed_int32 = CL_SIGNED_INT32,
- unsigned_int8 = CL_UNSIGNED_INT8,
- unsigned_int16 = CL_UNSIGNED_INT16,
- unsigned_int32 = CL_UNSIGNED_INT32,
- float16 = CL_HALF_FLOAT,
- float32 = CL_FLOAT
- };
-
- /// Creates a new image format object with \p order and \p type.
- explicit image_format(cl_channel_order order, cl_channel_type type)
- {
- m_format.image_channel_order = order;
- m_format.image_channel_data_type = type;
- }
-
- /// Creates a new image format object from \p format.
- explicit image_format(const cl_image_format &format)
- {
- m_format.image_channel_order = format.image_channel_order;
- m_format.image_channel_data_type = format.image_channel_data_type;
- }
-
- /// Creates a new image format object as a copy of \p other.
- image_format(const image_format &other)
- : m_format(other.m_format)
- {
- }
-
- /// Copies the format from \p other to \c *this.
- image_format& operator=(const image_format &other)
- {
- if(this != &other){
- m_format = other.m_format;
- }
-
- return *this;
- }
-
- /// Destroys the image format object.
- ~image_format()
- {
- }
-
- /// Returns a pointer to the \c cl_image_format object.
- const cl_image_format* get_format_ptr() const
- {
- return &m_format;
- }
-
- /// Returns \c true if \c *this is the same as \p other.
- bool operator==(const image_format &other) const
- {
- return m_format.image_channel_order ==
- other.m_format.image_channel_order &&
- m_format.image_channel_data_type ==
- other.m_format.image_channel_data_type;
- }
-
- /// Returns \c true if \c *this is not the same as \p other.
- bool operator!=(const image_format &other) const
- {
- return !(*this == other);
- }
-
-private:
- cl_image_format m_format;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE_FORMAT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_object.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_object.hpp
deleted file mode 100644
index 451c68568..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_object.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE_OBJECT_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE_OBJECT_HPP
-
-#include <algorithm>
-#include <vector>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/memory_object.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/image/image_format.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class image_object
-/// \brief Base-class for image objects.
-///
-/// The image_object class is the base-class for image objects on compute
-/// devices.
-///
-/// \see image1d, image2d, image3d
-class image_object : public memory_object
-{
-public:
- image_object()
- : memory_object()
- {
- }
-
- explicit image_object(cl_mem mem, bool retain = true)
- : memory_object(mem, retain)
- {
- }
-
- image_object(const image_object &other)
- : memory_object(other)
- {
- }
-
- image_object& operator=(const image_object &other)
- {
- if(this != &other){
- memory_object::operator=(other);
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- image_object(image_object&& other) BOOST_NOEXCEPT
- : memory_object(std::move(other))
- {
- }
-
- /// \internal_
- image_object& operator=(image_object&& other) BOOST_NOEXCEPT
- {
- memory_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the image object.
- ~image_object()
- {
- }
-
- /// Returns information about the image object.
- ///
- /// \see_opencl_ref{clGetImageInfo}
- template<class T>
- T get_image_info(cl_mem_info info) const
- {
- return detail::get_object_info<T>(clGetImageInfo, m_mem, info);
- }
-
- /// Returns the format for the image.
- image_format format() const
- {
- return image_format(get_image_info<cl_image_format>(CL_IMAGE_FORMAT));
- }
-
- /// \internal_ (deprecated)
- image_format get_format() const
- {
- return format();
- }
-
- /// Returns the width of the image.
- size_t width() const
- {
- return get_image_info<size_t>(CL_IMAGE_WIDTH);
- }
-
- /// Returns the height of the image.
- ///
- /// For 1D images, this function will return \c 1.
- size_t height() const
- {
- return get_image_info<size_t>(CL_IMAGE_HEIGHT);
- }
-
- /// Returns the depth of the image.
- ///
- /// For 1D and 2D images, this function will return \c 1.
- size_t depth() const
- {
- return get_image_info<size_t>(CL_IMAGE_DEPTH);
- }
-
- /// Returns the supported image formats for the \p type in \p context.
- ///
- /// \see_opencl_ref{clGetSupportedImageFormats}
- static std::vector<image_format>
- get_supported_formats(const context &context,
- cl_mem_object_type type,
- cl_mem_flags flags = read_write)
- {
- cl_uint count = 0;
- clGetSupportedImageFormats(context, flags, type, 0, 0, &count);
-
- std::vector<cl_image_format> cl_formats(count);
- clGetSupportedImageFormats(context, flags, type, count, &cl_formats[0], 0);
-
- std::vector<image_format> formats;
- formats.reserve(count);
-
- for(cl_uint i = 0; i < count; i++){
- formats.push_back(image_format(cl_formats[i]));
- }
-
- return formats;
- }
-
- /// Returns \c true if \p format is a supported image format for
- /// \p type in \p context with \p flags.
- static bool is_supported_format(const image_format &format,
- const context &context,
- cl_mem_object_type type,
- cl_mem_flags flags = read_write)
- {
- const std::vector<image_format> formats =
- get_supported_formats(context, type, flags);
-
- return std::find(formats.begin(), formats.end(), format) != formats.end();
- }
-};
-
-namespace detail {
-
-// set_kernel_arg() specialization for image_object
-template<>
-struct set_kernel_arg<image_object> : public set_kernel_arg<memory_object> { };
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE_OBJECT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_sampler.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_sampler.hpp
deleted file mode 100644
index 4f1bfe9b8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/image/image_sampler.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_IMAGE_IMAGE_SAMPLER_HPP
-#define BOOST_COMPUTE_IMAGE_IMAGE_SAMPLER_HPP
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class image_sampler
-/// \brief An OpenCL image sampler object
-///
-/// \see image2d, image_format
-class image_sampler
-{
-public:
- enum addressing_mode {
- none = CL_ADDRESS_NONE,
- clamp_to_edge = CL_ADDRESS_CLAMP_TO_EDGE,
- clamp = CL_ADDRESS_CLAMP,
- repeat = CL_ADDRESS_REPEAT
- };
-
- enum filter_mode {
- nearest = CL_FILTER_NEAREST,
- linear = CL_FILTER_LINEAR
- };
-
- image_sampler()
- : m_sampler(0)
- {
- }
-
- image_sampler(const context &context,
- bool normalized_coords,
- cl_addressing_mode addressing_mode,
- cl_filter_mode filter_mode)
- {
- cl_int error = 0;
-
- #ifdef CL_VERSION_2_0
- std::vector<cl_sampler_properties> sampler_properties;
- sampler_properties.push_back(CL_SAMPLER_NORMALIZED_COORDS);
- sampler_properties.push_back(cl_sampler_properties(normalized_coords));
- sampler_properties.push_back(CL_SAMPLER_ADDRESSING_MODE);
- sampler_properties.push_back(cl_sampler_properties(addressing_mode));
- sampler_properties.push_back(CL_SAMPLER_FILTER_MODE);
- sampler_properties.push_back(cl_sampler_properties(filter_mode));
- sampler_properties.push_back(cl_sampler_properties(0));
-
- m_sampler = clCreateSamplerWithProperties(
- context, &sampler_properties[0], &error
- );
- #else
- m_sampler = clCreateSampler(
- context, normalized_coords, addressing_mode, filter_mode, &error
- );
- #endif
-
- if(!m_sampler){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- explicit image_sampler(cl_sampler sampler, bool retain = true)
- : m_sampler(sampler)
- {
- if(m_sampler && retain){
- clRetainSampler(m_sampler);
- }
- }
-
- /// Creates a new image sampler object as a copy of \p other.
- image_sampler(const image_sampler &other)
- : m_sampler(other.m_sampler)
- {
- if(m_sampler){
- clRetainSampler(m_sampler);
- }
- }
-
- /// Copies the image sampler object from \p other to \c *this.
- image_sampler& operator=(const image_sampler &other)
- {
- if(this != &other){
- if(m_sampler){
- clReleaseSampler(m_sampler);
- }
-
- m_sampler = other.m_sampler;
-
- if(m_sampler){
- clRetainSampler(m_sampler);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- image_sampler(image_sampler&& other) BOOST_NOEXCEPT
- : m_sampler(other.m_sampler)
- {
- other.m_sampler = 0;
- }
-
- image_sampler& operator=(image_sampler&& other) BOOST_NOEXCEPT
- {
- if(m_sampler){
- clReleaseSampler(m_sampler);
- }
-
- m_sampler = other.m_sampler;
- other.m_sampler = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the image sampler object.
- ~image_sampler()
- {
- if(m_sampler){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseSampler(m_sampler)
- );
- }
- }
-
- /// Returns the underlying \c cl_sampler object.
- cl_sampler& get() const
- {
- return const_cast<cl_sampler &>(m_sampler);
- }
-
- /// Returns the context for the image sampler object.
- context get_context() const
- {
- return context(get_info<cl_context>(CL_SAMPLER_CONTEXT));
- }
-
- /// Returns information about the sampler.
- ///
- /// \see_opencl_ref{clGetSamplerInfo}
- template<class T>
- T get_info(cl_sampler_info info) const
- {
- return detail::get_object_info<T>(clGetSamplerInfo, m_sampler, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<image_sampler, Enum>::type
- get_info() const;
-
- /// Returns \c true if the sampler is the same at \p other.
- bool operator==(const image_sampler &other) const
- {
- return m_sampler == other.m_sampler;
- }
-
- /// Returns \c true if the sampler is different from \p other.
- bool operator!=(const image_sampler &other) const
- {
- return m_sampler != other.m_sampler;
- }
-
- operator cl_sampler() const
- {
- return m_sampler;
- }
-
-private:
- cl_sampler m_sampler;
-};
-
-/// \internal_ define get_info() specializations for image_sampler
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(image_sampler,
- ((cl_uint, CL_SAMPLER_REFERENCE_COUNT))
- ((cl_context, CL_SAMPLER_CONTEXT))
- ((cl_addressing_mode, CL_SAMPLER_ADDRESSING_MODE))
- ((cl_filter_mode, CL_SAMPLER_FILTER_MODE))
- ((bool, CL_SAMPLER_NORMALIZED_COORDS))
-)
-
-namespace detail {
-
-// set_kernel_arg specialization for image samplers
-template<>
-struct set_kernel_arg<image_sampler>
-{
- void operator()(kernel &kernel_, size_t index, const image_sampler &sampler)
- {
- kernel_.set_arg(index, sampler.get());
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-BOOST_COMPUTE_TYPE_NAME(boost::compute::image_sampler, sampler_t)
-
-#endif // BOOST_COMPUTE_IMAGE_IMAGE_SAMPLER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator.hpp
deleted file mode 100644
index 59442b159..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute iterator headers.
-
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/iterator/constant_iterator.hpp>
-#include <boost/compute/iterator/constant_buffer_iterator.hpp>
-#include <boost/compute/iterator/counting_iterator.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-#include <boost/compute/iterator/function_input_iterator.hpp>
-#include <boost/compute/iterator/permutation_iterator.hpp>
-#include <boost/compute/iterator/transform_iterator.hpp>
-#include <boost/compute/iterator/zip_iterator.hpp>
-
-#endif // BOOST_COMPUTE_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/buffer_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/buffer_iterator.hpp
deleted file mode 100644
index cd68058f6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/buffer_iterator.hpp
+++ /dev/null
@@ -1,280 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_BUFFER_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_BUFFER_ITERATOR_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/detail/buffer_value.hpp>
-#include <boost/compute/detail/is_buffer_iterator.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for buffer_iterator<T>
-template<class T> class buffer_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for buffer_iterator<T>
-template<class T>
-class buffer_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::buffer_iterator<T>,
- T,
- ::std::random_access_iterator_tag,
- ::boost::compute::detail::buffer_value<T>
- > type;
-};
-
-template<class T, class IndexExpr>
-struct buffer_iterator_index_expr
-{
- typedef T result_type;
-
- buffer_iterator_index_expr(const buffer &buffer,
- size_t index,
- const memory_object::address_space address_space,
- const IndexExpr &expr)
- : m_buffer(buffer),
- m_index(index),
- m_address_space(address_space),
- m_expr(expr)
- {
- }
-
- operator T() const
- {
- BOOST_STATIC_ASSERT_MSG(boost::is_integral<IndexExpr>::value,
- "Index expression must be integral");
-
- return buffer_value<T>(m_buffer, size_t(m_expr) * sizeof(T));
- }
-
- const buffer &m_buffer;
- size_t m_index;
- memory_object::address_space m_address_space;
- IndexExpr m_expr;
-};
-
-template<class T, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const buffer_iterator_index_expr<T, IndexExpr> &expr)
-{
- if(expr.m_index == 0){
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer, expr.m_address_space) <<
- '[' << expr.m_expr << ']';
- }
- else {
- return kernel <<
- kernel.get_buffer_identifier<T>(expr.m_buffer, expr.m_address_space) <<
- '[' << uint_(expr.m_index) << "+(" << expr.m_expr << ")]";
- }
-}
-
-} // end detail namespace
-
-/// \class buffer_iterator
-/// \brief An iterator for values in a buffer.
-///
-/// The buffer_iterator class iterates over values in a memory buffer on a
-/// compute device. It is the most commonly used iterator in Boost.Compute
-/// and is used by the \ref vector "vector<T>" and \ref array "array<T, N>"
-/// container classes.
-///
-/// Buffer iterators store a reference to a memory buffer along with an index
-/// into that memory buffer.
-///
-/// The buffer_iterator class allows for arbitrary OpenCL memory objects
-/// (including those created outside of Boost.Compute) to be used with the
-/// Boost.Compute algorithms (such as transform() and sort()). For example,
-/// to reverse the contents of an OpenCL memory buffer containing a set of
-/// integers:
-///
-/// \snippet test/test_buffer_iterator.cpp reverse_external_buffer
-///
-/// \see buffer, make_buffer_iterator()
-template<class T>
-class buffer_iterator : public detail::buffer_iterator_base<T>::type
-{
-public:
- typedef typename detail::buffer_iterator_base<T>::type super_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
-
- buffer_iterator()
- : m_index(0)
- {
- }
-
- buffer_iterator(const buffer &buffer, size_t index)
- : m_buffer(buffer.get(), false),
- m_index(index)
- {
- }
-
- buffer_iterator(const buffer_iterator<T> &other)
- : m_buffer(other.m_buffer.get(), false),
- m_index(other.m_index)
- {
- }
-
- buffer_iterator<T>& operator=(const buffer_iterator<T> &other)
- {
- if(this != &other){
- m_buffer.get() = other.m_buffer.get();
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- ~buffer_iterator()
- {
- // set buffer to null so that its reference count will
- // not be decremented when its destructor is called
- m_buffer.get() = 0;
- }
-
- const buffer& get_buffer() const
- {
- return m_buffer;
- }
-
- size_t get_index() const
- {
- return m_index;
- }
-
- T read(command_queue &queue) const
- {
- BOOST_ASSERT(m_buffer.get());
- BOOST_ASSERT(m_index < m_buffer.size() / sizeof(T));
-
- return detail::read_single_value<T>(m_buffer, m_index, queue);
- }
-
- void write(const T &value, command_queue &queue)
- {
- BOOST_ASSERT(m_buffer.get());
- BOOST_ASSERT(m_index < m_buffer.size() / sizeof(T));
-
- detail::write_single_value<T>(value, m_buffer, m_index, queue);
- }
-
- /// \internal_
- template<class Expr>
- detail::buffer_iterator_index_expr<T, Expr>
- operator[](const Expr &expr) const
- {
- BOOST_ASSERT(m_buffer.get());
-
- return detail::buffer_iterator_index_expr<T, Expr>(
- m_buffer, m_index, memory_object::global_memory, expr
- );
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- /// \internal_
- reference dereference() const
- {
- return detail::buffer_value<T>(m_buffer, m_index * sizeof(T));
- }
-
- /// \internal_
- bool equal(const buffer_iterator<T> &other) const
- {
- return m_buffer.get() == other.m_buffer.get() &&
- m_index == other.m_index;
- }
-
- /// \internal_
- void increment()
- {
- m_index++;
- }
-
- /// \internal_
- void decrement()
- {
- m_index--;
- }
-
- /// \internal_
- void advance(difference_type n)
- {
- m_index = static_cast<size_t>(static_cast<difference_type>(m_index) + n);
- }
-
- /// \internal_
- difference_type distance_to(const buffer_iterator<T> &other) const
- {
- return static_cast<difference_type>(other.m_index - m_index);
- }
-
-private:
- const buffer m_buffer;
- size_t m_index;
-};
-
-/// Creates a new \ref buffer_iterator for \p buffer at \p index.
-///
-/// \param buffer the \ref buffer object
-/// \param index the index in the buffer
-///
-/// \return a \c buffer_iterator for \p buffer at \p index
-template<class T>
-inline buffer_iterator<T>
-make_buffer_iterator(const buffer &buffer, size_t index = 0)
-{
- return buffer_iterator<T>(buffer, index);
-}
-
-/// \internal_ (is_device_iterator specialization for buffer_iterator)
-template<class T>
-struct is_device_iterator<buffer_iterator<T> > : boost::true_type {};
-
-namespace detail {
-
-// is_buffer_iterator specialization for buffer_iterator
-template<class Iterator>
-struct is_buffer_iterator<
- Iterator,
- typename boost::enable_if<
- boost::is_same<
- buffer_iterator<typename Iterator::value_type>,
- typename boost::remove_const<Iterator>::type
- >
- >::type
-> : public boost::true_type {};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_BUFFER_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_buffer_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_buffer_iterator.hpp
deleted file mode 100644
index ef9a2ac95..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_buffer_iterator.hpp
+++ /dev/null
@@ -1,209 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_CONSTANT_BUFFER_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_CONSTANT_BUFFER_ITERATOR_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/iterator/buffer_iterator.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for constant_buffer_iterator<T>
-template<class T> class constant_buffer_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for constant_buffer_iterator<T>
-template<class T>
-class constant_buffer_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::constant_buffer_iterator<T>,
- T,
- ::std::random_access_iterator_tag,
- ::boost::compute::detail::buffer_value<T>
- > type;
-};
-
-} // end detail namespace
-
-/// \class constant_buffer_iterator
-/// \brief An iterator for a buffer in the \c constant memory space.
-///
-/// The constant_buffer_iterator class provides an iterator for values in a
-/// buffer in the \c constant memory space.
-///
-/// For iterating over values in the \c global memory space (the most common
-/// case), use the buffer_iterator class.
-///
-/// \see buffer_iterator
-template<class T>
-class constant_buffer_iterator :
- public detail::constant_buffer_iterator_base<T>::type
-{
-public:
- typedef typename detail::constant_buffer_iterator_base<T>::type super_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
-
- constant_buffer_iterator()
- : m_buffer(0),
- m_index(0)
- {
- }
-
- constant_buffer_iterator(const buffer &buffer, size_t index)
- : m_buffer(&buffer),
- m_index(index)
- {
- }
-
- constant_buffer_iterator(const constant_buffer_iterator<T> &other)
- : m_buffer(other.m_buffer),
- m_index(other.m_index)
- {
- }
-
- constant_buffer_iterator<T>& operator=(const constant_buffer_iterator<T> &other)
- {
- if(this != &other){
- m_buffer = other.m_buffer;
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- ~constant_buffer_iterator()
- {
- }
-
- const buffer& get_buffer() const
- {
- return *m_buffer;
- }
-
- size_t get_index() const
- {
- return m_index;
- }
-
- T read(command_queue &queue) const
- {
- BOOST_ASSERT(m_buffer && m_buffer->get());
- BOOST_ASSERT(m_index < m_buffer->size() / sizeof(T));
-
- return detail::read_single_value<T>(m_buffer, m_index, queue);
- }
-
- void write(const T &value, command_queue &queue)
- {
- BOOST_ASSERT(m_buffer && m_buffer->get());
- BOOST_ASSERT(m_index < m_buffer->size() / sizeof(T));
-
- detail::write_single_value<T>(m_buffer, m_index, queue);
- }
-
- template<class Expr>
- detail::buffer_iterator_index_expr<T, Expr>
- operator[](const Expr &expr) const
- {
- BOOST_ASSERT(m_buffer);
- BOOST_ASSERT(m_buffer->get());
-
- return detail::buffer_iterator_index_expr<T, Expr>(
- *m_buffer, m_index, memory_object::constant_memory, expr
- );
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- return detail::buffer_value<T>(*m_buffer, m_index);
- }
-
- bool equal(const constant_buffer_iterator<T> &other) const
- {
- return m_buffer == other.m_buffer && m_index == other.m_index;
- }
-
- void increment()
- {
- m_index++;
- }
-
- void decrement()
- {
- m_index--;
- }
-
- void advance(difference_type n)
- {
- m_index = static_cast<size_t>(static_cast<difference_type>(m_index) + n);
- }
-
- difference_type distance_to(const constant_buffer_iterator<T> &other) const
- {
- return static_cast<difference_type>(other.m_index - m_index);
- }
-
-private:
- const buffer *m_buffer;
- size_t m_index;
-};
-
-/// Creates a new constant_buffer_iterator for \p buffer at \p index.
-///
-/// \param buffer the \ref buffer object
-/// \param index the index in the buffer
-///
-/// \return a \c constant_buffer_iterator for \p buffer at \p index
-template<class T>
-inline constant_buffer_iterator<T>
-make_constant_buffer_iterator(const buffer &buffer, size_t index = 0)
-{
- return constant_buffer_iterator<T>(buffer, index);
-}
-
-/// \internal_ (is_device_iterator specialization for constant_buffer_iterator)
-template<class T>
-struct is_device_iterator<constant_buffer_iterator<T> > : boost::true_type {};
-
-namespace detail {
-
-// is_buffer_iterator specialization for constant_buffer_iterator
-template<class Iterator>
-struct is_buffer_iterator<
- Iterator,
- typename boost::enable_if<
- boost::is_same<
- constant_buffer_iterator<typename Iterator::value_type>,
- typename boost::remove_const<Iterator>::type
- >
- >::type
-> : public boost::true_type {};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_CONSTANT_BUFFER_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_iterator.hpp
deleted file mode 100644
index f0d45c02c..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/constant_iterator.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_CONSTANT_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_CONSTANT_ITERATOR_HPP
-
-#include <string>
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for constant_iterator<T>
-template<class T> class constant_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for constant_iterator<T>
-template<class T>
-class constant_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::constant_iterator<T>,
- T,
- ::std::random_access_iterator_tag
- > type;
-};
-
-} // end detail namespace
-
-/// \class constant_iterator
-/// \brief An iterator with a constant value.
-///
-/// The constant_iterator class provides an iterator which returns a constant
-/// value when dereferenced.
-///
-/// For example, this could be used to implement the fill() algorithm in terms
-/// of the copy() algorithm by copying from a range of constant iterators:
-///
-/// \snippet test/test_constant_iterator.cpp fill_with_copy
-///
-/// \see make_constant_iterator()
-template<class T>
-class constant_iterator : public detail::constant_iterator_base<T>::type
-{
-public:
- typedef typename detail::constant_iterator_base<T>::type super_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
-
- constant_iterator(const T &value, size_t index = 0)
- : m_value(value),
- m_index(index)
- {
- }
-
- constant_iterator(const constant_iterator<T> &other)
- : m_value(other.m_value),
- m_index(other.m_index)
- {
- }
-
- constant_iterator<T>& operator=(const constant_iterator<T> &other)
- {
- if(this != &other){
- m_value = other.m_value;
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- ~constant_iterator()
- {
- }
-
- size_t get_index() const
- {
- return m_index;
- }
-
- /// \internal_
- template<class Expr>
- detail::meta_kernel_literal<T> operator[](const Expr &expr) const
- {
- (void) expr;
-
- return detail::meta_kernel::make_lit<T>(m_value);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- /// \internal_
- reference dereference() const
- {
- return m_value;
- }
-
- /// \internal_
- bool equal(const constant_iterator<T> &other) const
- {
- return m_value == other.m_value && m_index == other.m_index;
- }
-
- /// \internal_
- void increment()
- {
- m_index++;
- }
-
- /// \internal_
- void decrement()
- {
- m_index--;
- }
-
- /// \internal_
- void advance(difference_type n)
- {
- m_index = static_cast<size_t>(static_cast<difference_type>(m_index) + n);
- }
-
- /// \internal_
- difference_type distance_to(const constant_iterator<T> &other) const
- {
- return static_cast<difference_type>(other.m_index - m_index);
- }
-
-private:
- T m_value;
- size_t m_index;
-};
-
-/// Returns a new constant_iterator with \p value at \p index.
-///
-/// \param value the constant value
-/// \param index the iterators index
-///
-/// \return a \c constant_iterator with \p value
-template<class T>
-inline constant_iterator<T>
-make_constant_iterator(const T &value, size_t index = 0)
-{
- return constant_iterator<T>(value, index);
-}
-
-/// \internal_ (is_device_iterator specialization for constant_iterator)
-template<class T>
-struct is_device_iterator<constant_iterator<T> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_CONSTANT_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/counting_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/counting_iterator.hpp
deleted file mode 100644
index 304c1e05c..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/counting_iterator.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_COUNTING_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_COUNTING_ITERATOR_HPP
-
-#include <string>
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for counting_iterator<T>
-template<class T> class counting_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for counting_iterator<T>
-template<class T>
-class counting_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::counting_iterator<T>,
- T,
- ::std::random_access_iterator_tag
- > type;
-};
-
-template<class T, class IndexExpr>
-struct counting_iterator_index_expr
-{
- typedef T result_type;
-
- counting_iterator_index_expr(const T &init, const IndexExpr &expr)
- : m_init(init),
- m_expr(expr)
- {
- }
-
- const T &m_init;
- IndexExpr m_expr;
-};
-
-template<class T, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const counting_iterator_index_expr<T, IndexExpr> &expr)
-{
- return kernel << '(' << expr.m_init << '+' << expr.m_expr << ')';
-}
-
-} // end detail namespace
-
-/// \class counting_iterator
-/// \brief The counting_iterator class implements a counting iterator.
-///
-/// A counting iterator returns an internal value (initialized with \p init)
-/// which is incremented each time the iterator is incremented.
-///
-/// For example, this could be used to implement the iota() algorithm in terms
-/// of the copy() algorithm by copying from a range of counting iterators:
-///
-/// \snippet test/test_counting_iterator.cpp iota_with_copy
-///
-/// \see make_counting_iterator()
-template<class T>
-class counting_iterator : public detail::counting_iterator_base<T>::type
-{
-public:
- typedef typename detail::counting_iterator_base<T>::type super_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
-
- counting_iterator(const T &init)
- : m_init(init)
- {
- }
-
- counting_iterator(const counting_iterator<T> &other)
- : m_init(other.m_init)
- {
- }
-
- counting_iterator<T>& operator=(const counting_iterator<T> &other)
- {
- if(this != &other){
- m_init = other.m_init;
- }
-
- return *this;
- }
-
- ~counting_iterator()
- {
- }
-
- size_t get_index() const
- {
- return 0;
- }
-
- template<class Expr>
- detail::counting_iterator_index_expr<T, Expr>
- operator[](const Expr &expr) const
- {
- return detail::counting_iterator_index_expr<T, Expr>(m_init, expr);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- return m_init;
- }
-
- bool equal(const counting_iterator<T> &other) const
- {
- return m_init == other.m_init;
- }
-
- void increment()
- {
- m_init++;
- }
-
- void decrement()
- {
- m_init--;
- }
-
- void advance(difference_type n)
- {
- m_init += static_cast<T>(n);
- }
-
- difference_type distance_to(const counting_iterator<T> &other) const
- {
- return difference_type(other.m_init) - difference_type(m_init);
- }
-
-private:
- T m_init;
-};
-
-/// Returns a new counting_iterator starting at \p init.
-///
-/// \param init the initial value
-///
-/// \return a counting_iterator with \p init.
-///
-/// For example, to create a counting iterator which returns unsigned integers
-/// and increments from one:
-/// \code
-/// auto iter = make_counting_iterator<uint_>(1);
-/// \endcode
-template<class T>
-inline counting_iterator<T> make_counting_iterator(const T &init)
-{
- return counting_iterator<T>(init);
-}
-
-/// \internal_ (is_device_iterator specialization for counting_iterator)
-template<class T>
-struct is_device_iterator<counting_iterator<T> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_COUNTING_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/detail/get_base_iterator_buffer.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/detail/get_base_iterator_buffer.hpp
deleted file mode 100644
index 3d1435511..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/detail/get_base_iterator_buffer.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_DETAIL_GET_BASE_ITERATOR_BUFFER_HPP
-#define BOOST_COMPUTE_ITERATOR_DETAIL_GET_BASE_ITERATOR_BUFFER_HPP
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// returns the buffer for an iterator adaptor's base iterator if
-// it exists, otherwise returns a null buffer object.
-template<class Iterator>
-inline const buffer&
-get_base_iterator_buffer(const Iterator &iter,
- typename boost::enable_if<
- is_buffer_iterator<
- typename Iterator::base_type
- >
- >::type* = 0)
-{
- return iter.base().get_buffer();
-}
-
-template<class Iterator>
-inline const buffer&
-get_base_iterator_buffer(const Iterator &iter,
- typename boost::disable_if<
- is_buffer_iterator<
- typename Iterator::base_type
- >
- >::type* = 0)
-{
- (void) iter;
-
- static buffer null_buffer;
-
- return null_buffer;
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_DETAIL_GET_BASE_ITERATOR_BUFFER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/discard_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/discard_iterator.hpp
deleted file mode 100644
index e002cf2ac..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/discard_iterator.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_DISCARD_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_DISCARD_ITERATOR_HPP
-
-#include <string>
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for discard_iterator
-class discard_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for discard_iterator
-struct discard_iterator_base
-{
- typedef ::boost::iterator_facade<
- ::boost::compute::discard_iterator,
- void,
- ::std::random_access_iterator_tag,
- void *
- > type;
-};
-
-template<class IndexExpr>
-struct discard_iterator_index_expr
-{
- typedef void result_type;
-
- discard_iterator_index_expr(const IndexExpr &expr)
- : m_expr(expr)
- {
- }
-
- IndexExpr m_expr;
-};
-
-template<class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const discard_iterator_index_expr<IndexExpr> &expr)
-{
- (void) expr;
-
- return kernel;
-}
-
-} // end detail namespace
-
-/// \class discard_iterator
-/// \brief An iterator which discards all values written to it.
-///
-/// \see make_discard_iterator(), constant_iterator
-class discard_iterator : public detail::discard_iterator_base::type
-{
-public:
- typedef detail::discard_iterator_base::type super_type;
- typedef super_type::reference reference;
- typedef super_type::difference_type difference_type;
-
- discard_iterator(size_t index = 0)
- : m_index(index)
- {
- }
-
- discard_iterator(const discard_iterator &other)
- : m_index(other.m_index)
- {
- }
-
- discard_iterator& operator=(const discard_iterator &other)
- {
- if(this != &other){
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- ~discard_iterator()
- {
- }
-
- /// \internal_
- template<class Expr>
- detail::discard_iterator_index_expr<Expr>
- operator[](const Expr &expr) const
- {
- return detail::discard_iterator_index_expr<Expr>(expr);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- /// \internal_
- reference dereference() const
- {
- return 0;
- }
-
- /// \internal_
- bool equal(const discard_iterator &other) const
- {
- return m_index == other.m_index;
- }
-
- /// \internal_
- void increment()
- {
- m_index++;
- }
-
- /// \internal_
- void decrement()
- {
- m_index--;
- }
-
- /// \internal_
- void advance(difference_type n)
- {
- m_index = static_cast<size_t>(static_cast<difference_type>(m_index) + n);
- }
-
- /// \internal_
- difference_type distance_to(const discard_iterator &other) const
- {
- return static_cast<difference_type>(other.m_index - m_index);
- }
-
-private:
- size_t m_index;
-};
-
-/// Returns a new discard_iterator with \p index.
-///
-/// \param index the index of the iterator
-///
-/// \return a \c discard_iterator at \p index
-inline discard_iterator make_discard_iterator(size_t index = 0)
-{
- return discard_iterator(index);
-}
-
-/// internal_ (is_device_iterator specialization for discard_iterator)
-template<>
-struct is_device_iterator<discard_iterator> : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_DISCARD_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/function_input_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/function_input_iterator.hpp
deleted file mode 100644
index bd89b6c0f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/function_input_iterator.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_FUNCTION_INPUT_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_FUNCTION_INPUT_ITERATOR_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for function_input_iterator<Function>
-template<class Function> class function_input_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_facade super-class
-// type for function_input_iterator<Function>
-template<class Function>
-class function_input_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::function_input_iterator<Function>,
- typename ::boost::compute::result_of<Function()>::type,
- ::std::random_access_iterator_tag,
- typename ::boost::compute::result_of<Function()>::type
- > type;
-};
-
-template<class Function>
-struct function_input_iterator_expr
-{
- typedef typename ::boost::compute::result_of<Function()>::type result_type;
-
- function_input_iterator_expr(const Function &function)
- : m_function(function)
- {
- }
-
- Function m_function;
-};
-
-template<class Function>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const function_input_iterator_expr<Function> &expr)
-{
- return kernel << expr.m_function();
-}
-
-} // end detail namespace
-
-/// \class function_input_iterator
-/// \brief Iterator which returns the result of a function when dereferenced
-///
-/// For example:
-///
-/// \snippet test/test_function_input_iterator.cpp generate_42
-///
-/// \see make_function_input_iterator()
-template<class Function>
-class function_input_iterator :
- public detail::function_input_iterator_base<Function>::type
-{
-public:
- typedef typename detail::function_input_iterator_base<Function>::type super_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
- typedef Function function;
-
- function_input_iterator(const Function &function, size_t index = 0)
- : m_function(function),
- m_index(index)
- {
- }
-
- function_input_iterator(const function_input_iterator<Function> &other)
- : m_function(other.m_function),
- m_index(other.m_index)
- {
- }
-
- function_input_iterator<Function>&
- operator=(const function_input_iterator<Function> &other)
- {
- if(this != &other){
- m_function = other.m_function;
- m_index = other.m_index;
- }
-
- return *this;
- }
-
- ~function_input_iterator()
- {
- }
-
- size_t get_index() const
- {
- return m_index;
- }
-
- template<class Expr>
- detail::function_input_iterator_expr<Function>
- operator[](const Expr &expr) const
- {
- (void) expr;
-
- return detail::function_input_iterator_expr<Function>(m_function);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- return reference();
- }
-
- bool equal(const function_input_iterator<Function> &other) const
- {
- return m_function == other.m_function && m_index == other.m_index;
- }
-
- void increment()
- {
- m_index++;
- }
-
- void decrement()
- {
- m_index--;
- }
-
- void advance(difference_type n)
- {
- m_index = static_cast<size_t>(static_cast<difference_type>(m_index) + n);
- }
-
- difference_type
- distance_to(const function_input_iterator<Function> &other) const
- {
- return static_cast<difference_type>(other.m_index - m_index);
- }
-
-private:
- Function m_function;
- size_t m_index;
-};
-
-/// Returns a function_input_iterator with \p function.
-///
-/// \param function function to execute when dereferenced
-/// \param index index of the iterator
-///
-/// \return a \c function_input_iterator with \p function
-template<class Function>
-inline function_input_iterator<Function>
-make_function_input_iterator(const Function &function, size_t index = 0)
-{
- return function_input_iterator<Function>(function, index);
-}
-
-/// \internal_ (is_device_iterator specialization for function_input_iterator)
-template<class Function>
-struct is_device_iterator<function_input_iterator<Function> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_FUNCTION_INPUT_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/permutation_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/permutation_iterator.hpp
deleted file mode 100644
index 8a7f97a40..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/permutation_iterator.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_PERMUTATION_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_PERMUTATION_ITERATOR_HPP
-
-#include <string>
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/is_buffer_iterator.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/iterator/detail/get_base_iterator_buffer.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for transform_iterator
-template<class ElementIterator, class IndexIterator>
-class permutation_iterator;
-
-namespace detail {
-
-// helper class which defines the iterator_adaptor super-class
-// type for permutation_iterator
-template<class ElementIterator, class IndexIterator>
-class permutation_iterator_base
-{
-public:
- typedef ::boost::iterator_adaptor<
- ::boost::compute::permutation_iterator<ElementIterator, IndexIterator>,
- ElementIterator
- > type;
-};
-
-template<class ElementIterator, class IndexIterator, class IndexExpr>
-struct permutation_iterator_access_expr
-{
- typedef typename std::iterator_traits<ElementIterator>::value_type result_type;
-
- permutation_iterator_access_expr(const ElementIterator &e,
- const IndexIterator &i,
- const IndexExpr &expr)
- : m_element_iter(e),
- m_index_iter(i),
- m_expr(expr)
- {
- }
-
- ElementIterator m_element_iter;
- IndexIterator m_index_iter;
- IndexExpr m_expr;
-};
-
-template<class ElementIterator, class IndexIterator, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const permutation_iterator_access_expr<ElementIterator,
- IndexIterator,
- IndexExpr> &expr)
-{
- return kernel << expr.m_element_iter[expr.m_index_iter[expr.m_expr]];
-}
-
-} // end detail namespace
-
-/// \class permutation_iterator
-/// \brief The permutation_iterator class provides a permuation iterator
-///
-/// A permutation iterator iterates over a value range and an index range. When
-/// dereferenced, it returns the value from the value range using the current
-/// index from the index range.
-///
-/// For example, to reverse a range using the copy() algorithm and a permutation
-/// sequence:
-///
-/// \snippet test/test_permutation_iterator.cpp reverse_range
-///
-/// \see make_permutation_iterator()
-template<class ElementIterator, class IndexIterator>
-class permutation_iterator
- : public detail::permutation_iterator_base<ElementIterator,
- IndexIterator>::type
-{
-public:
- typedef typename
- detail::permutation_iterator_base<ElementIterator,
- IndexIterator>::type super_type;
- typedef typename super_type::value_type value_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::base_type base_type;
- typedef typename super_type::difference_type difference_type;
- typedef IndexIterator index_iterator;
-
- permutation_iterator(ElementIterator e, IndexIterator i)
- : super_type(e),
- m_map(i)
- {
- }
-
- permutation_iterator(const permutation_iterator<ElementIterator,
- IndexIterator> &other)
- : super_type(other),
- m_map(other.m_map)
- {
- }
-
- permutation_iterator<ElementIterator, IndexIterator>&
- operator=(const permutation_iterator<ElementIterator,
- IndexIterator> &other)
- {
- if(this != &other){
- super_type::operator=(other);
- m_map = other.m_map;
- }
-
- return *this;
- }
-
- ~permutation_iterator()
- {
- }
-
- size_t get_index() const
- {
- return super_type::base().get_index();
- }
-
- const buffer& get_buffer() const
- {
- return detail::get_base_iterator_buffer(*this);
- }
-
- template<class IndexExpr>
- detail::permutation_iterator_access_expr<ElementIterator,
- IndexIterator,
- IndexExpr>
- operator[](const IndexExpr &expr) const
- {
- return detail::permutation_iterator_access_expr<ElementIterator,
- IndexIterator,
- IndexExpr>(super_type::base(),
- m_map,
- expr);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- return reference();
- }
-
-private:
- IndexIterator m_map;
-};
-
-/// Returns a permutation_iterator for \p e using indices from \p i.
-///
-/// \param e the element range iterator
-/// \param i the index range iterator
-///
-/// \return a \c permutation_iterator for \p e using \p i
-template<class ElementIterator, class IndexIterator>
-inline permutation_iterator<ElementIterator, IndexIterator>
-make_permutation_iterator(ElementIterator e, IndexIterator i)
-{
- return permutation_iterator<ElementIterator, IndexIterator>(e, i);
-}
-
-/// \internal_ (is_device_iterator specialization for permutation_iterator)
-template<class ElementIterator, class IndexIterator>
-struct is_device_iterator<
- permutation_iterator<ElementIterator, IndexIterator> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_PERMUTATION_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/transform_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/transform_iterator.hpp
deleted file mode 100644
index c040922f9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/transform_iterator.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_TRANSFORM_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_TRANSFORM_ITERATOR_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/is_buffer_iterator.hpp>
-#include <boost/compute/detail/read_write_single_value.hpp>
-#include <boost/compute/iterator/detail/get_base_iterator_buffer.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for transform_iterator
-template<class InputIterator, class UnaryFunction>
-class transform_iterator;
-
-namespace detail {
-
-// meta-function returning the value_type for a transform_iterator
-template<class InputIterator, class UnaryFunction>
-struct make_transform_iterator_value_type
-{
- typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-
- typedef typename boost::compute::result_of<UnaryFunction(value_type)>::type type;
-};
-
-// helper class which defines the iterator_adaptor super-class
-// type for transform_iterator
-template<class InputIterator, class UnaryFunction>
-class transform_iterator_base
-{
-public:
- typedef ::boost::iterator_adaptor<
- ::boost::compute::transform_iterator<InputIterator, UnaryFunction>,
- InputIterator,
- typename make_transform_iterator_value_type<InputIterator, UnaryFunction>::type,
- typename std::iterator_traits<InputIterator>::iterator_category,
- typename make_transform_iterator_value_type<InputIterator, UnaryFunction>::type
- > type;
-};
-
-template<class InputIterator, class UnaryFunction, class IndexExpr>
-struct transform_iterator_index_expr
-{
- typedef typename
- make_transform_iterator_value_type<
- InputIterator,
- UnaryFunction
- >::type result_type;
-
- transform_iterator_index_expr(const InputIterator &input_iter,
- const UnaryFunction &transform_expr,
- const IndexExpr &index_expr)
- : m_input_iter(input_iter),
- m_transform_expr(transform_expr),
- m_index_expr(index_expr)
- {
- }
-
- InputIterator m_input_iter;
- UnaryFunction m_transform_expr;
- IndexExpr m_index_expr;
-};
-
-template<class InputIterator, class UnaryFunction, class IndexExpr>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const transform_iterator_index_expr<InputIterator,
- UnaryFunction,
- IndexExpr> &expr)
-{
- return kernel << expr.m_transform_expr(expr.m_input_iter[expr.m_index_expr]);
-}
-
-} // end detail namespace
-
-/// \class transform_iterator
-/// \brief A transform iterator adaptor.
-///
-/// The transform_iterator adaptor applies a unary function to each element
-/// produced from the underlying iterator when dereferenced.
-///
-/// For example, to copy from an input range to an output range while taking
-/// the absolute value of each element:
-///
-/// \snippet test/test_transform_iterator.cpp copy_abs
-///
-/// \see buffer_iterator, make_transform_iterator()
-template<class InputIterator, class UnaryFunction>
-class transform_iterator :
- public detail::transform_iterator_base<InputIterator, UnaryFunction>::type
-{
-public:
- typedef typename
- detail::transform_iterator_base<InputIterator,
- UnaryFunction>::type super_type;
- typedef typename super_type::value_type value_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::base_type base_type;
- typedef typename super_type::difference_type difference_type;
- typedef UnaryFunction unary_function;
-
- transform_iterator(InputIterator iterator, UnaryFunction transform)
- : super_type(iterator),
- m_transform(transform)
- {
- }
-
- transform_iterator(const transform_iterator<InputIterator,
- UnaryFunction> &other)
- : super_type(other.base()),
- m_transform(other.m_transform)
- {
- }
-
- transform_iterator<InputIterator, UnaryFunction>&
- operator=(const transform_iterator<InputIterator,
- UnaryFunction> &other)
- {
- if(this != &other){
- super_type::operator=(other);
-
- m_transform = other.m_transform;
- }
-
- return *this;
- }
-
- ~transform_iterator()
- {
- }
-
- size_t get_index() const
- {
- return super_type::base().get_index();
- }
-
- const buffer& get_buffer() const
- {
- return detail::get_base_iterator_buffer(*this);
- }
-
- template<class IndexExpression>
- detail::transform_iterator_index_expr<InputIterator, UnaryFunction, IndexExpression>
- operator[](const IndexExpression &expr) const
- {
- return detail::transform_iterator_index_expr<InputIterator,
- UnaryFunction,
- IndexExpression>(super_type::base(),
- m_transform,
- expr);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- const context &context = super_type::base().get_buffer().get_context();
- command_queue queue(context, context.get_device());
-
- detail::meta_kernel k("read");
- size_t output_arg = k.add_arg<value_type *>(memory_object::global_memory, "output");
- k << "*output = " << m_transform(super_type::base()[k.lit(0)]) << ";";
-
- kernel kernel = k.compile(context);
-
- buffer output_buffer(context, sizeof(value_type));
-
- kernel.set_arg(output_arg, output_buffer);
-
- queue.enqueue_task(kernel);
-
- return detail::read_single_value<value_type>(output_buffer, queue);
- }
-
-private:
- UnaryFunction m_transform;
-};
-
-/// Returns a transform_iterator for \p iterator with \p transform.
-///
-/// \param iterator the underlying iterator
-/// \param transform the unary transform function
-///
-/// \return a \c transform_iterator for \p iterator with \p transform
-///
-/// For example, to create an iterator which returns the square-root of each
-/// value in a \c vector<int>:
-/// \code
-/// auto sqrt_iterator = make_transform_iterator(vec.begin(), sqrt<int>());
-/// \endcode
-template<class InputIterator, class UnaryFunction>
-inline transform_iterator<InputIterator, UnaryFunction>
-make_transform_iterator(InputIterator iterator, UnaryFunction transform)
-{
- return transform_iterator<InputIterator,
- UnaryFunction>(iterator, transform);
-}
-
-/// \internal_ (is_device_iterator specialization for transform_iterator)
-template<class InputIterator, class UnaryFunction>
-struct is_device_iterator<
- transform_iterator<InputIterator, UnaryFunction> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_TRANSFORM_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/zip_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/zip_iterator.hpp
deleted file mode 100644
index 2860d73a9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/iterator/zip_iterator.hpp
+++ /dev/null
@@ -1,316 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_ITERATOR_ZIP_ITERATOR_HPP
-#define BOOST_COMPUTE_ITERATOR_ZIP_ITERATOR_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/tuple/tuple_comparison.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/mpl_vector_to_tuple.hpp>
-#include <boost/compute/types/tuple.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for zip_iterator
-template<class IteratorTuple>
-class zip_iterator;
-
-namespace detail {
-
-namespace mpl = boost::mpl;
-
-// meta-function returning the value_type for an iterator
-template<class Iterator>
-struct make_iterator_value_type
-{
- typedef typename std::iterator_traits<Iterator>::value_type type;
-};
-
-// meta-function returning the value_type for a zip_iterator
-template<class IteratorTuple>
-struct make_zip_iterator_value_type
-{
- typedef typename
- detail::mpl_vector_to_tuple<
- typename mpl::transform<
- IteratorTuple,
- make_iterator_value_type<mpl::_1>,
- mpl::back_inserter<mpl::vector<> >
- >::type
- >::type type;
-};
-
-// helper class which defines the iterator_facade super-class
-// type for zip_iterator
-template<class IteratorTuple>
-class zip_iterator_base
-{
-public:
- typedef ::boost::iterator_facade<
- ::boost::compute::zip_iterator<IteratorTuple>,
- typename make_zip_iterator_value_type<IteratorTuple>::type,
- ::std::random_access_iterator_tag,
- typename make_zip_iterator_value_type<IteratorTuple>::type
- > type;
-};
-
-template<class IteratorTuple, class IndexExpr>
-struct zip_iterator_index_expr
-{
- typedef typename
- make_zip_iterator_value_type<IteratorTuple>::type
- result_type;
-
- zip_iterator_index_expr(const IteratorTuple &iterators,
- const IndexExpr &index_expr)
- : m_iterators(iterators),
- m_index_expr(index_expr)
- {
- }
-
- IteratorTuple m_iterators;
- IndexExpr m_index_expr;
-};
-
-/// \internal_
-#define BOOST_COMPUTE_PRINT_ELEM(z, n, unused) \
- BOOST_PP_EXPR_IF(n, << ", ") \
- << boost::get<n>(expr.m_iterators)[expr.m_index_expr]
-
-/// \internal_
-#define BOOST_COMPUTE_PRINT_ZIP_IDX(z, n, unused) \
-template<BOOST_PP_ENUM_PARAMS(n, class Iterator), class IndexExpr> \
-inline meta_kernel& operator<<( \
- meta_kernel &kernel, \
- const zip_iterator_index_expr< \
- boost::tuple<BOOST_PP_ENUM_PARAMS(n, Iterator)>, \
- IndexExpr \
- > &expr) \
-{ \
- typedef typename \
- boost::tuple<BOOST_PP_ENUM_PARAMS(n, Iterator)> \
- tuple_type; \
- typedef typename \
- make_zip_iterator_value_type<tuple_type>::type \
- value_type; \
- kernel.inject_type<value_type>(); \
- return kernel \
- << "(" << type_name<value_type>() << ")" \
- << "{ " \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_PRINT_ELEM, ~) \
- << "}"; \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_PRINT_ZIP_IDX, ~)
-
-#undef BOOST_COMPUTE_PRINT_ZIP_IDX
-#undef BOOST_COMPUTE_PRINT_ELEM
-
-struct iterator_advancer
-{
- iterator_advancer(size_t n)
- : m_distance(n)
- {
- }
-
- template<class Iterator>
- void operator()(Iterator &i) const
- {
- std::advance(i, m_distance);
- }
-
- size_t m_distance;
-};
-
-template<class Iterator>
-void increment_iterator(Iterator &i)
-{
- i++;
-}
-
-template<class Iterator>
-void decrement_iterator(Iterator &i)
-{
- i--;
-}
-
-} // end detail namespace
-
-/// \class zip_iterator
-/// \brief A zip iterator adaptor.
-///
-/// The zip_iterator class combines values from multiple input iterators. When
-/// dereferenced it returns a tuple containing each value at the current
-/// position in each input range.
-///
-/// \see make_zip_iterator()
-template<class IteratorTuple>
-class zip_iterator : public detail::zip_iterator_base<IteratorTuple>::type
-{
-public:
- typedef typename
- detail::zip_iterator_base<IteratorTuple>::type
- super_type;
- typedef typename super_type::value_type value_type;
- typedef typename super_type::reference reference;
- typedef typename super_type::difference_type difference_type;
- typedef IteratorTuple iterator_tuple;
-
- zip_iterator(IteratorTuple iterators)
- : m_iterators(iterators)
- {
- }
-
- zip_iterator(const zip_iterator<IteratorTuple> &other)
- : m_iterators(other.m_iterators)
- {
- }
-
- zip_iterator<IteratorTuple>&
- operator=(const zip_iterator<IteratorTuple> &other)
- {
- if(this != &other){
- super_type::operator=(other);
-
- m_iterators = other.m_iterators;
- }
-
- return *this;
- }
-
- ~zip_iterator()
- {
- }
-
- const IteratorTuple& get_iterator_tuple() const
- {
- return m_iterators;
- }
-
- template<class IndexExpression>
- detail::zip_iterator_index_expr<IteratorTuple, IndexExpression>
- operator[](const IndexExpression &expr) const
- {
- return detail::zip_iterator_index_expr<IteratorTuple,
- IndexExpression>(m_iterators,
- expr);
- }
-
-private:
- friend class ::boost::iterator_core_access;
-
- reference dereference() const
- {
- return reference();
- }
-
- bool equal(const zip_iterator<IteratorTuple> &other) const
- {
- return m_iterators == other.m_iterators;
- }
-
- void increment()
- {
- boost::fusion::for_each(m_iterators, detail::increment_iterator);
- }
-
- void decrement()
- {
- boost::fusion::for_each(m_iterators, detail::decrement_iterator);
- }
-
- void advance(difference_type n)
- {
- boost::fusion::for_each(m_iterators, detail::iterator_advancer(n));
- }
-
- difference_type distance_to(const zip_iterator<IteratorTuple> &other) const
- {
- return std::distance(boost::get<0>(m_iterators),
- boost::get<0>(other.m_iterators));
- }
-
-private:
- IteratorTuple m_iterators;
-};
-
-/// Creates a zip_iterator for \p iterators.
-///
-/// \param iterators a tuple of input iterators to zip together
-///
-/// \return a \c zip_iterator for \p iterators
-///
-/// For example, to zip together iterators from three vectors (\c a, \c b, and
-/// \p c):
-/// \code
-/// auto zipped = boost::compute::make_zip_iterator(
-/// boost::make_tuple(a.begin(), b.begin(), c.begin())
-/// );
-/// \endcode
-template<class IteratorTuple>
-inline zip_iterator<IteratorTuple>
-make_zip_iterator(IteratorTuple iterators)
-{
- return zip_iterator<IteratorTuple>(iterators);
-}
-
-/// \internal_ (is_device_iterator specialization for zip_iterator)
-template<class IteratorTuple>
-struct is_device_iterator<zip_iterator<IteratorTuple> > : boost::true_type {};
-
-namespace detail {
-
-// get<N>() specialization for zip_iterator
-/// \internal_
-#define BOOST_COMPUTE_ZIP_GET_N(z, n, unused) \
-template<size_t N, class IteratorTuple, class IndexExpr, \
- BOOST_PP_ENUM_PARAMS(n, class T)> \
-inline meta_kernel& \
-operator<<(meta_kernel &kernel, \
- const invoked_get< \
- N, \
- zip_iterator_index_expr<IteratorTuple, IndexExpr>, \
- boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> \
- > &expr) \
-{ \
- typedef typename boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> Tuple; \
- typedef typename boost::tuples::element<N, Tuple>::type T; \
- BOOST_STATIC_ASSERT(N < size_t(boost::tuples::length<Tuple>::value)); \
- kernel.inject_type<T>(); \
- return kernel \
- << boost::get<N>(expr.m_arg.m_iterators)[expr.m_arg.m_index_expr]; \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_ZIP_GET_N, ~)
-
-#undef BOOST_COMPUTE_ZIP_GET_N
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_ITERATOR_ZIP_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/kernel.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/kernel.hpp
deleted file mode 100644
index 72f21a037..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/kernel.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_KERNEL_HPP
-#define BOOST_COMPUTE_KERNEL_HPP
-
-#include <string>
-
-#include <boost/assert.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/type_traits/is_fundamental.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T> struct set_kernel_arg;
-
-} // end detail namespace
-
-/// \class kernel
-/// \brief A compute kernel.
-///
-/// \see command_queue, program
-class kernel
-{
-public:
- /// Creates a null kernel object.
- kernel()
- : m_kernel(0)
- {
- }
-
- /// Creates a new kernel object for \p kernel. If \p retain is
- /// \c true, the reference count for \p kernel will be incremented.
- explicit kernel(cl_kernel kernel, bool retain = true)
- : m_kernel(kernel)
- {
- if(m_kernel && retain){
- clRetainKernel(m_kernel);
- }
- }
-
- /// Creates a new kernel object with \p name from \p program.
- kernel(const program &program, const std::string &name)
- {
- cl_int error = 0;
- m_kernel = clCreateKernel(program.get(), name.c_str(), &error);
-
- if(!m_kernel){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new kernel object as a copy of \p other.
- kernel(const kernel &other)
- : m_kernel(other.m_kernel)
- {
- if(m_kernel){
- clRetainKernel(m_kernel);
- }
- }
-
- /// Copies the kernel object from \p other to \c *this.
- kernel& operator=(const kernel &other)
- {
- if(this != &other){
- if(m_kernel){
- clReleaseKernel(m_kernel);
- }
-
- m_kernel = other.m_kernel;
-
- if(m_kernel){
- clRetainKernel(m_kernel);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new kernel object from \p other.
- kernel(kernel&& other) BOOST_NOEXCEPT
- : m_kernel(other.m_kernel)
- {
- other.m_kernel = 0;
- }
-
- /// Move-assigns the kernel from \p other to \c *this.
- kernel& operator=(kernel&& other) BOOST_NOEXCEPT
- {
- if(m_kernel){
- clReleaseKernel(m_kernel);
- }
-
- m_kernel = other.m_kernel;
- other.m_kernel = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the kernel object.
- ~kernel()
- {
- if(m_kernel){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseKernel(m_kernel)
- );
- }
- }
-
- /// Returns a reference to the underlying OpenCL kernel object.
- cl_kernel& get() const
- {
- return const_cast<cl_kernel &>(m_kernel);
- }
-
- /// Returns the function name for the kernel.
- std::string name() const
- {
- return get_info<std::string>(CL_KERNEL_FUNCTION_NAME);
- }
-
- /// Returns the number of arguments for the kernel.
- size_t arity() const
- {
- return get_info<cl_uint>(CL_KERNEL_NUM_ARGS);
- }
-
- /// Returns the program for the kernel.
- program get_program() const
- {
- return program(get_info<cl_program>(CL_KERNEL_PROGRAM));
- }
-
- /// Returns the context for the kernel.
- context get_context() const
- {
- return context(get_info<cl_context>(CL_KERNEL_CONTEXT));
- }
-
- /// Returns information about the kernel.
- ///
- /// \see_opencl_ref{clGetKernelInfo}
- template<class T>
- T get_info(cl_kernel_info info) const
- {
- return detail::get_object_info<T>(clGetKernelInfo, m_kernel, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<kernel, Enum>::type
- get_info() const;
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Returns information about the argument at \p index.
- ///
- /// For example, to get the name of the first argument:
- /// \code
- /// std::string arg = kernel.get_arg_info<std::string>(0, CL_KERNEL_ARG_NAME);
- /// \endcode
- ///
- /// Note, this function requires that the program be compiled with the
- /// \c "-cl-kernel-arg-info" flag. For example:
- /// \code
- /// program.build("-cl-kernel-arg-info");
- /// \endcode
- ///
- /// \opencl_version_warning{1,2}
- ///
- /// \see_opencl_ref{clGetKernelArgInfo}
- template<class T>
- T get_arg_info(size_t index, cl_kernel_arg_info info) const
- {
- return detail::get_object_info<T>(
- clGetKernelArgInfo, m_kernel, info, static_cast<cl_uint>(index)
- );
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<kernel, Enum>::type
- get_arg_info(size_t index) const;
- #endif // CL_VERSION_1_2
-
- /// Returns work-group information for the kernel with \p device.
- ///
- /// \see_opencl_ref{clGetKernelWorkGroupInfo}
- template<class T>
- T get_work_group_info(const device &device, cl_kernel_work_group_info info) const
- {
- return detail::get_object_info<T>(clGetKernelWorkGroupInfo, m_kernel, info, device.id());
- }
-
- /// Sets the argument at \p index to \p value with \p size.
- ///
- /// \see_opencl_ref{clSetKernelArg}
- void set_arg(size_t index, size_t size, const void *value)
- {
- BOOST_ASSERT(index < arity());
-
- cl_int ret = clSetKernelArg(m_kernel,
- static_cast<cl_uint>(index),
- size,
- value);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- /// Sets the argument at \p index to \p value.
- ///
- /// For built-in types (e.g. \c float, \c int4_), this is equivalent to
- /// calling set_arg(index, sizeof(type), &value).
- ///
- /// Additionally, this method is specialized for device memory objects
- /// such as buffer and image2d. This allows for them to be passed directly
- /// without having to extract their underlying cl_mem object.
- ///
- /// This method is also specialized for device container types such as
- /// vector<T> and array<T, N>. This allows for them to be passed directly
- /// as kernel arguments without having to extract their underlying buffer.
- ///
- /// For setting local memory arguments (e.g. "__local float *buf"), the
- /// local_buffer<T> class may be used:
- /// \code
- /// // set argument to a local buffer with storage for 32 float's
- /// kernel.set_arg(0, local_buffer<float>(32));
- /// \endcode
- template<class T>
- void set_arg(size_t index, const T &value)
- {
- // if you get a compilation error pointing here it means you
- // attempted to set a kernel argument from an invalid type.
- detail::set_kernel_arg<T>()(*this, index, value);
- }
-
- /// \internal_
- void set_arg(size_t index, const cl_mem mem)
- {
- set_arg(index, sizeof(cl_mem), static_cast<const void *>(&mem));
- }
-
- /// \internal_
- void set_arg(size_t index, const cl_sampler sampler)
- {
- set_arg(index, sizeof(cl_sampler), static_cast<const void *>(&sampler));
- }
-
- /// \internal_
- void set_arg_svm_ptr(size_t index, void* ptr)
- {
- #ifdef CL_VERSION_2_0
- cl_int ret = clSetKernelArgSVMPointer(m_kernel, static_cast<cl_uint>(index), ptr);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- #else
- (void) index;
- (void) ptr;
- BOOST_THROW_EXCEPTION(opencl_error(CL_INVALID_ARG_VALUE));
- #endif
- }
-
- #ifndef BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
- /// Sets the arguments for the kernel to \p args.
- template<class... T>
- void set_args(T&&... args)
- {
- BOOST_ASSERT(sizeof...(T) <= arity());
-
- _set_args<0>(args...);
- }
- #endif // BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-
- #if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Sets additional execution information for the kernel.
- ///
- /// \opencl_version_warning{2,0}
- ///
- /// \see_opencl2_ref{clSetKernelExecInfo}
- void set_exec_info(cl_kernel_exec_info info, size_t size, const void *value)
- {
- cl_int ret = clSetKernelExecInfo(m_kernel, info, size, value);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
- #endif // CL_VERSION_2_0
-
- /// Returns \c true if the kernel is the same at \p other.
- bool operator==(const kernel &other) const
- {
- return m_kernel == other.m_kernel;
- }
-
- /// Returns \c true if the kernel is different from \p other.
- bool operator!=(const kernel &other) const
- {
- return m_kernel != other.m_kernel;
- }
-
- /// \internal_
- operator cl_kernel() const
- {
- return m_kernel;
- }
-
- /// \internal_
- static kernel create_with_source(const std::string &source,
- const std::string &name,
- const context &context)
- {
- return program::build_with_source(source, context).create_kernel(name);
- }
-
-private:
- #ifndef BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
- /// \internal_
- template<size_t N>
- void _set_args()
- {
- }
-
- /// \internal_
- template<size_t N, class T, class... Args>
- void _set_args(T&& arg, Args&&... rest)
- {
- set_arg(N, arg);
- _set_args<N+1>(rest...);
- }
- #endif // BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-
-private:
- cl_kernel m_kernel;
-};
-
-inline kernel program::create_kernel(const std::string &name) const
-{
- return kernel(*this, name);
-}
-
-/// \internal_ define get_info() specializations for kernel
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(kernel,
- ((std::string, CL_KERNEL_FUNCTION_NAME))
- ((cl_uint, CL_KERNEL_NUM_ARGS))
- ((cl_uint, CL_KERNEL_REFERENCE_COUNT))
- ((cl_context, CL_KERNEL_CONTEXT))
- ((cl_program, CL_KERNEL_PROGRAM))
-)
-
-#ifdef CL_VERSION_1_2
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(kernel,
- ((std::string, CL_KERNEL_ATTRIBUTES))
-)
-#endif // CL_VERSION_1_2
-
-/// \internal_ define get_arg_info() specializations for kernel
-#ifdef CL_VERSION_1_2
-#define BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(result_type, value) \
- namespace detail { \
- template<> struct get_object_info_type<kernel, value> { typedef result_type type; }; \
- } \
- template<> inline result_type kernel::get_arg_info<value>(size_t index) const { \
- return get_arg_info<result_type>(index, value); \
- }
-
-BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(cl_kernel_arg_address_qualifier, CL_KERNEL_ARG_ADDRESS_QUALIFIER)
-BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(cl_kernel_arg_access_qualifier, CL_KERNEL_ARG_ACCESS_QUALIFIER)
-BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(std::string, CL_KERNEL_ARG_TYPE_NAME)
-BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(cl_kernel_arg_type_qualifier, CL_KERNEL_ARG_TYPE_QUALIFIER)
-BOOST_COMPUTE_DETAIL_DEFINE_KERNEL_GET_ARG_INFO_SPECIALIZATION(std::string, CL_KERNEL_ARG_NAME)
-#endif // CL_VERSION_1_2
-
-namespace detail {
-
-// set_kernel_arg implementation for built-in types
-template<class T>
-struct set_kernel_arg
-{
- typename boost::enable_if<is_fundamental<T> >::type
- operator()(kernel &kernel_, size_t index, const T &value)
- {
- kernel_.set_arg(index, sizeof(T), &value);
- }
-};
-
-// set_kernel_arg specialization for char (different from built-in cl_char)
-template<>
-struct set_kernel_arg<char>
-{
- void operator()(kernel &kernel_, size_t index, const char c)
- {
- kernel_.set_arg(index, sizeof(char), &c);
- }
-};
-
-} // end detail namespace
-} // end namespace compute
-} // end namespace boost
-
-#endif // BOOST_COMPUTE_KERNEL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda.hpp
deleted file mode 100644
index 24bedfd72..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_HPP
-#define BOOST_COMPUTE_LAMBDA_HPP
-
-#include <boost/compute/lambda/context.hpp>
-#include <boost/compute/lambda/functional.hpp>
-#include <boost/compute/lambda/get.hpp>
-#include <boost/compute/lambda/make_pair.hpp>
-#include <boost/compute/lambda/make_tuple.hpp>
-#include <boost/compute/lambda/placeholders.hpp>
-#include <boost/compute/lambda/result_of.hpp>
-
-#endif // BOOST_COMPUTE_LAMBDA_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/context.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/context.hpp
deleted file mode 100644
index ed25b7947..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/context.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_CONTEXT_HPP
-#define BOOST_COMPUTE_LAMBDA_CONTEXT_HPP
-
-#include <boost/proto/core.hpp>
-#include <boost/proto/context.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/lambda/result_of.hpp>
-#include <boost/compute/lambda/functional.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-
-namespace mpl = boost::mpl;
-namespace proto = boost::proto;
-
-#define BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(tag, op) \
- template<class LHS, class RHS> \
- void operator()(tag, const LHS &lhs, const RHS &rhs) \
- { \
- if(proto::arity_of<LHS>::value > 0){ \
- stream << '('; \
- proto::eval(lhs, *this); \
- stream << ')'; \
- } \
- else { \
- proto::eval(lhs, *this); \
- } \
- \
- stream << op; \
- \
- if(proto::arity_of<RHS>::value > 0){ \
- stream << '('; \
- proto::eval(rhs, *this); \
- stream << ')'; \
- } \
- else { \
- proto::eval(rhs, *this); \
- } \
- }
-
-// lambda expression context
-template<class Args>
-struct context : proto::callable_context<context<Args> >
-{
- typedef void result_type;
- typedef Args args_tuple;
-
- // create a lambda context for kernel with args
- context(boost::compute::detail::meta_kernel &kernel, const Args &args_)
- : stream(kernel),
- args(args_)
- {
- }
-
- // handle terminals
- template<class T>
- void operator()(proto::tag::terminal, const T &x)
- {
- // terminal values in lambda expressions are always literals
- stream << stream.lit(x);
- }
-
- // handle placeholders
- template<int I>
- void operator()(proto::tag::terminal, placeholder<I>)
- {
- stream << boost::get<I>(args);
- }
-
- // handle functions
- #define BOOST_COMPUTE_LAMBDA_CONTEXT_FUNCTION_ARG(z, n, unused) \
- BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(const Arg, n) BOOST_PP_CAT(&arg, n)
-
- #define BOOST_COMPUTE_LAMBDA_CONTEXT_FUNCTION(z, n, unused) \
- template<class F, BOOST_PP_ENUM_PARAMS(n, class Arg)> \
- void operator()( \
- proto::tag::function, \
- const F &function, \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_CONTEXT_FUNCTION_ARG, ~) \
- ) \
- { \
- proto::value(function).apply(*this, BOOST_PP_ENUM_PARAMS(n, arg)); \
- }
-
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_LAMBDA_CONTEXT_FUNCTION, ~)
-
- #undef BOOST_COMPUTE_LAMBDA_CONTEXT_FUNCTION
-
- // operators
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::plus, '+')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::minus, '-')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::multiplies, '*')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::divides, '/')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::modulus, '%')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::less, '<')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::greater, '>')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::less_equal, "<=")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::greater_equal, ">=")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::equal_to, "==")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::not_equal_to, "!=")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::logical_and, "&&")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::logical_or, "||")
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::bitwise_and, '&')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::bitwise_or, '|')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::bitwise_xor, '^')
- BOOST_COMPUTE_LAMBDA_CONTEXT_DEFINE_BINARY_OPERATOR(proto::tag::assign, '=')
-
- // subscript operator
- template<class LHS, class RHS>
- void operator()(proto::tag::subscript, const LHS &lhs, const RHS &rhs)
- {
- proto::eval(lhs, *this);
- stream << '[';
- proto::eval(rhs, *this);
- stream << ']';
- }
-
- // ternary conditional operator
- template<class Pred, class Arg1, class Arg2>
- void operator()(proto::tag::if_else_, const Pred &p, const Arg1 &x, const Arg2 &y)
- {
- proto::eval(p, *this);
- stream << '?';
- proto::eval(x, *this);
- stream << ':';
- proto::eval(y, *this);
- }
-
- boost::compute::detail::meta_kernel &stream;
- Args args;
-};
-
-namespace detail {
-
-template<class Expr, class Arg>
-struct invoked_unary_expression
-{
- typedef typename ::boost::compute::result_of<Expr(Arg)>::type result_type;
-
- invoked_unary_expression(const Expr &expr, const Arg &arg)
- : m_expr(expr),
- m_arg(arg)
- {
- }
-
- Expr m_expr;
- Arg m_arg;
-};
-
-template<class Expr, class Arg>
-boost::compute::detail::meta_kernel&
-operator<<(boost::compute::detail::meta_kernel &kernel,
- const invoked_unary_expression<Expr, Arg> &expr)
-{
- context<boost::tuple<Arg> > ctx(kernel, boost::make_tuple(expr.m_arg));
- proto::eval(expr.m_expr, ctx);
-
- return kernel;
-}
-
-template<class Expr, class Arg1, class Arg2>
-struct invoked_binary_expression
-{
- typedef typename ::boost::compute::result_of<Expr(Arg1, Arg2)>::type result_type;
-
- invoked_binary_expression(const Expr &expr,
- const Arg1 &arg1,
- const Arg2 &arg2)
- : m_expr(expr),
- m_arg1(arg1),
- m_arg2(arg2)
- {
- }
-
- Expr m_expr;
- Arg1 m_arg1;
- Arg2 m_arg2;
-};
-
-template<class Expr, class Arg1, class Arg2>
-boost::compute::detail::meta_kernel&
-operator<<(boost::compute::detail::meta_kernel &kernel,
- const invoked_binary_expression<Expr, Arg1, Arg2> &expr)
-{
- context<boost::tuple<Arg1, Arg2> > ctx(
- kernel,
- boost::make_tuple(expr.m_arg1, expr.m_arg2)
- );
- proto::eval(expr.m_expr, ctx);
-
- return kernel;
-}
-
-} // end detail namespace
-
-// forward declare domain
-struct domain;
-
-// lambda expression wrapper
-template<class Expr>
-struct expression : proto::extends<Expr, expression<Expr>, domain>
-{
- typedef proto::extends<Expr, expression<Expr>, domain> base_type;
-
- BOOST_PROTO_EXTENDS_USING_ASSIGN(expression)
-
- expression(const Expr &expr = Expr())
- : base_type(expr)
- {
- }
-
- // result_of protocol
- template<class Signature>
- struct result
- {
- };
-
- template<class This>
- struct result<This()>
- {
- typedef
- typename ::boost::compute::lambda::result_of<Expr>::type type;
- };
-
- template<class This, class Arg>
- struct result<This(Arg)>
- {
- typedef
- typename ::boost::compute::lambda::result_of<
- Expr,
- typename boost::tuple<Arg>
- >::type type;
- };
-
- template<class This, class Arg1, class Arg2>
- struct result<This(Arg1, Arg2)>
- {
- typedef typename
- ::boost::compute::lambda::result_of<
- Expr,
- typename boost::tuple<Arg1, Arg2>
- >::type type;
- };
-
- template<class Arg>
- detail::invoked_unary_expression<expression<Expr>, Arg>
- operator()(const Arg &x) const
- {
- return detail::invoked_unary_expression<expression<Expr>, Arg>(*this, x);
- }
-
- template<class Arg1, class Arg2>
- detail::invoked_binary_expression<expression<Expr>, Arg1, Arg2>
- operator()(const Arg1 &x, const Arg2 &y) const
- {
- return detail::invoked_binary_expression<
- expression<Expr>,
- Arg1,
- Arg2
- >(*this, x, y);
- }
-
- // function<> conversion operator
- template<class R, class A1>
- operator function<R(A1)>() const
- {
- using ::boost::compute::detail::meta_kernel;
-
- std::stringstream source;
-
- ::boost::compute::detail::meta_kernel_variable<A1> arg1("x");
-
- source << "inline " << type_name<R>() << " lambda"
- << ::boost::compute::detail::generate_argument_list<R(A1)>('x')
- << "{\n"
- << " return " << meta_kernel::expr_to_string((*this)(arg1)) << ";\n"
- << "}\n";
-
- return make_function_from_source<R(A1)>("lambda", source.str());
- }
-
- template<class R, class A1, class A2>
- operator function<R(A1, A2)>() const
- {
- using ::boost::compute::detail::meta_kernel;
-
- std::stringstream source;
-
- ::boost::compute::detail::meta_kernel_variable<A1> arg1("x");
- ::boost::compute::detail::meta_kernel_variable<A1> arg2("y");
-
- source << "inline " << type_name<R>() << " lambda"
- << ::boost::compute::detail::generate_argument_list<R(A1, A2)>('x')
- << "{\n"
- << " return " << meta_kernel::expr_to_string((*this)(arg1, arg2)) << ";\n"
- << "}\n";
-
- return make_function_from_source<R(A1, A2)>("lambda", source.str());
- }
-};
-
-// lambda expression domain
-struct domain : proto::domain<proto::generator<expression> >
-{
-};
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_CONTEXT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/functional.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/functional.hpp
deleted file mode 100644
index dd7190e4d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/functional.hpp
+++ /dev/null
@@ -1,242 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_FUNCTIONAL_HPP
-#define BOOST_COMPUTE_LAMBDA_FUNCTIONAL_HPP
-
-#include <boost/tuple/tuple.hpp>
-#include <boost/lexical_cast.hpp>
-
-#include <boost/proto/core.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/lambda/result_of.hpp>
-#include <boost/compute/lambda/placeholder.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-
-namespace mpl = boost::mpl;
-namespace proto = boost::proto;
-
-// wraps a unary boolean function
-#define BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(name) \
- namespace detail { \
- struct BOOST_PP_CAT(name, _func) \
- { \
- template<class Expr, class Args> \
- struct lambda_result \
- { \
- typedef int type; \
- }; \
- \
- template<class Context, class Arg> \
- static void apply(Context &ctx, const Arg &arg) \
- { \
- ctx.stream << #name << "("; \
- proto::eval(arg, ctx); \
- ctx.stream << ")"; \
- } \
- }; \
- } \
- template<class Arg> \
- inline typename proto::result_of::make_expr< \
- proto::tag::function, BOOST_PP_CAT(detail::name, _func), const Arg& \
- >::type const \
- name(const Arg &arg) \
- { \
- return proto::make_expr<proto::tag::function>( \
- BOOST_PP_CAT(detail::name, _func)(), ::boost::ref(arg) \
- ); \
- }
-
-// wraps a unary function who's return type is the same as the argument type
-#define BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(name) \
- namespace detail { \
- struct BOOST_PP_CAT(name, _func) \
- { \
- template<class Expr, class Args> \
- struct lambda_result \
- { \
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg1; \
- typedef typename ::boost::compute::lambda::result_of<Arg1, Args>::type type; \
- }; \
- \
- template<class Context, class Arg> \
- static void apply(Context &ctx, const Arg &arg) \
- { \
- ctx.stream << #name << "("; \
- proto::eval(arg, ctx); \
- ctx.stream << ")"; \
- } \
- }; \
- } \
- template<class Arg> \
- inline typename proto::result_of::make_expr< \
- proto::tag::function, BOOST_PP_CAT(detail::name, _func), const Arg& \
- >::type const \
- name(const Arg &arg) \
- { \
- return proto::make_expr<proto::tag::function>( \
- BOOST_PP_CAT(detail::name, _func)(), ::boost::ref(arg) \
- ); \
- }
-
-// wraps a binary function
-#define BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION(name) \
- namespace detail { \
- struct BOOST_PP_CAT(name, _func) \
- { \
- template<class Expr, class Args> \
- struct lambda_result \
- { \
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg1; \
- typedef typename ::boost::compute::lambda::result_of<Arg1, Args>::type type; \
- }; \
- \
- template<class Context, class Arg1, class Arg2> \
- static void apply(Context &ctx, const Arg1 &arg1, const Arg2 &arg2) \
- { \
- ctx.stream << #name << "("; \
- proto::eval(arg1, ctx); \
- ctx.stream << ", "; \
- proto::eval(arg2, ctx); \
- ctx.stream << ")"; \
- } \
- }; \
- } \
- template<class Arg1, class Arg2> \
- inline typename proto::result_of::make_expr< \
- proto::tag::function, BOOST_PP_CAT(detail::name, _func), const Arg1&, const Arg2& \
- >::type const \
- name(const Arg1 &arg1, const Arg2 &arg2) \
- { \
- return proto::make_expr<proto::tag::function>( \
- BOOST_PP_CAT(detail::name, _func)(), ::boost::ref(arg1), ::boost::ref(arg2) \
- ); \
- }
-
-// wraps a binary function who's result type is the scalar type of the first argument
-#define BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION_ST(name) \
- namespace detail { \
- struct BOOST_PP_CAT(name, _func) \
- { \
- template<class Expr, class Args> \
- struct lambda_result \
- { \
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg1; \
- typedef typename ::boost::compute::lambda::result_of<Arg1, Args>::type result_type; \
- typedef typename ::boost::compute::scalar_type<result_type>::type type; \
- }; \
- \
- template<class Context, class Arg1, class Arg2> \
- static void apply(Context &ctx, const Arg1 &arg1, const Arg2 &arg2) \
- { \
- ctx.stream << #name << "("; \
- proto::eval(arg1, ctx); \
- ctx.stream << ", "; \
- proto::eval(arg2, ctx); \
- ctx.stream << ")"; \
- } \
- }; \
- } \
- template<class Arg1, class Arg2> \
- inline typename proto::result_of::make_expr< \
- proto::tag::function, BOOST_PP_CAT(detail::name, _func), const Arg1&, const Arg2& \
- >::type const \
- name(const Arg1 &arg1, const Arg2 &arg2) \
- { \
- return proto::make_expr<proto::tag::function>( \
- BOOST_PP_CAT(detail::name, _func)(), ::boost::ref(arg1), ::boost::ref(arg2) \
- ); \
- }
-
-// wraps a ternary function
-#define BOOST_COMPUTE_LAMBDA_WRAP_TERNARY_FUNCTION(name) \
- namespace detail { \
- struct BOOST_PP_CAT(name, _func) \
- { \
- template<class Expr, class Args> \
- struct lambda_result \
- { \
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg1; \
- typedef typename ::boost::compute::lambda::result_of<Arg1, Args>::type type; \
- }; \
- \
- template<class Context, class Arg1, class Arg2, class Arg3> \
- static void apply(Context &ctx, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) \
- { \
- ctx.stream << #name << "("; \
- proto::eval(arg1, ctx); \
- ctx.stream << ", "; \
- proto::eval(arg2, ctx); \
- ctx.stream << ", "; \
- proto::eval(arg3, ctx); \
- ctx.stream << ")"; \
- } \
- }; \
- } \
- template<class Arg1, class Arg2, class Arg3> \
- inline typename proto::result_of::make_expr< \
- proto::tag::function, BOOST_PP_CAT(detail::name, _func), const Arg1&, const Arg2&, const Arg3& \
- >::type const \
- name(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) \
- { \
- return proto::make_expr<proto::tag::function>( \
- BOOST_PP_CAT(detail::name, _func)(), ::boost::ref(arg1), ::boost::ref(arg2), ::boost::ref(arg3) \
- ); \
- }
-
-
-BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(all)
-BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(any)
-BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(isinf)
-BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(isnan)
-BOOST_COMPUTE_LAMBDA_WRAP_BOOLEAN_UNARY_FUNCTION(isfinite)
-
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(abs)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(cos)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(acos)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(sin)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(asin)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(tan)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(atan)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(sqrt)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(rsqrt)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(exp)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(exp2)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(exp10)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(log)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(log2)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(log10)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(round)
-BOOST_COMPUTE_LAMBDA_WRAP_UNARY_FUNCTION_T(length)
-
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION(cross)
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION(pow)
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION(pown)
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION(powr)
-
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION_ST(dot)
-BOOST_COMPUTE_LAMBDA_WRAP_BINARY_FUNCTION_ST(distance)
-
-BOOST_COMPUTE_LAMBDA_WRAP_TERNARY_FUNCTION(clamp)
-BOOST_COMPUTE_LAMBDA_WRAP_TERNARY_FUNCTION(fma)
-BOOST_COMPUTE_LAMBDA_WRAP_TERNARY_FUNCTION(mad)
-BOOST_COMPUTE_LAMBDA_WRAP_TERNARY_FUNCTION(smoothstep)
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_FUNCTIONAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/get.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/get.hpp
deleted file mode 100644
index 547c208e9..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/get.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_GET_HPP
-#define BOOST_COMPUTE_LAMBDA_GET_HPP
-
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/lambda/placeholder.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-namespace detail {
-
-// function wrapper for get<N>() in lambda expressions
-template<size_t N>
-struct get_func
-{
- template<class Expr, class Args>
- struct lambda_result
- {
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg;
- typedef typename ::boost::compute::lambda::result_of<Arg, Args>::type T;
- typedef typename ::boost::compute::detail::get_result_type<N, T>::type type;
- };
-
- template<class Context, class Arg>
- struct make_get_result_type
- {
- typedef typename boost::remove_cv<
- typename boost::compute::lambda::result_of<
- Arg, typename Context::args_tuple
- >::type
- >::type type;
- };
-
- // returns the suffix string for get<N>() in lambda expressions
- // (e.g. ".x" for get<0>() with float4)
- template<class T>
- struct make_get_suffix
- {
- static std::string value()
- {
- BOOST_STATIC_ASSERT(N < 16);
-
- std::stringstream stream;
-
- if(N < 10){
- stream << ".s" << uint_(N);
- }
- else if(N < 16){
- stream << ".s" << char('a' + (N - 10));
- }
-
- return stream.str();
- }
- };
-
- // get<N>() specialization for std::pair<T1, T2>
- template<class T1, class T2>
- struct make_get_suffix<std::pair<T1, T2> >
- {
- static std::string value()
- {
- BOOST_STATIC_ASSERT(N < 2);
-
- if(N == 0){
- return ".first";
- }
- else {
- return ".second";
- }
- };
- };
-
- // get<N>() specialization for boost::tuple<T...>
- #define BOOST_COMPUTE_LAMBDA_GET_MAKE_TUPLE_SUFFIX(z, n, unused) \
- template<BOOST_PP_ENUM_PARAMS(n, class T)> \
- struct make_get_suffix<boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> > \
- { \
- static std::string value() \
- { \
- BOOST_STATIC_ASSERT(N < n); \
- return ".v" + boost::lexical_cast<std::string>(N); \
- } \
- };
-
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_LAMBDA_GET_MAKE_TUPLE_SUFFIX, ~)
-
- #undef BOOST_COMPUTE_LAMBDA_GET_MAKE_TUPLE_SUFFIX
-
- template<class Context, class Arg>
- static void dispatch_apply_terminal(Context &ctx, const Arg &arg)
- {
- typedef typename make_get_result_type<Context, Arg>::type T;
-
- proto::eval(arg, ctx);
- ctx.stream << make_get_suffix<T>::value();
- }
-
- template<class Context, int I>
- static void dispatch_apply_terminal(Context &ctx, placeholder<I>)
- {
- ctx.stream << ::boost::compute::get<N>()(::boost::get<I>(ctx.args));
- }
-
- template<class Context, class Arg>
- static void dispatch_apply(Context &ctx, const Arg &arg, proto::tag::terminal)
- {
- dispatch_apply_terminal(ctx, proto::value(arg));
- }
-
- template<class Context, class Arg>
- static void apply(Context &ctx, const Arg &arg)
- {
- dispatch_apply(ctx, arg, typename proto::tag_of<Arg>::type());
- }
-};
-
-} // end detail namespace
-
-// get<N>()
-template<size_t N, class Arg>
-inline typename proto::result_of::make_expr<
- proto::tag::function, detail::get_func<N>, const Arg&
->::type const
-get(const Arg &arg)
-{
- return proto::make_expr<proto::tag::function>(
- detail::get_func<N>(), ::boost::ref(arg)
- );
-}
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_GET_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_pair.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_pair.hpp
deleted file mode 100644
index 3adca97c7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_pair.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_MAKE_PAIR_HPP
-#define BOOST_COMPUTE_LAMBDA_MAKE_PAIR_HPP
-
-#include <boost/compute/types/pair.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-namespace detail {
-
-// function wrapper for make_pair() in lambda expressions
-struct make_pair_func
-{
- template<class Expr, class Args>
- struct lambda_result
- {
- typedef typename proto::result_of::child_c<Expr, 1>::type Arg1;
- typedef typename proto::result_of::child_c<Expr, 2>::type Arg2;
-
- typedef typename lambda::result_of<Arg1, Args>::type T1;
- typedef typename lambda::result_of<Arg2, Args>::type T2;
-
- typedef std::pair<T1, T2> type;
- };
-
- template<class Context, class Arg1, class Arg2>
- static void apply(Context &ctx, const Arg1 &arg1, const Arg2 &arg2)
- {
- typedef typename lambda::result_of<Arg1, typename Context::args_tuple>::type T1;
- typedef typename lambda::result_of<Arg2, typename Context::args_tuple>::type T2;
-
- ctx.stream << "boost_make_pair(";
- ctx.stream << type_name<T1>() << ", ";
- proto::eval(arg1, ctx);
- ctx.stream << ", ";
- ctx.stream << type_name<T2>() << ", ";
- proto::eval(arg2, ctx);
- ctx.stream << ")";
- }
-};
-
-} // end detail namespace
-
-// make_pair(first, second)
-template<class Arg1, class Arg2>
-inline typename proto::result_of::make_expr<
- proto::tag::function, detail::make_pair_func, const Arg1&, const Arg2&
->::type const
-make_pair(const Arg1 &first, const Arg2 &second)
-{
- return proto::make_expr<proto::tag::function>(
- detail::make_pair_func(), ::boost::ref(first), ::boost::ref(second)
- );
-}
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_MAKE_PAIR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_tuple.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_tuple.hpp
deleted file mode 100644
index 2d065a999..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/make_tuple.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_HPP
-#define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_HPP
-
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/types/tuple.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-namespace detail {
-
-// function wrapper for make_tuple() in lambda expressions
-struct make_tuple_func
-{
- template<class Expr, class Args, int N>
- struct make_tuple_result_type;
-
- #define BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG(z, n, unused) \
- typedef typename proto::result_of::child_c<Expr, BOOST_PP_INC(n)>::type BOOST_PP_CAT(Arg, n);
-
- #define BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG_TYPE(z, n, unused) \
- typedef typename lambda::result_of<BOOST_PP_CAT(Arg, n), Args>::type BOOST_PP_CAT(T, n);
-
- #define BOOST_COMPUTE_MAKE_TUPLE_RESULT_TYPE(z, n, unused) \
- template<class Expr, class Args> \
- struct make_tuple_result_type<Expr, Args, n> \
- { \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG, ~) \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG_TYPE, ~) \
- typedef boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> type; \
- };
-
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_MAKE_TUPLE_RESULT_TYPE, ~)
-
- #undef BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG
- #undef BOOST_COMPUTE_MAKE_TUPLE_RESULT_GET_ARG_TYPE
- #undef BOOST_COMPUTE_MAKE_TUPLE_RESULT_TYPE
-
- template<class Expr, class Args>
- struct lambda_result
- {
- typedef typename make_tuple_result_type<
- Expr, Args, proto::arity_of<Expr>::value - 1
- >::type type;
- };
-
- #define BOOST_COMPUTE_MAKE_TUPLE_GET_ARG_TYPE(z, n, unused) \
- typedef typename lambda::result_of< \
- BOOST_PP_CAT(Arg, n), typename Context::args_tuple \
- >::type BOOST_PP_CAT(T, n);
-
- #define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_ARG(z, n, unused) \
- BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(const Arg, n) BOOST_PP_CAT(&arg, n)
-
- #define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_EVAL_ARG(z, n, unused) \
- BOOST_PP_EXPR_IF(n, ctx.stream << ", ";) proto::eval(BOOST_PP_CAT(arg, n), ctx);
-
- #define BOOST_COMPUTE_MAKE_TUPLE_APPLY(z, n, unused) \
- template<class Context, BOOST_PP_ENUM_PARAMS(n, class Arg)> \
- static void apply(Context &ctx, BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_ARG, ~)) \
- { \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_MAKE_TUPLE_GET_ARG_TYPE, ~) \
- typedef typename boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> tuple_type; \
- ctx.stream.template inject_type<tuple_type>(); \
- ctx.stream << "((" << type_name<tuple_type>() << "){"; \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_EVAL_ARG, ~) \
- ctx.stream << "})"; \
- }
-
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_MAKE_TUPLE_APPLY, ~)
-
- #undef BOOST_COMPUTE_MAKE_TUPLE_GET_ARG_TYPE
- #undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_ARG
- #undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY_EVAL_ARG
- #undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_APPLY
-};
-
-} // end detail namespace
-
-#define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG(z, n, unused) \
- BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(const Arg, n) BOOST_PP_CAT(&arg, n)
-
-#define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG_TYPE(z, n, unused) \
- BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(const Arg, n) &
-
-#define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_REF_ARG(z, n, unused) \
- BOOST_PP_COMMA_IF(n) ::boost::ref(BOOST_PP_CAT(arg, n))
-
-#define BOOST_COMPUTE_LAMBDA_MAKE_TUPLE(z, n, unused) \
-template<BOOST_PP_ENUM_PARAMS(n, class Arg)> \
-inline typename proto::result_of::make_expr< \
- proto::tag::function, \
- detail::make_tuple_func, \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG_TYPE, ~) \
->::type \
-make_tuple(BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG, ~)) \
-{ \
- return proto::make_expr<proto::tag::function>( \
- detail::make_tuple_func(), \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_REF_ARG, ~) \
- ); \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_LAMBDA_MAKE_TUPLE, ~)
-
-#undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG
-#undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_ARG_TYPE
-#undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_REF_ARG
-#undef BOOST_COMPUTE_LAMBDA_MAKE_TUPLE
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_MAKE_TUPLE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholder.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholder.hpp
deleted file mode 100644
index 4774b1b4f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholder.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_PLACEHOLDER_HPP
-#define BOOST_COMPUTE_LAMBDA_PLACEHOLDER_HPP
-
-namespace boost {
-namespace compute {
-namespace lambda {
-
-// lambda placeholder type
-template<int I>
-struct placeholder
-{
-};
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_PLACEHOLDER_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholders.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholders.hpp
deleted file mode 100644
index 5c3fe531d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/placeholders.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_PLACEHOLDERS_HPP
-#define BOOST_COMPUTE_LAMBDA_PLACEHOLDERS_HPP
-
-#include <boost/mpl/has_xxx.hpp>
-
-#include <boost/compute/lambda/context.hpp>
-#include <boost/compute/lambda/result_of.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-
-namespace mpl = boost::mpl;
-namespace proto = boost::proto;
-
-// lambda placeholders
-expression<proto::terminal<placeholder<0> >::type> const _1;
-expression<proto::terminal<placeholder<1> >::type> const _2;
-expression<proto::terminal<placeholder<2> >::type> const _3;
-
-namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
-template<class T, bool HasResultType>
-struct terminal_type_impl;
-
-template<class T>
-struct terminal_type_impl<T, true>
-{
- typedef typename T::result_type type;
-};
-
-template<class T>
-struct terminal_type_impl<T, false>
-{
- typedef T type;
-};
-
-template<class T>
-struct terminal_type
-{
- typedef typename terminal_type_impl<T, has_result_type<T>::value>::type type;
-};
-
-} // end detail namespace
-
-// result_of placeholders
-template<class Args>
-struct result_of<expression<proto::terminal<placeholder<0> >::type>, Args, proto::tag::terminal>
-{
- typedef typename boost::tuples::element<0, Args>::type arg_type;
-
- typedef typename detail::terminal_type<arg_type>::type type;
-};
-
-template<class Args>
-struct result_of<expression<proto::terminal<placeholder<1> >::type>, Args, proto::tag::terminal>
-{
- typedef typename boost::tuples::element<1, Args>::type arg_type;
-
- typedef typename detail::terminal_type<arg_type>::type type;
-};
-
-template<class Args>
-struct result_of<expression<proto::terminal<placeholder<2> >::type>, Args, proto::tag::terminal>
-{
- typedef typename boost::tuples::element<2, Args>::type arg_type;
-
- typedef typename detail::terminal_type<arg_type>::type type;
-};
-
-} // end lambda namespace
-
-// lift lambda placeholders up to the boost::compute namespace
-using lambda::_1;
-using lambda::_2;
-using lambda::_3;
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_PLACEHOLDERS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/result_of.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/result_of.hpp
deleted file mode 100644
index baae87f05..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/lambda/result_of.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_LAMBDA_RESULT_OF_HPP
-#define BOOST_COMPUTE_LAMBDA_RESULT_OF_HPP
-
-#include <boost/mpl/vector.hpp>
-#include <boost/proto/proto.hpp>
-
-#include <boost/compute/type_traits/common_type.hpp>
-
-namespace boost {
-namespace compute {
-namespace lambda {
-
-namespace mpl = boost::mpl;
-namespace proto = boost::proto;
-
-// meta-function returning the result type of a lambda expression
-template<class Expr,
- class Args = void,
- class Tags = typename proto::tag_of<Expr>::type>
-struct result_of
-{
-};
-
-// terminals
-template<class Expr, class Args>
-struct result_of<Expr, Args, proto::tag::terminal>
-{
- typedef typename proto::result_of::value<Expr>::type type;
-};
-
-// binary operators
-#define BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(tag) \
- template<class Expr, class Args> \
- struct result_of<Expr, Args, tag> \
- { \
- typedef typename proto::result_of::child_c<Expr, 0>::type left; \
- typedef typename proto::result_of::child_c<Expr, 1>::type right; \
- \
- typedef typename boost::common_type< \
- typename ::boost::compute::lambda::result_of< \
- left, \
- Args, \
- typename proto::tag_of<left>::type>::type, \
- typename ::boost::compute::lambda::result_of< \
- right, \
- Args, \
- typename proto::tag_of<right>::type>::type \
- >::type type; \
- };
-
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::plus)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::minus)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::multiplies)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::divides)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::modulus)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::bitwise_and)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::bitwise_or)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_BINARY_OPERATOR(proto::tag::bitwise_xor)
-
-// comparision operators
-#define BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(tag) \
- template<class Expr, class Args> \
- struct result_of<Expr, Args, tag> \
- { \
- typedef bool type; \
- };
-
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::less)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::greater)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::less_equal)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::greater_equal)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::equal_to)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::not_equal_to)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::logical_and)
-BOOST_COMPUTE_LAMBDA_RESULT_OF_COMPARISON_OPERATOR(proto::tag::logical_or)
-
-// assignment operator
-template<class Expr, class Args>
-struct result_of<Expr, Args, proto::tag::assign>
-{
- typedef typename proto::result_of::child_c<Expr, 0>::type left;
- typedef typename proto::result_of::child_c<Expr, 1>::type right;
-
- typedef typename ::boost::compute::lambda::result_of<
- right, Args, typename proto::tag_of<right>::type
- >::type type;
-};
-
-// functions
-template<class Expr, class Args>
-struct result_of<Expr, Args, proto::tag::function>
-{
- typedef typename proto::result_of::child_c<Expr, 0>::type func_expr;
- typedef typename proto::result_of::value<func_expr>::type func;
-
- typedef typename func::template lambda_result<Expr, Args>::type type;
-};
-
-} // end lambda namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_LAMBDA_RESULT_OF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/local_buffer.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/local_buffer.hpp
deleted file mode 100644
index aaf631317..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/local_buffer.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_MEMORY_LOCAL_BUFFER_HPP
-#define BOOST_COMPUTE_MEMORY_LOCAL_BUFFER_HPP
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/kernel.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class local_buffer
-/// \brief Represents a local memory buffer on the device.
-///
-/// The local_buffer class represents a block of local memory on a compute
-/// device.
-///
-/// This class is most commonly used to set local memory arguments for compute
-/// kernels:
-/// \code
-/// // set argument to a local buffer with storage for 32 float's
-/// kernel.set_arg(0, local_buffer<float>(32));
-/// \endcode
-///
-/// \see buffer, kernel
-template<class T>
-class local_buffer
-{
-public:
- /// Creates a local buffer object for \p size elements.
- local_buffer(const size_t size)
- : m_size(size)
- {
- }
-
- /// Creates a local buffer object as a copy of \p other.
- local_buffer(const local_buffer &other)
- : m_size(other.m_size)
- {
- }
-
- /// Copies \p other to \c *this.
- local_buffer& operator=(const local_buffer &other)
- {
- if(this != &other){
- m_size = other.m_size;
- }
-
- return *this;
- }
-
- /// Destroys the local memory object.
- ~local_buffer()
- {
- }
-
- /// Returns the number of elements in the local buffer.
- size_t size() const
- {
- return m_size;
- }
-
-private:
- size_t m_size;
-};
-
-namespace detail {
-
-// set_kernel_arg specialization for local_buffer<T>
-template<class T>
-struct set_kernel_arg<local_buffer<T> >
-{
- void operator()(kernel &kernel_, size_t index, const local_buffer<T> &buffer)
- {
- kernel_.set_arg(index, buffer.size() * sizeof(T), 0);
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_MEMORY_SVM_PTR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/svm_ptr.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/svm_ptr.hpp
deleted file mode 100644
index 0c9d88035..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory/svm_ptr.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_MEMORY_SVM_PTR_HPP
-#define BOOST_COMPUTE_MEMORY_SVM_PTR_HPP
-
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-// forward declaration for svm_ptr<T>
-template<class T>
-class svm_ptr;
-
-// svm functions require OpenCL 2.0
-#if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-namespace detail {
-
-template<class T, class IndexExpr>
-struct svm_ptr_index_expr
-{
- typedef T result_type;
-
- svm_ptr_index_expr(const svm_ptr<T> &svm_ptr,
- const IndexExpr &expr)
- : m_svm_ptr(svm_ptr),
- m_expr(expr)
- {
- }
-
- operator T() const
- {
- BOOST_STATIC_ASSERT_MSG(boost::is_integral<IndexExpr>::value,
- "Index expression must be integral");
-
- BOOST_ASSERT(m_svm_ptr.get());
-
- const context &context = m_svm_ptr.get_context();
- const device &device = context.get_device();
- command_queue queue(context, device);
-
- T value;
- T* ptr =
- static_cast<T*>(m_svm_ptr.get()) + static_cast<std::ptrdiff_t>(m_expr);
- queue.enqueue_svm_map(static_cast<void*>(ptr), sizeof(T), CL_MAP_READ);
- value = *(ptr);
- queue.enqueue_svm_unmap(static_cast<void*>(ptr)).wait();
-
- return value;
- }
-
- const svm_ptr<T> &m_svm_ptr;
- IndexExpr m_expr;
-};
-
-} // end detail namespace
-#endif
-
-template<class T>
-class svm_ptr
-{
-public:
- typedef T value_type;
- typedef std::ptrdiff_t difference_type;
- typedef T* pointer;
- typedef T& reference;
- typedef std::random_access_iterator_tag iterator_category;
-
- svm_ptr()
- : m_ptr(0)
- {
- }
-
- svm_ptr(void *ptr, const context &context)
- : m_ptr(static_cast<T*>(ptr)),
- m_context(context)
- {
- }
-
- svm_ptr(const svm_ptr<T> &other)
- : m_ptr(other.m_ptr),
- m_context(other.m_context)
- {
- }
-
- svm_ptr<T>& operator=(const svm_ptr<T> &other)
- {
- m_ptr = other.m_ptr;
- m_context = other.m_context;
- return *this;
- }
-
- ~svm_ptr()
- {
- }
-
- void* get() const
- {
- return m_ptr;
- }
-
- svm_ptr<T> operator+(difference_type n)
- {
- return svm_ptr<T>(m_ptr + n, m_context);
- }
-
- difference_type operator-(svm_ptr<T> other)
- {
- BOOST_ASSERT(other.m_context == m_context);
- return m_ptr - other.m_ptr;
- }
-
- context& get_context() const
- {
- return m_context;
- }
-
- // svm functions require OpenCL 2.0
- #if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// \internal_
- template<class Expr>
- detail::svm_ptr_index_expr<T, Expr>
- operator[](const Expr &expr) const
- {
- BOOST_ASSERT(m_ptr);
-
- return detail::svm_ptr_index_expr<T, Expr>(*this,
- expr);
- }
- #endif
-
-private:
- T *m_ptr;
- context m_context;
-};
-
-namespace detail {
-
-/// \internal_
-template<class T>
-struct set_kernel_arg<svm_ptr<T> >
-{
- void operator()(kernel &kernel_, size_t index, const svm_ptr<T> &ptr)
- {
- kernel_.set_arg_svm_ptr(index, ptr.get());
- }
-};
-
-} // end detail namespace
-
-/// \internal_ (is_device_iterator specialization for svm_ptr)
-template<class T>
-struct is_device_iterator<svm_ptr<T> > : boost::true_type {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_MEMORY_SVM_PTR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory_object.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory_object.hpp
deleted file mode 100644
index 14c4cf4c7..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/memory_object.hpp
+++ /dev/null
@@ -1,264 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_MEMORY_OBJECT_HPP
-#define BOOST_COMPUTE_MEMORY_OBJECT_HPP
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class memory_object
-/// \brief Base-class for memory objects.
-///
-/// The memory_object class is the base-class for memory objects on
-/// compute devices.
-///
-/// \see buffer, vector
-class memory_object
-{
-public:
- /// Flags for the creation of memory objects.
- enum mem_flags {
- read_write = CL_MEM_READ_WRITE,
- read_only = CL_MEM_READ_ONLY,
- write_only = CL_MEM_WRITE_ONLY,
- use_host_ptr = CL_MEM_USE_HOST_PTR,
- alloc_host_ptr = CL_MEM_ALLOC_HOST_PTR,
- copy_host_ptr = CL_MEM_COPY_HOST_PTR
- #ifdef CL_VERSION_1_2
- ,
- host_write_only = CL_MEM_HOST_WRITE_ONLY,
- host_read_only = CL_MEM_HOST_READ_ONLY,
- host_no_access = CL_MEM_HOST_NO_ACCESS
- #endif
- };
-
- /// Symbolic names for the OpenCL address spaces.
- enum address_space {
- global_memory,
- local_memory,
- private_memory,
- constant_memory
- };
-
- /// Returns the underlying OpenCL memory object.
- cl_mem& get() const
- {
- return const_cast<cl_mem &>(m_mem);
- }
-
- /// Returns the size of the memory object in bytes.
- size_t get_memory_size() const
- {
- return get_memory_info<size_t>(CL_MEM_SIZE);
- }
-
- /// Returns the type for the memory object.
- cl_mem_object_type get_memory_type() const
- {
- return get_memory_info<cl_mem_object_type>(CL_MEM_TYPE);
- }
-
- /// Returns the flags for the memory object.
- cl_mem_flags get_memory_flags() const
- {
- return get_memory_info<cl_mem_flags>(CL_MEM_FLAGS);
- }
-
- /// Returns the context for the memory object.
- context get_context() const
- {
- return context(get_memory_info<cl_context>(CL_MEM_CONTEXT));
- }
-
- /// Returns the host pointer associated with the memory object.
- void* get_host_ptr() const
- {
- return get_memory_info<void *>(CL_MEM_HOST_PTR);
- }
-
- /// Returns the reference count for the memory object.
- uint_ reference_count() const
- {
- return get_memory_info<uint_>(CL_MEM_REFERENCE_COUNT);
- }
-
- /// Returns information about the memory object.
- ///
- /// \see_opencl_ref{clGetMemObjectInfo}
- template<class T>
- T get_memory_info(cl_mem_info info) const
- {
- return detail::get_object_info<T>(clGetMemObjectInfo, m_mem, info);
- }
-
- #if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Registers a function to be called when the memory object is deleted
- /// and its resources freed.
- ///
- /// \see_opencl_ref{clSetMemObjectDestructorCallback}
- ///
- /// \opencl_version_warning{1,1}
- void set_destructor_callback(void (BOOST_COMPUTE_CL_CALLBACK *callback)(
- cl_mem memobj, void *user_data
- ),
- void *user_data = 0)
- {
- cl_int ret = clSetMemObjectDestructorCallback(m_mem, callback, user_data);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
- /// Registers a function to be called when the memory object is deleted
- /// and its resources freed.
- ///
- /// The function specified by \p callback must be invokable with zero
- /// arguments (e.g. \c callback()).
- ///
- /// \opencl_version_warning{1,1}
- template<class Function>
- void set_destructor_callback(Function callback)
- {
- set_destructor_callback(
- destructor_callback_invoker,
- new boost::function<void()>(callback)
- );
- }
- #endif // CL_VERSION_1_1
-
- /// Returns \c true if the memory object is the same as \p other.
- bool operator==(const memory_object &other) const
- {
- return m_mem == other.m_mem;
- }
-
- /// Returns \c true if the memory object is different from \p other.
- bool operator!=(const memory_object &other) const
- {
- return m_mem != other.m_mem;
- }
-
-private:
- #ifdef CL_VERSION_1_1
- /// \internal_
- static void BOOST_COMPUTE_CL_CALLBACK
- destructor_callback_invoker(cl_mem, void *user_data)
- {
- boost::function<void()> *callback =
- static_cast<boost::function<void()> *>(user_data);
-
- (*callback)();
-
- delete callback;
- }
- #endif // CL_VERSION_1_1
-
-protected:
- /// \internal_
- memory_object()
- : m_mem(0)
- {
- }
-
- /// \internal_
- explicit memory_object(cl_mem mem, bool retain = true)
- : m_mem(mem)
- {
- if(m_mem && retain){
- clRetainMemObject(m_mem);
- }
- }
-
- /// \internal_
- memory_object(const memory_object &other)
- : m_mem(other.m_mem)
- {
- if(m_mem){
- clRetainMemObject(m_mem);
- }
- }
-
- /// \internal_
- memory_object& operator=(const memory_object &other)
- {
- if(this != &other){
- if(m_mem){
- clReleaseMemObject(m_mem);
- }
-
- m_mem = other.m_mem;
-
- if(m_mem){
- clRetainMemObject(m_mem);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// \internal_
- memory_object(memory_object&& other) BOOST_NOEXCEPT
- : m_mem(other.m_mem)
- {
- other.m_mem = 0;
- }
-
- /// \internal_
- memory_object& operator=(memory_object&& other) BOOST_NOEXCEPT
- {
- if(m_mem){
- clReleaseMemObject(m_mem);
- }
-
- m_mem = other.m_mem;
- other.m_mem = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// \internal_
- ~memory_object()
- {
- if(m_mem){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseMemObject(m_mem)
- );
- }
- }
-
-protected:
- cl_mem m_mem;
-};
-
-namespace detail {
-
-// set_kernel_arg specialization for memory_object
-template<>
-struct set_kernel_arg<memory_object>
-{
- void operator()(kernel &kernel_, size_t index, const memory_object &mem)
- {
- kernel_.set_arg(index, mem.get());
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_MEMORY_OBJECT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/pipe.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/pipe.hpp
deleted file mode 100644
index 944674e62..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/pipe.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_PIPE_HPP
-#define BOOST_COMPUTE_PIPE_HPP
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/memory_object.hpp>
-#include <boost/compute/exception/opencl_error.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-
-// pipe objects require opencl 2.0
-#if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-
-namespace boost {
-namespace compute {
-
-/// \class pipe
-/// \brief A FIFO data pipe
-///
-/// \opencl_version_warning{2,0}
-///
-/// \see memory_object
-class pipe : public memory_object
-{
-public:
- /// Creates a null pipe object.
- pipe()
- : memory_object()
- {
- }
-
- /// Creates a pipe object for \p mem. If \p retain is \c true, the
- /// reference count for \p mem will be incremented.
- explicit pipe(cl_mem mem, bool retain = true)
- : memory_object(mem, retain)
- {
- }
-
- /// Creates a new pipe in \p context.
- pipe(const context &context,
- uint_ pipe_packet_size,
- uint_ pipe_max_packets,
- cl_mem_flags flags = read_write,
- const cl_pipe_properties *properties = 0)
- {
- cl_int error = 0;
- m_mem = clCreatePipe(context,
- flags,
- pipe_packet_size,
- pipe_max_packets,
- properties,
- &error);
- if(!m_mem){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new pipe object as a copy of \p other.
- pipe(const pipe &other)
- : memory_object(other)
- {
- }
-
- /// Copies the pipe object from \p other to \c *this.
- pipe& operator=(const pipe &other)
- {
- if(this != &other){
- memory_object::operator=(other);
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new pipe object from \p other.
- pipe(pipe&& other) BOOST_NOEXCEPT
- : memory_object(std::move(other))
- {
- }
-
- /// Move-assigns the pipe from \p other to \c *this.
- pipe& operator=(pipe&& other) BOOST_NOEXCEPT
- {
- memory_object::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the pipe object.
- ~pipe()
- {
- }
-
- /// Returns the packet size.
- uint_ packet_size() const
- {
- return get_info<uint_>(CL_PIPE_PACKET_SIZE);
- }
-
- /// Returns the max number of packets.
- uint_ max_packets() const
- {
- return get_info<uint_>(CL_PIPE_MAX_PACKETS);
- }
-
- /// Returns information about the pipe.
- ///
- /// \see_opencl2_ref{clGetPipeInfo}
- template<class T>
- T get_info(cl_pipe_info info) const
- {
- return detail::get_object_info<T>(clGetPipeInfo, m_mem, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<pipe, Enum>::type get_info() const;
-};
-
-/// \internal_ define get_info() specializations for pipe
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(pipe,
- ((cl_uint, CL_PIPE_PACKET_SIZE))
- ((cl_uint, CL_PIPE_MAX_PACKETS))
-)
-
-namespace detail {
-
-// set_kernel_arg specialization for pipe
-template<>
-struct set_kernel_arg<pipe>
-{
- void operator()(kernel &kernel_, size_t index, const pipe &pipe_)
- {
- kernel_.set_arg(index, pipe_.get());
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // CL_VERSION_2_0
-
-#endif // BOOST_COMPUTE_PIPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/platform.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/platform.hpp
deleted file mode 100644
index 65fda84e1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/platform.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_PLATFORM_HPP
-#define BOOST_COMPUTE_PLATFORM_HPP
-
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include <boost/algorithm/string/split.hpp>
-#include <boost/algorithm/string/classification.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/detail/get_object_info.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class platform
-/// \brief A compute platform.
-///
-/// The platform class provides an interface to an OpenCL platform.
-///
-/// To obtain a list of all platforms on the system use the
-/// system::platforms() method.
-///
-/// \see device, context
-class platform
-{
-public:
- /// Creates a new platform object for \p id.
- explicit platform(cl_platform_id id)
- : m_platform(id)
- {
- }
-
- /// Creates a new platform as a copy of \p other.
- platform(const platform &other)
- : m_platform(other.m_platform)
- {
- }
-
- /// Copies the platform id from \p other.
- platform& operator=(const platform &other)
- {
- if(this != &other){
- m_platform = other.m_platform;
- }
-
- return *this;
- }
-
- /// Destroys the platform object.
- ~platform()
- {
- }
-
- /// Returns the ID of the platform.
- cl_platform_id id() const
- {
- return m_platform;
- }
-
- /// Returns the name of the platform.
- std::string name() const
- {
- return get_info<std::string>(CL_PLATFORM_NAME);
- }
-
- /// Returns the name of the vendor for the platform.
- std::string vendor() const
- {
- return get_info<std::string>(CL_PLATFORM_VENDOR);
- }
-
- /// Returns the profile string for the platform.
- std::string profile() const
- {
- return get_info<std::string>(CL_PLATFORM_PROFILE);
- }
-
- /// Returns the version string for the platform.
- std::string version() const
- {
- return get_info<std::string>(CL_PLATFORM_VERSION);
- }
-
- /// Returns a list of extensions supported by the platform.
- std::vector<std::string> extensions() const
- {
- std::string extensions_string =
- get_info<std::string>(CL_PLATFORM_EXTENSIONS);
- std::vector<std::string> extensions_vector;
- boost::split(extensions_vector,
- extensions_string,
- boost::is_any_of("\t "),
- boost::token_compress_on);
- return extensions_vector;
- }
-
- /// Returns \c true if the platform supports the extension with
- /// \p name.
- bool supports_extension(const std::string &name) const
- {
- const std::vector<std::string> extensions = this->extensions();
-
- return std::find(
- extensions.begin(), extensions.end(), name) != extensions.end();
- }
-
- /// Returns a list of devices on the platform.
- std::vector<device> devices(cl_device_type type = CL_DEVICE_TYPE_ALL) const
- {
- size_t count = device_count(type);
- if(count == 0){
- // no devices for this platform
- return std::vector<device>();
- }
-
- std::vector<cl_device_id> device_ids(count);
- cl_int ret = clGetDeviceIDs(m_platform,
- type,
- static_cast<cl_uint>(count),
- &device_ids[0],
- 0);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- std::vector<device> devices;
- for(cl_uint i = 0; i < count; i++){
- devices.push_back(device(device_ids[i]));
- }
-
- return devices;
- }
-
- /// Returns the number of devices on the platform.
- size_t device_count(cl_device_type type = CL_DEVICE_TYPE_ALL) const
- {
- cl_uint count = 0;
- cl_int ret = clGetDeviceIDs(m_platform, type, 0, 0, &count);
- if(ret != CL_SUCCESS){
- if(ret == CL_DEVICE_NOT_FOUND){
- // no devices for this platform
- return 0;
- }
- else {
- // something else went wrong
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- return count;
- }
-
- /// Returns information about the platform.
- ///
- /// \see_opencl_ref{clGetPlatformInfo}
- template<class T>
- T get_info(cl_platform_info info) const
- {
- return detail::get_object_info<T>(clGetPlatformInfo, m_platform, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<platform, Enum>::type
- get_info() const;
-
- /// Returns the address of the \p function_name extension
- /// function. Returns \c 0 if \p function_name is invalid.
- void* get_extension_function_address(const char *function_name) const
- {
- #ifdef CL_VERSION_1_2
- return clGetExtensionFunctionAddressForPlatform(m_platform,
- function_name);
- #else
- return clGetExtensionFunctionAddress(function_name);
- #endif
- }
-
- /// Requests that the platform unload any compiler resources.
- void unload_compiler()
- {
- #ifdef CL_VERSION_1_2
- clUnloadPlatformCompiler(m_platform);
- #else
- clUnloadCompiler();
- #endif
- }
-
- /// Returns \c true if the platform is the same at \p other.
- bool operator==(const platform &other) const
- {
- return m_platform == other.m_platform;
- }
-
- /// Returns \c true if the platform is different from \p other.
- bool operator!=(const platform &other) const
- {
- return m_platform != other.m_platform;
- }
-
-private:
- cl_platform_id m_platform;
-};
-
-/// \internal_ define get_info() specializations for platform
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(platform,
- ((std::string, CL_PLATFORM_PROFILE))
- ((std::string, CL_PLATFORM_VERSION))
- ((std::string, CL_PLATFORM_NAME))
- ((std::string, CL_PLATFORM_VENDOR))
- ((std::string, CL_PLATFORM_EXTENSIONS))
-)
-
-inline boost::compute::platform device::platform() const
-{
- return boost::compute::platform(get_info<CL_DEVICE_PLATFORM>());
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_PLATFORM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/program.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/program.hpp
deleted file mode 100644
index 7573aa02e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/program.hpp
+++ /dev/null
@@ -1,650 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_PROGRAM_HPP
-#define BOOST_COMPUTE_PROGRAM_HPP
-
-#include <string>
-#include <vector>
-#include <fstream>
-#include <streambuf>
-
-#ifdef BOOST_COMPUTE_DEBUG_KERNEL_COMPILATION
-#include <iostream>
-#endif
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/exception.hpp>
-#include <boost/compute/detail/assert_cl_success.hpp>
-
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
-#include <sstream>
-#include <boost/optional.hpp>
-#include <boost/compute/platform.hpp>
-#include <boost/compute/detail/getenv.hpp>
-#include <boost/compute/detail/path.hpp>
-#include <boost/compute/detail/sha1.hpp>
-#endif
-
-namespace boost {
-namespace compute {
-
-class kernel;
-
-/// \class program
-/// \brief A compute program.
-///
-/// The program class represents an OpenCL program.
-///
-/// Program objects are created with one of the static \c create_with_*
-/// functions. For example, to create a program from a source string:
-///
-/// \snippet test/test_program.cpp create_with_source
-///
-/// And to create a program from a source file:
-/// \code
-/// boost::compute::program bar_program =
-/// boost::compute::program::create_with_source_file("/path/to/bar.cl", context);
-/// \endcode
-///
-/// Once a program object has been succesfully created, it can be compiled
-/// using the \c build() method:
-/// \code
-/// // build the program
-/// foo_program.build();
-/// \endcode
-///
-/// Once the program is built, \ref kernel objects can be created using the
-/// \c create_kernel() method by passing their name:
-/// \code
-/// // create a kernel from the compiled program
-/// boost::compute::kernel foo_kernel = foo_program.create_kernel("foo");
-/// \endcode
-///
-/// \see kernel
-class program
-{
-public:
- /// Creates a null program object.
- program()
- : m_program(0)
- {
- }
-
- /// Creates a program object for \p program. If \p retain is \c true,
- /// the reference count for \p program will be incremented.
- explicit program(cl_program program, bool retain = true)
- : m_program(program)
- {
- if(m_program && retain){
- clRetainProgram(m_program);
- }
- }
-
- /// Creates a new program object as a copy of \p other.
- program(const program &other)
- : m_program(other.m_program)
- {
- if(m_program){
- clRetainProgram(m_program);
- }
- }
-
- /// Copies the program object from \p other to \c *this.
- program& operator=(const program &other)
- {
- if(this != &other){
- if(m_program){
- clReleaseProgram(m_program);
- }
-
- m_program = other.m_program;
-
- if(m_program){
- clRetainProgram(m_program);
- }
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new program object from \p other.
- program(program&& other) BOOST_NOEXCEPT
- : m_program(other.m_program)
- {
- other.m_program = 0;
- }
-
- /// Move-assigns the program from \p other to \c *this.
- program& operator=(program&& other) BOOST_NOEXCEPT
- {
- if(m_program){
- clReleaseProgram(m_program);
- }
-
- m_program = other.m_program;
- other.m_program = 0;
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the program object.
- ~program()
- {
- if(m_program){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clReleaseProgram(m_program)
- );
- }
- }
-
- /// Returns the underlying OpenCL program.
- cl_program& get() const
- {
- return const_cast<cl_program &>(m_program);
- }
-
- /// Returns the source code for the program.
- std::string source() const
- {
- return get_info<std::string>(CL_PROGRAM_SOURCE);
- }
-
- /// Returns the binary for the program.
- std::vector<unsigned char> binary() const
- {
- size_t binary_size = get_info<size_t>(CL_PROGRAM_BINARY_SIZES);
- std::vector<unsigned char> binary(binary_size);
-
- unsigned char *binary_ptr = &binary[0];
- cl_int error = clGetProgramInfo(m_program,
- CL_PROGRAM_BINARIES,
- sizeof(unsigned char **),
- &binary_ptr,
- 0);
- if(error != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- return binary;
- }
-
- std::vector<device> get_devices() const
- {
- std::vector<cl_device_id> device_ids =
- get_info<std::vector<cl_device_id> >(CL_PROGRAM_DEVICES);
-
- std::vector<device> devices;
- for(size_t i = 0; i < device_ids.size(); i++){
- devices.push_back(device(device_ids[i]));
- }
-
- return devices;
- }
-
- /// Returns the context for the program.
- context get_context() const
- {
- return context(get_info<cl_context>(CL_PROGRAM_CONTEXT));
- }
-
- /// Returns information about the program.
- ///
- /// \see_opencl_ref{clGetProgramInfo}
- template<class T>
- T get_info(cl_program_info info) const
- {
- return detail::get_object_info<T>(clGetProgramInfo, m_program, info);
- }
-
- /// \overload
- template<int Enum>
- typename detail::get_object_info_type<program, Enum>::type
- get_info() const;
-
- /// Returns build information about the program.
- ///
- /// For example, this function can be used to retreive the options used
- /// to build the program:
- /// \code
- /// std::string build_options =
- /// program.get_build_info<std::string>(CL_PROGRAM_BUILD_OPTIONS);
- /// \endcode
- ///
- /// \see_opencl_ref{clGetProgramInfo}
- template<class T>
- T get_build_info(cl_program_build_info info, const device &device) const
- {
- return detail::get_object_info<T>(clGetProgramBuildInfo, m_program, info, device.id());
- }
-
- /// Builds the program with \p options.
- ///
- /// If the program fails to compile, this function will throw an
- /// opencl_error exception.
- /// \code
- /// try {
- /// // attempt to compile to program
- /// program.build();
- /// }
- /// catch(boost::compute::opencl_error &e){
- /// // program failed to compile, print out the build log
- /// std::cout << program.build_log() << std::endl;
- /// }
- /// \endcode
- ///
- /// \see_opencl_ref{clBuildProgram}
- void build(const std::string &options = std::string())
- {
- const char *options_string = 0;
-
- if(!options.empty()){
- options_string = options.c_str();
- }
-
- cl_int ret = clBuildProgram(m_program, 0, 0, options_string, 0, 0);
-
- #ifdef BOOST_COMPUTE_DEBUG_KERNEL_COMPILATION
- if(ret != CL_SUCCESS){
- // print the error, source code and build log
- std::cerr << "Boost.Compute: "
- << "kernel compilation failed (" << ret << ")\n"
- << "--- source ---\n"
- << source()
- << "\n--- build log ---\n"
- << build_log()
- << std::endl;
- }
- #endif
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Compiles the program with \p options.
- ///
- /// \opencl_version_warning{1,2}
- ///
- /// \see_opencl_ref{clCompileProgram}
- void compile(const std::string &options = std::string())
- {
- const char *options_string = 0;
-
- if(!options.empty()){
- options_string = options.c_str();
- }
-
- cl_int ret = clCompileProgram(
- m_program, 0, 0, options_string, 0, 0, 0, 0, 0
- );
-
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-
- /// Links the programs in \p programs with \p options in \p context.
- ///
- /// \opencl_version_warning{1,2}
- ///
- /// \see_opencl_ref{clLinkProgram}
- static program link(const std::vector<program> &programs,
- const context &context,
- const std::string &options = std::string())
- {
- const char *options_string = 0;
-
- if(!options.empty()){
- options_string = options.c_str();
- }
-
- cl_int ret;
- cl_program program_ = clLinkProgram(
- context.get(),
- 0,
- 0,
- options_string,
- static_cast<uint_>(programs.size()),
- reinterpret_cast<const cl_program*>(&programs[0]),
- 0,
- 0,
- &ret
- );
-
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
-
- return program(program_, false);
- }
- #endif // CL_VERSION_1_2
-
- /// Returns the build log.
- std::string build_log() const
- {
- return get_build_info<std::string>(CL_PROGRAM_BUILD_LOG, get_devices().front());
- }
-
- /// Creates and returns a new kernel object for \p name.
- ///
- /// For example, to create the \c "foo" kernel (after the program has been
- /// created and built):
- /// \code
- /// boost::compute::kernel foo_kernel = foo_program.create_kernel("foo");
- /// \endcode
- kernel create_kernel(const std::string &name) const;
-
- /// Returns \c true if the program is the same at \p other.
- bool operator==(const program &other) const
- {
- return m_program == other.m_program;
- }
-
- /// Returns \c true if the program is different from \p other.
- bool operator!=(const program &other) const
- {
- return m_program != other.m_program;
- }
-
- /// \internal_
- operator cl_program() const
- {
- return m_program;
- }
-
- /// Creates a new program with \p source in \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithSource}
- static program create_with_source(const std::string &source,
- const context &context)
- {
- const char *source_string = source.c_str();
-
- cl_int error = 0;
- cl_program program_ = clCreateProgramWithSource(context,
- uint_(1),
- &source_string,
- 0,
- &error);
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- return program(program_, false);
- }
-
- /// Creates a new program with \p sources in \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithSource}
- static program create_with_source(const std::vector<std::string> &sources,
- const context &context)
- {
- std::vector<const char*> source_strings(sources.size());
- for(size_t i = 0; i < sources.size(); i++){
- source_strings[i] = sources[i].c_str();
- }
-
- cl_int error = 0;
- cl_program program_ = clCreateProgramWithSource(context,
- uint_(sources.size()),
- &source_strings[0],
- 0,
- &error);
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- return program(program_, false);
- }
-
- /// Creates a new program with \p file in \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithSource}
- static program create_with_source_file(const std::string &file,
- const context &context)
- {
- // open file stream
- std::ifstream stream(file.c_str());
-
- if(stream.fail()){
- BOOST_THROW_EXCEPTION(std::ios_base::failure("failed to create stream."));
- }
-
- // read source
- std::string source(
- (std::istreambuf_iterator<char>(stream)),
- std::istreambuf_iterator<char>()
- );
-
- // create program
- return create_with_source(source, context);
- }
-
- /// Creates a new program with \p binary of \p binary_size in
- /// \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithBinary}
- static program create_with_binary(const unsigned char *binary,
- size_t binary_size,
- const context &context)
- {
- const cl_device_id device = context.get_device().id();
-
- cl_int error = 0;
- cl_int binary_status = 0;
- cl_program program_ = clCreateProgramWithBinary(context,
- uint_(1),
- &device,
- &binary_size,
- &binary,
- &binary_status,
- &error);
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- if(binary_status != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(binary_status));
- }
-
- return program(program_, false);
- }
-
- /// Creates a new program with \p binary in \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithBinary}
- static program create_with_binary(const std::vector<unsigned char> &binary,
- const context &context)
- {
- return create_with_binary(&binary[0], binary.size(), context);
- }
-
- /// Creates a new program with \p file in \p context.
- ///
- /// \see_opencl_ref{clCreateProgramWithBinary}
- static program create_with_binary_file(const std::string &file,
- const context &context)
- {
- // open file stream
- std::ifstream stream(file.c_str(), std::ios::in | std::ios::binary);
-
- // read binary
- std::vector<unsigned char> binary(
- (std::istreambuf_iterator<char>(stream)),
- std::istreambuf_iterator<char>()
- );
-
- // create program
- return create_with_binary(&binary[0], binary.size(), context);
- }
-
- #if defined(CL_VERSION_1_2) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
- /// Creates a new program with the built-in kernels listed in
- /// \p kernel_names for \p devices in \p context.
- ///
- /// \opencl_version_warning{1,2}
- ///
- /// \see_opencl_ref{clCreateProgramWithBuiltInKernels}
- static program create_with_builtin_kernels(const context &context,
- const std::vector<device> &devices,
- const std::string &kernel_names)
- {
- cl_int error = 0;
-
- cl_program program_ = clCreateProgramWithBuiltInKernels(
- context.get(),
- static_cast<uint_>(devices.size()),
- reinterpret_cast<const cl_device_id *>(&devices[0]),
- kernel_names.c_str(),
- &error
- );
-
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- return program(program_, false);
- }
- #endif // CL_VERSION_1_2
-
- /// Create a new program with \p source in \p context and builds it with \p options.
- /**
- * In case BOOST_COMPUTE_USE_OFFLINE_CACHE macro is defined,
- * the compiled binary is stored for reuse in the offline cache located in
- * $HOME/.boost_compute on UNIX-like systems and in %APPDATA%/boost_compute
- * on Windows.
- */
- static program build_with_source(
- const std::string &source,
- const context &context,
- const std::string &options = std::string()
- )
- {
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- // Get hash string for the kernel.
- device d = context.get_device();
- platform p = d.platform();
-
- detail::sha1 hash;
- hash.process( p.name() )
- .process( p.version() )
- .process( d.name() )
- .process( options )
- .process( source )
- ;
-
- // Try to get cached program binaries:
- try {
- boost::optional<program> prog = load_program_binary(hash, context);
-
- if (prog) {
- prog->build(options);
- return *prog;
- }
- } catch (...) {
- // Something bad happened. Fallback to normal compilation.
- }
-
- // Cache is apparently not available. Just compile the sources.
-#endif
- const char *source_string = source.c_str();
-
- cl_int error = 0;
- cl_program program_ = clCreateProgramWithSource(context,
- uint_(1),
- &source_string,
- 0,
- &error);
- if(!program_){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
-
- program prog(program_, false);
- prog.build(options);
-
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- // Save program binaries for future reuse.
- save_program_binary(hash, prog);
-#endif
-
- return prog;
- }
-
-private:
-#ifdef BOOST_COMPUTE_USE_OFFLINE_CACHE
- // Saves program binaries for future reuse.
- static void save_program_binary(const std::string &hash, const program &prog)
- {
- std::string fname = detail::program_binary_path(hash, true) + "kernel";
- std::ofstream bfile(fname.c_str(), std::ios::binary);
- if (!bfile) return;
-
- std::vector<unsigned char> binary = prog.binary();
-
- size_t binary_size = binary.size();
- bfile.write((char*)&binary_size, sizeof(size_t));
- bfile.write((char*)binary.data(), binary_size);
- }
-
- // Tries to read program binaries from file cache.
- static boost::optional<program> load_program_binary(
- const std::string &hash, const context &ctx
- )
- {
- std::string fname = detail::program_binary_path(hash) + "kernel";
- std::ifstream bfile(fname.c_str(), std::ios::binary);
- if (!bfile) return boost::optional<program>();
-
- size_t binary_size;
- std::vector<unsigned char> binary;
-
- bfile.read((char*)&binary_size, sizeof(size_t));
-
- binary.resize(binary_size);
- bfile.read((char*)binary.data(), binary_size);
-
- return boost::optional<program>(
- program::create_with_binary(
- binary.data(), binary_size, ctx
- )
- );
- }
-#endif // BOOST_COMPUTE_USE_OFFLINE_CACHE
-
-private:
- cl_program m_program;
-};
-
-/// \internal_ define get_info() specializations for program
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(program,
- ((cl_uint, CL_PROGRAM_REFERENCE_COUNT))
- ((cl_context, CL_PROGRAM_CONTEXT))
- ((cl_uint, CL_PROGRAM_NUM_DEVICES))
- ((std::vector<cl_device_id>, CL_PROGRAM_DEVICES))
- ((std::string, CL_PROGRAM_SOURCE))
- ((std::vector<size_t>, CL_PROGRAM_BINARY_SIZES))
- ((std::vector<unsigned char *>, CL_PROGRAM_BINARIES))
-)
-
-#ifdef CL_VERSION_1_2
-BOOST_COMPUTE_DETAIL_DEFINE_GET_INFO_SPECIALIZATIONS(program,
- ((size_t, CL_PROGRAM_NUM_KERNELS))
- ((std::string, CL_PROGRAM_KERNEL_NAMES))
-)
-#endif // CL_VERSION_1_2
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_PROGRAM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random.hpp
deleted file mode 100644
index 1a361fe48..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_HPP
-#define BOOST_COMPUTE_RANDOM_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute random headers.
-
-#include <boost/compute/random/bernoulli_distribution.hpp>
-#include <boost/compute/random/default_random_engine.hpp>
-#include <boost/compute/random/discrete_distribution.hpp>
-#include <boost/compute/random/linear_congruential_engine.hpp>
-#include <boost/compute/random/mersenne_twister_engine.hpp>
-#include <boost/compute/random/threefry_engine.hpp>
-#include <boost/compute/random/normal_distribution.hpp>
-#include <boost/compute/random/uniform_int_distribution.hpp>
-#include <boost/compute/random/uniform_real_distribution.hpp>
-
-#endif // BOOST_COMPUTE_RANDOM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/bernoulli_distribution.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/bernoulli_distribution.hpp
deleted file mode 100644
index 50bf27f59..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/bernoulli_distribution.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_BERNOULLI_DISTRIBUTION_HPP
-#define BOOST_COMPUTE_RANDOM_BERNOULLI_DISTRIBUTION_HPP
-
-#include <boost/assert.hpp>
-#include <boost/type_traits.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/detail/literal.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \class bernoulli_distribution
-/// \brief Produces random boolean values according to the following
-/// discrete probability function with parameter p :
-/// P(true/p) = p and P(false/p) = (1 - p)
-///
-/// The following example shows how to setup a bernoulli distribution to
-/// produce random boolean values with parameter p = 0.25
-///
-/// \snippet test/test_bernoulli_distribution.cpp generate
-///
-template<class RealType = float>
-class bernoulli_distribution
-{
-public:
-
- /// Creates a new bernoulli distribution
- bernoulli_distribution(RealType p = 0.5f)
- : m_p(p)
- {
- }
-
- /// Destroys the bernoulli_distribution object
- ~bernoulli_distribution()
- {
- }
-
- /// Returns the value of the parameter p
- RealType p() const
- {
- return m_p;
- }
-
- /// Generates bernoulli distributed booleans and stores
- /// them in the range [\p first, \p last).
- template<class OutputIterator, class Generator>
- void generate(OutputIterator first,
- OutputIterator last,
- Generator &generator,
- command_queue &queue)
- {
- size_t count = detail::iterator_range_size(first, last);
-
- vector<uint_> tmp(count, queue.get_context());
- generator.generate(tmp.begin(), tmp.end(), queue);
-
- BOOST_COMPUTE_FUNCTION(bool, scale_random, (const uint_ x),
- {
- return (convert_RealType(x) / MAX_RANDOM) < PARAM;
- });
-
- scale_random.define("PARAM", detail::make_literal(m_p));
- scale_random.define("MAX_RANDOM", "UINT_MAX");
- scale_random.define(
- "convert_RealType", std::string("convert_") + type_name<RealType>()
- );
-
- transform(
- tmp.begin(), tmp.end(), first, scale_random, queue
- );
- }
-
-private:
- RealType m_p;
-
- BOOST_STATIC_ASSERT_MSG(
- boost::is_floating_point<RealType>::value,
- "Template argument must be a floating point type"
- );
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_BERNOULLI_DISTRIBUTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/default_random_engine.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/default_random_engine.hpp
deleted file mode 100644
index b34dbd01f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/default_random_engine.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_DEFAULT_RANDOM_ENGINE_HPP
-#define BOOST_COMPUTE_RANDOM_DEFAULT_RANDOM_ENGINE_HPP
-
-#include <boost/compute/random/mersenne_twister_engine.hpp>
-
-namespace boost {
-namespace compute {
-
-typedef mt19937 default_random_engine;
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_DEFAULT_RANDOM_ENGINE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/discrete_distribution.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/discrete_distribution.hpp
deleted file mode 100644
index 86249538a..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/discrete_distribution.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_DISCRETE_DISTRIBUTION_HPP
-#define BOOST_COMPUTE_RANDOM_DISCRETE_DISTRIBUTION_HPP
-
-#include <numeric>
-
-#include <boost/config.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/algorithm/accumulate.hpp>
-#include <boost/compute/algorithm/copy.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/detail/literal.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class discrete_distribution
-/// \brief Produces random integers on the interval [0, n), where
-/// probability of each integer is given by the weight of the ith
-/// integer divided by the sum of all weights.
-///
-/// The following example shows how to setup a discrete distribution to
-/// produce 0 and 1 with equal probability
-///
-/// \snippet test/test_discrete_distribution.cpp generate
-///
-template<class IntType = uint_>
-class discrete_distribution
-{
-public:
- typedef IntType result_type;
-
- /// Creates a new discrete distribution with a single weight p = { 1 }.
- /// This distribution produces only zeroes.
- discrete_distribution()
- : m_probabilities(1, double(1)),
- m_scanned_probabilities(1, double(1))
- {
-
- }
-
- /// Creates a new discrete distribution with weights given by
- /// the range [\p first, \p last).
- template<class InputIterator>
- discrete_distribution(InputIterator first, InputIterator last)
- : m_probabilities(first, last),
- m_scanned_probabilities(std::distance(first, last))
- {
- if(first != last) {
- // after this m_scanned_probabilities.back() is a sum of all
- // weights from the range [first, last)
- std::partial_sum(first, last, m_scanned_probabilities.begin());
-
- std::vector<double>::iterator i = m_probabilities.begin();
- std::vector<double>::iterator j = m_scanned_probabilities.begin();
- for(; i != m_probabilities.end(); ++i, ++j)
- {
- // dividing each weight by sum of all weights to
- // get probabilities
- *i = *i / m_scanned_probabilities.back();
- // dividing each partial sum of weights by sum of
- // all weights to get partial sums of probabilities
- *j = *j / m_scanned_probabilities.back();
- }
- }
- else {
- m_probabilities.push_back(double(1));
- m_scanned_probabilities.push_back(double(1));
- }
- }
-
- /// Destroys the discrete_distribution object.
- ~discrete_distribution()
- {
- }
-
- /// Returns the probabilities
- ::std::vector<double> probabilities() const
- {
- return m_probabilities;
- }
-
- /// Returns the minimum potentially generated value.
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- return result_type(0);
- }
-
- /// Returns the maximum potentially generated value.
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- size_t type_max = static_cast<size_t>(
- (std::numeric_limits<result_type>::max)()
- );
- if(m_probabilities.size() - 1 > type_max) {
- return (std::numeric_limits<result_type>::max)();
- }
- return static_cast<result_type>(m_probabilities.size() - 1);
- }
-
- /// Generates uniformly distributed integers and stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Generator>
- void generate(OutputIterator first,
- OutputIterator last,
- Generator &generator,
- command_queue &queue)
- {
- std::string source = "inline IntType scale_random(uint x)\n";
-
- source = source +
- "{\n" +
- "float rno = convert_float(x) / UINT_MAX;\n";
- for(size_t i = 0; i < m_scanned_probabilities.size() - 1; i++)
- {
- source = source +
- "if(rno <= " + detail::make_literal<float>(m_scanned_probabilities[i]) + ")\n" +
- " return " + detail::make_literal(i) + ";\n";
- }
-
- source = source +
- "return " + detail::make_literal(m_scanned_probabilities.size() - 1) + ";\n" +
- "}\n";
-
- BOOST_COMPUTE_FUNCTION(IntType, scale_random, (const uint_ x), {});
-
- scale_random.set_source(source);
- scale_random.define("IntType", type_name<IntType>());
-
- generator.generate(first, last, scale_random, queue);
- }
-
-private:
- ::std::vector<double> m_probabilities;
- ::std::vector<double> m_scanned_probabilities;
-
- BOOST_STATIC_ASSERT_MSG(
- boost::is_integral<IntType>::value,
- "Template argument must be integral"
- );
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/linear_congruential_engine.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/linear_congruential_engine.hpp
deleted file mode 100644
index 173a6c288..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/linear_congruential_engine.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_LINEAR_CONGRUENTIAL_ENGINE_HPP
-#define BOOST_COMPUTE_RANDOM_LINEAR_CONGRUENTIAL_ENGINE_HPP
-
-#include <algorithm>
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-
-///
-/// \class linear_congruential_engine
-/// \brief 'Quick and Dirty' linear congruential engine
-///
-/// Quick and dirty linear congruential engine to generate low quality
-/// random numbers very quickly. For uses in which good quality of random
-/// numbers is required(Monte-Carlo Simulations), use other engines like
-/// Mersenne Twister instead.
-///
-template<class T = uint_>
-class linear_congruential_engine
-{
-public:
- typedef T result_type;
- static const T default_seed = 1;
- static const T a = 1099087573;
- static const size_t threads = 1024;
-
- /// Creates a new linear_congruential_engine and seeds it with \p value.
- explicit linear_congruential_engine(command_queue &queue,
- result_type value = default_seed)
- : m_context(queue.get_context()),
- m_multiplicands(m_context, threads * sizeof(result_type))
- {
- // setup program
- load_program();
-
- // seed state
- seed(value, queue);
-
- // generate multiplicands
- generate_multiplicands(queue);
- }
-
- /// Creates a new linear_congruential_engine object as a copy of \p other.
- linear_congruential_engine(const linear_congruential_engine<T> &other)
- : m_context(other.m_context),
- m_program(other.m_program),
- m_seed(other.m_seed),
- m_multiplicands(other.m_multiplicands)
- {
- }
-
- /// Copies \p other to \c *this.
- linear_congruential_engine<T>&
- operator=(const linear_congruential_engine<T> &other)
- {
- if(this != &other){
- m_context = other.m_context;
- m_program = other.m_program;
- m_seed = other.m_seed;
- m_multiplicands = other.m_multiplicands;
- }
-
- return *this;
- }
-
- /// Destroys the linear_congruential_engine object.
- ~linear_congruential_engine()
- {
- }
-
- /// Seeds the random number generator with \p value.
- ///
- /// \param value seed value for the random-number generator
- /// \param queue command queue to perform the operation
- ///
- /// If no seed value is provided, \c default_seed is used.
- void seed(result_type value, command_queue &queue)
- {
- (void) queue;
-
- m_seed = value;
- }
-
- /// \overload
- void seed(command_queue &queue)
- {
- seed(default_seed, queue);
- }
-
- /// Generates random numbers and stores them to the range [\p first, \p last).
- template<class OutputIterator>
- void generate(OutputIterator first, OutputIterator last, command_queue &queue)
- {
- size_t size = detail::iterator_range_size(first, last);
-
- kernel fill_kernel(m_program, "fill");
- fill_kernel.set_arg(1, m_multiplicands);
- fill_kernel.set_arg(2, first.get_buffer());
-
- size_t offset = 0;
-
- for(;;){
- size_t count = 0;
- if(size > threads){
- count = (std::min)(static_cast<size_t>(threads), size - offset);
- }
- else {
- count = size;
- }
- fill_kernel.set_arg(0, static_cast<const uint_>(m_seed));
- fill_kernel.set_arg(3, static_cast<const uint_>(offset));
- queue.enqueue_1d_range_kernel(fill_kernel, 0, count, 0);
-
- offset += count;
-
- if(offset >= size){
- break;
- }
-
- update_seed(queue);
- }
- }
-
- /// \internal_
- void generate(discard_iterator first, discard_iterator last, command_queue &queue)
- {
- (void) queue;
-
- size_t size = detail::iterator_range_size(first, last);
- uint_ max_mult =
- detail::read_single_value<T>(m_multiplicands, threads-1, queue);
- while(size >= threads) {
- m_seed *= max_mult;
- size -= threads;
- }
- m_seed *=
- detail::read_single_value<T>(m_multiplicands, size-1, queue);
- }
-
- /// Generates random numbers, transforms them with \p op, and then stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Function>
- void generate(OutputIterator first, OutputIterator last, Function op, command_queue &queue)
- {
- vector<T> tmp(std::distance(first, last), queue.get_context());
- generate(tmp.begin(), tmp.end(), queue);
- transform(tmp.begin(), tmp.end(), first, op, queue);
- }
-
- /// Generates \p z random numbers and discards them.
- void discard(size_t z, command_queue &queue)
- {
- generate(discard_iterator(0), discard_iterator(z), queue);
- }
-
-private:
- /// \internal_
- /// Generates the multiplicands for each thread
- void generate_multiplicands(command_queue &queue)
- {
- kernel multiplicand_kernel =
- m_program.create_kernel("multiplicand");
- multiplicand_kernel.set_arg(0, m_multiplicands);
-
- queue.enqueue_task(multiplicand_kernel);
- }
-
- /// \internal_
- void update_seed(command_queue &queue)
- {
- m_seed *=
- detail::read_single_value<T>(m_multiplicands, threads-1, queue);
- }
-
- /// \internal_
- void load_program()
- {
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(m_context);
-
- std::string cache_key =
- std::string("__boost_linear_congruential_engine_") + type_name<T>();
-
- const char source[] =
- "__kernel void multiplicand(__global uint *multiplicands)\n"
- "{\n"
- " uint a = 1099087573;\n"
- " multiplicands[0] = a;\n"
- " for(uint i = 1; i < 1024; i++){\n"
- " multiplicands[i] = a * multiplicands[i-1];\n"
- " }\n"
- "}\n"
-
- "__kernel void fill(const uint seed,\n"
- " __global uint *multiplicands,\n"
- " __global uint *result,"
- " const uint offset)\n"
- "{\n"
- " const uint i = get_global_id(0);\n"
- " result[offset+i] = seed * multiplicands[i];\n"
- "}\n";
-
- m_program = cache->get_or_build(cache_key, std::string(), source, m_context);
- }
-
-private:
- context m_context;
- program m_program;
- T m_seed;
- buffer m_multiplicands;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_LINEAR_CONGRUENTIAL_ENGINE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/mersenne_twister_engine.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/mersenne_twister_engine.hpp
deleted file mode 100644
index db8560e53..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/mersenne_twister_engine.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_MERSENNE_TWISTER_ENGINE_HPP
-#define BOOST_COMPUTE_RANDOM_MERSENNE_TWISTER_ENGINE_HPP
-
-#include <algorithm>
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class mersenne_twister_engine
-/// \brief Mersenne twister pseudorandom number generator.
-template<class T>
-class mersenne_twister_engine
-{
-public:
- typedef T result_type;
- static const T default_seed = 5489U;
- static const T n = 624;
- static const T m = 397;
-
- /// Creates a new mersenne_twister_engine and seeds it with \p value.
- explicit mersenne_twister_engine(command_queue &queue,
- result_type value = default_seed)
- : m_context(queue.get_context()),
- m_state_buffer(m_context, n * sizeof(result_type))
- {
- // setup program
- load_program();
-
- // seed state
- seed(value, queue);
- }
-
- /// Creates a new mersenne_twister_engine object as a copy of \p other.
- mersenne_twister_engine(const mersenne_twister_engine<T> &other)
- : m_context(other.m_context),
- m_state_index(other.m_state_index),
- m_program(other.m_program),
- m_state_buffer(other.m_state_buffer)
- {
- }
-
- /// Copies \p other to \c *this.
- mersenne_twister_engine<T>& operator=(const mersenne_twister_engine<T> &other)
- {
- if(this != &other){
- m_context = other.m_context;
- m_state_index = other.m_state_index;
- m_program = other.m_program;
- m_state_buffer = other.m_state_buffer;
- }
-
- return *this;
- }
-
- /// Destroys the mersenne_twister_engine object.
- ~mersenne_twister_engine()
- {
- }
-
- /// Seeds the random number generator with \p value.
- ///
- /// \param value seed value for the random-number generator
- /// \param queue command queue to perform the operation
- ///
- /// If no seed value is provided, \c default_seed is used.
- void seed(result_type value, command_queue &queue)
- {
- kernel seed_kernel = m_program.create_kernel("seed");
- seed_kernel.set_arg(0, value);
- seed_kernel.set_arg(1, m_state_buffer);
-
- queue.enqueue_task(seed_kernel);
-
- m_state_index = 0;
- }
-
- /// \overload
- void seed(command_queue &queue)
- {
- seed(default_seed, queue);
- }
-
- /// Generates random numbers and stores them to the range [\p first, \p last).
- template<class OutputIterator>
- void generate(OutputIterator first, OutputIterator last, command_queue &queue)
- {
- const size_t size = detail::iterator_range_size(first, last);
-
- kernel fill_kernel(m_program, "fill");
- fill_kernel.set_arg(0, m_state_buffer);
- fill_kernel.set_arg(2, first.get_buffer());
-
- size_t offset = 0;
- size_t &p = m_state_index;
-
- for(;;){
- size_t count = 0;
- if(size > n){
- count = (std::min)(static_cast<size_t>(n), size - offset);
- }
- else {
- count = size;
- }
- fill_kernel.set_arg(1, static_cast<const uint_>(p));
- fill_kernel.set_arg(3, static_cast<const uint_>(offset));
- queue.enqueue_1d_range_kernel(fill_kernel, 0, count, 0);
-
- p += count;
- offset += count;
-
- if(offset >= size){
- break;
- }
-
- generate_state(queue);
- p = 0;
- }
- }
-
- /// \internal_
- void generate(discard_iterator first, discard_iterator last, command_queue &queue)
- {
- (void) queue;
-
- m_state_index += std::distance(first, last);
- }
-
- /// Generates random numbers, transforms them with \p op, and then stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Function>
- void generate(OutputIterator first, OutputIterator last, Function op, command_queue &queue)
- {
- vector<T> tmp(std::distance(first, last), queue.get_context());
- generate(tmp.begin(), tmp.end(), queue);
- transform(tmp.begin(), tmp.end(), first, op, queue);
- }
-
- /// Generates \p z random numbers and discards them.
- void discard(size_t z, command_queue &queue)
- {
- generate(discard_iterator(0), discard_iterator(z), queue);
- }
-
- /// \internal_ (deprecated)
- template<class OutputIterator>
- void fill(OutputIterator first, OutputIterator last, command_queue &queue)
- {
- generate(first, last, queue);
- }
-
-private:
- /// \internal_
- void generate_state(command_queue &queue)
- {
- kernel generate_state_kernel =
- m_program.create_kernel("generate_state");
- generate_state_kernel.set_arg(0, m_state_buffer);
- queue.enqueue_task(generate_state_kernel);
- }
-
- /// \internal_
- void load_program()
- {
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(m_context);
-
- std::string cache_key =
- std::string("__boost_mersenne_twister_engine_") + type_name<T>();
-
- const char source[] =
- "static uint twiddle(uint u, uint v)\n"
- "{\n"
- " return (((u & 0x80000000U) | (v & 0x7FFFFFFFU)) >> 1) ^\n"
- " ((v & 1U) ? 0x9908B0DFU : 0x0U);\n"
- "}\n"
-
- "__kernel void generate_state(__global uint *state)\n"
- "{\n"
- " const uint n = 624;\n"
- " const uint m = 397;\n"
- " for(uint i = 0; i < (n - m); i++)\n"
- " state[i] = state[i+m] ^ twiddle(state[i], state[i+1]);\n"
- " for(uint i = n - m; i < (n - 1); i++)\n"
- " state[i] = state[i+m-n] ^ twiddle(state[i], state[i+1]);\n"
- " state[n-1] = state[m-1] ^ twiddle(state[n-1], state[0]);\n"
- "}\n"
-
- "__kernel void seed(const uint s, __global uint *state)\n"
- "{\n"
- " const uint n = 624;\n"
- " state[0] = s & 0xFFFFFFFFU;\n"
- " for(uint i = 1; i < n; i++){\n"
- " state[i] = 1812433253U * (state[i-1] ^ (state[i-1] >> 30)) + i;\n"
- " state[i] &= 0xFFFFFFFFU;\n"
- " }\n"
- " generate_state(state);\n"
- "}\n"
-
- "static uint random_number(__global uint *state, const uint p)\n"
- "{\n"
- " uint x = state[p];\n"
- " x ^= (x >> 11);\n"
- " x ^= (x << 7) & 0x9D2C5680U;\n"
- " x ^= (x << 15) & 0xEFC60000U;\n"
- " return x ^ (x >> 18);\n"
- "}\n"
-
- "__kernel void fill(__global uint *state,\n"
- " const uint state_index,\n"
- " __global uint *vector,\n"
- " const uint offset)\n"
- "{\n"
- " const uint i = get_global_id(0);\n"
- " vector[offset+i] = random_number(state, state_index + i);\n"
- "}\n";
-
- m_program = cache->get_or_build(cache_key, std::string(), source, m_context);
- }
-
-private:
- context m_context;
- size_t m_state_index;
- program m_program;
- buffer m_state_buffer;
-};
-
-typedef mersenne_twister_engine<uint_> mt19937;
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_MERSENNE_TWISTER_ENGINE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/normal_distribution.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/normal_distribution.hpp
deleted file mode 100644
index 4693e4fff..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/normal_distribution.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_NORMAL_DISTRIBUTION_HPP
-#define BOOST_COMPUTE_RANDOM_NORMAL_DISTRIBUTION_HPP
-
-#include <limits>
-
-#include <boost/assert.hpp>
-#include <boost/type_traits.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/type_traits/make_vector_type.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class normal_distribution
-/// \brief Produces random, normally-distributed floating-point numbers.
-///
-/// The following example shows how to setup a normal distribution to
-/// produce random \c float values centered at \c 5:
-///
-/// \snippet test/test_normal_distribution.cpp generate
-///
-/// \see default_random_engine, uniform_real_distribution
-template<class RealType = float>
-class normal_distribution
-{
-public:
- typedef RealType result_type;
-
- /// Creates a new normal distribution producing numbers with the given
- /// \p mean and \p stddev.
- normal_distribution(RealType mean = 0.f, RealType stddev = 1.f)
- : m_mean(mean),
- m_stddev(stddev)
- {
- }
-
- /// Destroys the normal distribution object.
- ~normal_distribution()
- {
- }
-
- /// Returns the mean value of the distribution.
- result_type mean() const
- {
- return m_mean;
- }
-
- /// Returns the standard-deviation of the distribution.
- result_type stddev() const
- {
- return m_stddev;
- }
-
- /// Returns the minimum value of the distribution.
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- return -std::numeric_limits<RealType>::infinity();
- }
-
- /// Returns the maximum value of the distribution.
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- return std::numeric_limits<RealType>::infinity();
- }
-
- /// Generates normally-distributed floating-point numbers and stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Generator>
- void generate(OutputIterator first,
- OutputIterator last,
- Generator &generator,
- command_queue &queue)
- {
- typedef typename make_vector_type<RealType, 2>::type RealType2;
-
- size_t count = detail::iterator_range_size(first, last);
-
- vector<uint_> tmp(count, queue.get_context());
- generator.generate(tmp.begin(), tmp.end(), queue);
-
- BOOST_COMPUTE_FUNCTION(RealType2, box_muller, (const uint2_ x),
- {
- const RealType one = 1;
- const RealType two = 2;
-
- // Use nextafter to push values down into [0,1) range; without this, floating point rounding can
- // lead to have x1 = 1, but that would lead to taking the log of 0, which would result in negative
- // infinities; by pushing the values off 1 towards 0, we ensure this won't happen.
- const RealType x1 = nextafter(x.x / (RealType) UINT_MAX, (RealType) 0);
- const RealType x2 = x.y / (RealType) UINT_MAX;
-
- const RealType rho = sqrt(-two * log(one-x1));
-
- const RealType z1 = rho * cos(two * M_PI_F * x2);
- const RealType z2 = rho * sin(two * M_PI_F * x2);
-
- return (RealType2)(MEAN, MEAN) + (RealType2)(z1, z2) * (RealType2)(STDDEV, STDDEV);
- });
-
- box_muller.define("MEAN", boost::lexical_cast<std::string>(m_mean));
- box_muller.define("STDDEV", boost::lexical_cast<std::string>(m_stddev));
- box_muller.define("RealType", type_name<RealType>());
- box_muller.define("RealType2", type_name<RealType2>());
-
- transform(
- make_buffer_iterator<uint2_>(tmp.get_buffer(), 0),
- make_buffer_iterator<uint2_>(tmp.get_buffer(), count / 2),
- make_buffer_iterator<RealType2>(first.get_buffer(), 0),
- box_muller,
- queue
- );
- }
-
-private:
- RealType m_mean;
- RealType m_stddev;
-
- BOOST_STATIC_ASSERT_MSG(
- boost::is_floating_point<RealType>::value,
- "Template argument must be a floating point type"
- );
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_NORMAL_DISTRIBUTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/threefry_engine.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/threefry_engine.hpp
deleted file mode 100644
index 917bb72c0..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/threefry_engine.hpp
+++ /dev/null
@@ -1,311 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2015 Muhammad Junaid Muzammil <mjunaidmuzammil@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_THREEFRY_HPP
-#define BOOST_COMPUTE_RANDOM_THREEFRY_HPP
-
-#include <algorithm>
-
-#include <boost/compute/types.hpp>
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-#include <boost/compute/detail/iterator_range_size.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/iterator/discard_iterator.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class threefry_engine
-/// \brief Threefry pseudorandom number generator.
-template<class T = uint_>
-class threefry_engine
-{
-public:
- static const size_t threads = 1024;
- typedef T result_type;
-
- /// Creates a new threefry_engine and seeds it with \p value.
- explicit threefry_engine(command_queue &queue)
- : m_context(queue.get_context())
- {
- // setup program
- load_program();
- }
-
- /// Creates a new threefry_engine object as a copy of \p other.
- threefry_engine(const threefry_engine<T> &other)
- : m_context(other.m_context),
- m_program(other.m_program)
- {
- }
-
- /// Copies \p other to \c *this.
- threefry_engine<T>& operator=(const threefry_engine<T> &other)
- {
- if(this != &other){
- m_context = other.m_context;
- m_program = other.m_program;
- }
-
- return *this;
- }
-
- /// Destroys the threefry_engine object.
- ~threefry_engine()
- {
- }
-
-private:
- /// \internal_
- void load_program()
- {
- boost::shared_ptr<program_cache> cache =
- program_cache::get_global_cache(m_context);
- std::string cache_key =
- std::string("threefry_engine_32x2");
-
- // Copyright 2010-2012, D. E. Shaw Research.
- // All rights reserved.
-
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions are
- // met:
-
- // * Redistributions of source code must retain the above copyright
- // notice, this list of conditions, and the following disclaimer.
-
- // * Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions, and the following disclaimer in the
- // documentation and/or other materials provided with the distribution.
-
- // * Neither the name of D. E. Shaw Research nor the names of its
- // contributors may be used to endorse or promote products derived from
- // this software without specific prior written permission.
-
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- const char source[] =
- "#define THREEFRY2x32_DEFAULT_ROUNDS 20\n"
- "#define SKEIN_KS_PARITY_32 0x1BD11BDA\n"
-
- "enum r123_enum_threefry32x2 {\n"
- " R_32x2_0_0=13,\n"
- " R_32x2_1_0=15,\n"
- " R_32x2_2_0=26,\n"
- " R_32x2_3_0= 6,\n"
- " R_32x2_4_0=17,\n"
- " R_32x2_5_0=29,\n"
- " R_32x2_6_0=16,\n"
- " R_32x2_7_0=24\n"
- "};\n"
-
- "static uint RotL_32(uint x, uint N)\n"
- "{\n"
- " return (x << (N & 31)) | (x >> ((32-N) & 31));\n"
- "}\n"
-
- "struct r123array2x32 {\n"
- " uint v[2];\n"
- "};\n"
- "typedef struct r123array2x32 threefry2x32_ctr_t;\n"
- "typedef struct r123array2x32 threefry2x32_key_t;\n"
-
- "threefry2x32_ctr_t threefry2x32_R(unsigned int Nrounds, threefry2x32_ctr_t in, threefry2x32_key_t k)\n"
- "{\n"
- " threefry2x32_ctr_t X;\n"
- " uint ks[3];\n"
- " uint i; \n"
- " ks[2] = SKEIN_KS_PARITY_32;\n"
- " for (i=0;i < 2; i++) {\n"
- " ks[i] = k.v[i];\n"
- " X.v[i] = in.v[i];\n"
- " ks[2] ^= k.v[i];\n"
- " }\n"
- " X.v[0] += ks[0]; X.v[1] += ks[1];\n"
- " if(Nrounds>0){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_0_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>1){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_1_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>2){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_2_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>3){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_3_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>3){\n"
- " X.v[0] += ks[1]; X.v[1] += ks[2];\n"
- " X.v[1] += 1;\n"
- " }\n"
- " if(Nrounds>4){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_4_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>5){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_5_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>6){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_6_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>7){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_7_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>7){\n"
- " X.v[0] += ks[2]; X.v[1] += ks[0];\n"
- " X.v[1] += 2;\n"
- " }\n"
- " if(Nrounds>8){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_0_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>9){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_1_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>10){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_2_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>11){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_3_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>11){\n"
- " X.v[0] += ks[0]; X.v[1] += ks[1];\n"
- " X.v[1] += 3;\n"
- " }\n"
- " if(Nrounds>12){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_4_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>13){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_5_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>14){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_6_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>15){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_7_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>15){\n"
- " X.v[0] += ks[1]; X.v[1] += ks[2];\n"
- " X.v[1] += 4;\n"
- " }\n"
- " if(Nrounds>16){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_0_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>17){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_1_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>18){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_2_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>19){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_3_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>19){\n"
- " X.v[0] += ks[2]; X.v[1] += ks[0];\n"
- " X.v[1] += 5;\n"
- " }\n"
- " if(Nrounds>20){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_4_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>21){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_5_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>22){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_6_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>23){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_7_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>23){\n"
- " X.v[0] += ks[0]; X.v[1] += ks[1];\n"
- " X.v[1] += 6;\n"
- " }\n"
- " if(Nrounds>24){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_0_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>25){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_1_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>26){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_2_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>27){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_3_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>27){\n"
- " X.v[0] += ks[1]; X.v[1] += ks[2];\n"
- " X.v[1] += 7;\n"
- " }\n"
- " if(Nrounds>28){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_4_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>29){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_5_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>30){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_6_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>31){ X.v[0] += X.v[1]; X.v[1] = RotL_32(X.v[1],R_32x2_7_0); X.v[1] ^= X.v[0]; }\n"
- " if(Nrounds>31){\n"
- " X.v[0] += ks[2]; X.v[1] += ks[0];\n"
- " X.v[1] += 8;\n"
- " }\n"
- " return X;\n"
- "}\n"
-
- "__kernel void generate_rng(__global uint *ctr, __global uint *key, const uint offset) {\n"
- " threefry2x32_ctr_t in;\n"
- " threefry2x32_key_t k;\n"
- " const uint i = get_global_id(0);\n"
- " in.v[0] = ctr[2 * (offset + i)];\n"
- " in.v[1] = ctr[2 * (offset + i) + 1];\n"
- " k.v[0] = key[2 * (offset + i)];\n"
- " k.v[1] = key[2 * (offset + i) + 1];\n"
- " in = threefry2x32_R(20, in, k);\n"
- " ctr[2 * (offset + i)] = in.v[0];\n"
- " ctr[2 * (offset + i) + 1] = in.v[1];\n"
- "}\n";
-
- m_program = cache->get_or_build(cache_key, std::string(), source, m_context);
- }
-
-public:
-
-
- /// Generates Threefry random numbers using both the counter and key values, and then stores
- /// them to the range [\p first_ctr, \p last_ctr).
- template<class OutputIterator>
- void generate(OutputIterator first_ctr, OutputIterator last_ctr, OutputIterator first_key, OutputIterator last_key, command_queue &queue) {
- const size_t size_ctr = detail::iterator_range_size(first_ctr, last_ctr);
- const size_t size_key = detail::iterator_range_size(first_key, last_key);
- if(!size_ctr || !size_key || (size_ctr != size_key)) {
- return;
- }
- kernel rng_kernel = m_program.create_kernel("generate_rng");
-
- rng_kernel.set_arg(0, first_ctr.get_buffer());
- rng_kernel.set_arg(1, first_key.get_buffer());
- size_t offset = 0;
-
- for(;;){
- size_t count = 0;
- size_t size = size_ctr/2;
- if(size > threads){
- count = (std::min)(static_cast<size_t>(threads), size - offset);
- }
- else {
- count = size;
- }
- rng_kernel.set_arg(2, static_cast<const uint_>(offset));
- queue.enqueue_1d_range_kernel(rng_kernel, 0, count, 0);
-
- offset += count;
-
- if(offset >= size){
- break;
- }
-
- }
- }
-
- template<class OutputIterator>
- void generate(OutputIterator first_ctr, OutputIterator last_ctr, command_queue &queue) {
- const size_t size_ctr = detail::iterator_range_size(first_ctr, last_ctr);
- if(!size_ctr) {
- return;
- }
- boost::compute::vector<uint_> vector_key(size_ctr, m_context);
- vector_key.assign(size_ctr, 0, queue);
- kernel rng_kernel = m_program.create_kernel("generate_rng");
-
- rng_kernel.set_arg(0, first_ctr.get_buffer());
- rng_kernel.set_arg(1, vector_key);
- size_t offset = 0;
-
- for(;;){
- size_t count = 0;
- size_t size = size_ctr/2;
- if(size > threads){
- count = (std::min)(static_cast<size_t>(threads), size - offset);
- }
- else {
- count = size;
- }
- rng_kernel.set_arg(2, static_cast<const uint_>(offset));
- queue.enqueue_1d_range_kernel(rng_kernel, 0, count, 0);
-
- offset += count;
-
- if(offset >= size){
- break;
- }
-
- }
- }
-private:
- context m_context;
- program m_program;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_THREEFRY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_int_distribution.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_int_distribution.hpp
deleted file mode 100644
index 20448afec..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_int_distribution.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2014 Roshan <thisisroshansmail@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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-#define BOOST_COMPUTE_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-
-#include <limits>
-
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/container/vector.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/algorithm/copy_if.hpp>
-#include <boost/compute/algorithm/transform.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class uniform_int_distribution
-/// \brief Produces uniformily distributed random integers
-///
-/// The following example shows how to setup a uniform int distribution to
-/// produce random integers 0 and 1.
-///
-/// \snippet test/test_uniform_int_distribution.cpp generate
-///
-template<class IntType = uint_>
-class uniform_int_distribution
-{
-public:
- typedef IntType result_type;
-
- /// Creates a new uniform distribution producing numbers in the range
- /// [\p a, \p b].
- explicit uniform_int_distribution(IntType a = 0,
- IntType b = (std::numeric_limits<IntType>::max)())
- : m_a(a),
- m_b(b)
- {
- }
-
- /// Destroys the uniform_int_distribution object.
- ~uniform_int_distribution()
- {
- }
-
- /// Returns the minimum value of the distribution.
- result_type a() const
- {
- return m_a;
- }
-
- /// Returns the maximum value of the distribution.
- result_type b() const
- {
- return m_b;
- }
-
- /// Generates uniformily distributed integers and stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Generator>
- void generate(OutputIterator first,
- OutputIterator last,
- Generator &generator,
- command_queue &queue)
- {
- size_t size = std::distance(first, last);
- typedef typename Generator::result_type g_result_type;
-
- vector<g_result_type> tmp(size, queue.get_context());
- vector<g_result_type> tmp2(size, queue.get_context());
-
- uint_ bound = ((uint_(-1))/(m_b-m_a+1))*(m_b-m_a+1);
-
- buffer_iterator<g_result_type> tmp2_iter;
-
- while(size>0)
- {
- generator.generate(tmp.begin(), tmp.begin() + size, queue);
- tmp2_iter = copy_if(tmp.begin(), tmp.begin() + size, tmp2.begin(),
- _1 <= bound, queue);
- size = std::distance(tmp2_iter, tmp2.end());
- }
-
- BOOST_COMPUTE_FUNCTION(IntType, scale_random, (const g_result_type x),
- {
- return LO + (x % (HI-LO+1));
- });
-
- scale_random.define("LO", boost::lexical_cast<std::string>(m_a));
- scale_random.define("HI", boost::lexical_cast<std::string>(m_b));
-
- transform(tmp2.begin(), tmp2.end(), first, scale_random, queue);
- }
-
-private:
- IntType m_a;
- IntType m_b;
-
- BOOST_STATIC_ASSERT_MSG(
- boost::is_integral<IntType>::value,
- "Template argument must be integral"
- );
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_real_distribution.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_real_distribution.hpp
deleted file mode 100644
index 75d9659d6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/random/uniform_real_distribution.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_RANDOM_UNIFORM_REAL_DISTRIBUTION_HPP
-#define BOOST_COMPUTE_RANDOM_UNIFORM_REAL_DISTRIBUTION_HPP
-
-#include <boost/assert.hpp>
-#include <boost/type_traits.hpp>
-
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/function.hpp>
-#include <boost/compute/detail/literal.hpp>
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class uniform_real_distribution
-/// \brief Produces uniformly distributed random floating-point numbers.
-///
-/// The following example shows how to setup a uniform real distribution to
-/// produce random \c float values between \c 1 and \c 100.
-///
-/// \snippet test/test_uniform_real_distribution.cpp generate
-///
-/// \see default_random_engine, normal_distribution
-template<class RealType = float>
-class uniform_real_distribution
-{
-public:
- typedef RealType result_type;
-
- /// Creates a new uniform distribution producing numbers in the range
- /// [\p a, \p b).
- /// Requires a < b
- uniform_real_distribution(RealType a = 0.f, RealType b = 1.f)
- : m_a(a),
- m_b(b)
- {
- BOOST_ASSERT(a < b);
- }
-
- /// Destroys the uniform_real_distribution object.
- ~uniform_real_distribution()
- {
- }
-
- /// Returns the minimum value of the distribution.
- result_type a() const
- {
- return m_a;
- }
-
- /// Returns the maximum value of the distribution.
- result_type b() const
- {
- return m_b;
- }
-
- /// Generates uniformly distributed floating-point numbers and stores
- /// them to the range [\p first, \p last).
- template<class OutputIterator, class Generator>
- void generate(OutputIterator first,
- OutputIterator last,
- Generator &generator,
- command_queue &queue)
- {
- BOOST_COMPUTE_FUNCTION(RealType, scale_random, (const uint_ x),
- {
- return nextafter(LO + (convert_RealType(x) / MAX_RANDOM) * (HI - LO), (RealType) LO);
- });
-
- scale_random.define("LO", detail::make_literal(m_a));
- scale_random.define("HI", detail::make_literal(m_b));
- scale_random.define("MAX_RANDOM", "UINT_MAX");
- scale_random.define(
- "convert_RealType", std::string("convert_") + type_name<RealType>()
- );
- scale_random.define("RealType", type_name<RealType>());
-
- generator.generate(
- first, last, scale_random, queue
- );
- }
-
- /// \internal_ (deprecated)
- template<class OutputIterator, class Generator>
- void fill(OutputIterator first,
- OutputIterator last,
- Generator &g,
- command_queue &queue)
- {
- generate(first, last, g, queue);
- }
-
-private:
- RealType m_a;
- RealType m_b;
-
- BOOST_STATIC_ASSERT_MSG(
- boost::is_floating_point<RealType>::value,
- "Template argument must be a floating point type"
- );
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_RANDOM_UNIFORM_REAL_DISTRIBUTION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/svm.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/svm.hpp
deleted file mode 100644
index 4bc3a7423..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/svm.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_SVM_HPP
-#define BOOST_COMPUTE_SVM_HPP
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/memory/svm_ptr.hpp>
-
-// svm functions require OpenCL 2.0
-#if defined(CL_VERSION_2_0) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-
-namespace boost {
-namespace compute {
-
-/// Allocates a shared virtual memory (SVM) buffer.
-//
-/// \opencl_version_warning{2,0}
-///
-/// \see_opencl2_ref{clSVMAlloc}
-///
-/// \see svm_free()
-template<class T>
-inline svm_ptr<T> svm_alloc(const context &context,
- size_t size,
- cl_svm_mem_flags flags = CL_MEM_READ_WRITE,
- unsigned int alignment = 0)
-{
- svm_ptr<T> ptr(
- clSVMAlloc(context.get(), flags, size * sizeof(T), alignment),
- context
- );
- if(!ptr.get()){
- BOOST_THROW_EXCEPTION(opencl_error(CL_MEM_OBJECT_ALLOCATION_FAILURE));
- }
- return ptr;
-}
-
-/// Deallocates a shared virtual memory (SVM) buffer.
-///
-/// \opencl_version_warning{2,0}
-///
-/// \see_opencl2_ref{clSVMFree}
-///
-/// \see svm_alloc(), command_queue::enqueue_svm_free()
-template<class T>
-inline void svm_free(svm_ptr<T> ptr)
-{
- clSVMFree(ptr.get_context(), ptr.get());
-}
-
-/// \overload
-template<class T>
-inline void svm_free(const context &context, svm_ptr<T> ptr)
-{
- clSVMFree(context.get(), ptr.get());
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // CL_VERSION_2_0
-
-#endif // BOOST_COMPUTE_PIPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/system.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/system.hpp
deleted file mode 100644
index e6ed353d6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/system.hpp
+++ /dev/null
@@ -1,280 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_SYSTEM_HPP
-#define BOOST_COMPUTE_SYSTEM_HPP
-
-#include <string>
-#include <vector>
-#include <cstdlib>
-
-#include <boost/throw_exception.hpp>
-
-#include <boost/compute/cl.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/platform.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/getenv.hpp>
-#include <boost/compute/exception/no_device_found.hpp>
-
-namespace boost {
-namespace compute {
-
-/// \class system
-/// \brief Provides access to platforms and devices on the system.
-///
-/// The system class contains a set of static functions which provide access to
-/// the OpenCL platforms and compute devices on the host system.
-///
-/// The default_device() convenience method automatically selects and returns
-/// the "best" compute device for the system following a set of heuristics and
-/// environment variables. This simplifies setup of the OpenCL enviornment.
-///
-/// \see platform, device, context
-class system
-{
-public:
- /// Returns the default compute device for the system.
- ///
- /// The default device is selected based on a set of heuristics and can be
- /// influenced using one of the following environment variables:
- ///
- /// \li \c BOOST_COMPUTE_DEFAULT_DEVICE -
- /// name of the compute device (e.g. "GTX TITAN")
- /// \li \c BOOST_COMPUTE_DEFAULT_DEVICE_TYPE
- /// type of the compute device (e.g. "GPU" or "CPU")
- /// \li \c BOOST_COMPUTE_DEFAULT_PLATFORM -
- /// name of the platform (e.g. "NVIDIA CUDA")
- /// \li \c BOOST_COMPUTE_DEFAULT_VENDOR -
- /// name of the device vendor (e.g. "NVIDIA")
- ///
- /// The default device is determined once on the first time this function
- /// is called. Calling this function multiple times will always result in
- /// the same device being returned.
- ///
- /// If no OpenCL device is found on the system, a no_device_found exception
- /// is thrown.
- ///
- /// For example, to print the name of the default compute device on the
- /// system:
- /// \code
- /// // get the default compute device
- /// boost::compute::device device = boost::compute::system::default_device();
- ///
- /// // print the name of the device
- /// std::cout << "default device: " << device.name() << std::endl;
- /// \endcode
- static device default_device()
- {
- static device default_device = find_default_device();
-
- return default_device;
- }
-
- /// Returns the device with \p name.
- ///
- /// \throws no_device_found if no device with \p name is found.
- static device find_device(const std::string &name)
- {
- const std::vector<device> devices = system::devices();
- for(size_t i = 0; i < devices.size(); i++){
- const device& device = devices[i];
-
- if(device.name() == name){
- return device;
- }
- }
-
- BOOST_THROW_EXCEPTION(no_device_found());
- }
-
- /// Returns a vector containing all of the compute devices on
- /// the system.
- ///
- /// For example, to print out the name of each OpenCL-capable device
- /// available on the system:
- /// \code
- /// for(const auto &device : boost::compute::system::devices()){
- /// std::cout << device.name() << std::endl;
- /// }
- /// \endcode
- static std::vector<device> devices()
- {
- std::vector<device> devices;
-
- const std::vector<platform> platforms = system::platforms();
- for(size_t i = 0; i < platforms.size(); i++){
- const std::vector<device> platform_devices = platforms[i].devices();
-
- devices.insert(
- devices.end(), platform_devices.begin(), platform_devices.end()
- );
- }
-
- return devices;
- }
-
- /// Returns the number of compute devices on the system.
- static size_t device_count()
- {
- size_t count = 0;
-
- const std::vector<platform> platforms = system::platforms();
- for(size_t i = 0; i < platforms.size(); i++){
- count += platforms[i].device_count();
- }
-
- return count;
- }
-
- /// Returns the default context for the system.
- ///
- /// The default context is created for the default device on the system
- /// (as returned by default_device()).
- ///
- /// The default context is created once on the first time this function is
- /// called. Calling this function multiple times will always result in the
- /// same context object being returned.
- static context default_context()
- {
- static context default_context(default_device());
-
- return default_context;
- }
-
- /// Returns the default command queue for the system.
- static command_queue& default_queue()
- {
- static command_queue queue(default_context(), default_device());
-
- return queue;
- }
-
- /// Blocks until all outstanding computations on the default
- /// command queue are complete.
- ///
- /// This is equivalent to:
- /// \code
- /// system::default_queue().finish();
- /// \endcode
- static void finish()
- {
- default_queue().finish();
- }
-
- /// Returns a vector containing each of the OpenCL platforms on the system.
- ///
- /// For example, to print out the name of each OpenCL platform present on
- /// the system:
- /// \code
- /// for(const auto &platform : boost::compute::system::platforms()){
- /// std::cout << platform.name() << std::endl;
- /// }
- /// \endcode
- static std::vector<platform> platforms()
- {
- cl_uint count = 0;
- clGetPlatformIDs(0, 0, &count);
-
- std::vector<platform> platforms;
- if(count > 0)
- {
- std::vector<cl_platform_id> platform_ids(count);
- clGetPlatformIDs(count, &platform_ids[0], 0);
-
- for(size_t i = 0; i < platform_ids.size(); i++){
- platforms.push_back(platform(platform_ids[i]));
- }
- }
- return platforms;
- }
-
- /// Returns the number of compute platforms on the system.
- static size_t platform_count()
- {
- cl_uint count = 0;
- clGetPlatformIDs(0, 0, &count);
- return static_cast<size_t>(count);
- }
-
-private:
- /// \internal_
- static device find_default_device()
- {
- // get a list of all devices on the system
- const std::vector<device> devices_ = devices();
- if(devices_.empty()){
- BOOST_THROW_EXCEPTION(no_device_found());
- }
-
- // check for device from environment variable
- const char *name = detail::getenv("BOOST_COMPUTE_DEFAULT_DEVICE");
- const char *type = detail::getenv("BOOST_COMPUTE_DEFAULT_DEVICE_TYPE");
- const char *platform = detail::getenv("BOOST_COMPUTE_DEFAULT_PLATFORM");
- const char *vendor = detail::getenv("BOOST_COMPUTE_DEFAULT_VENDOR");
-
- if(name || type || platform || vendor){
- for(size_t i = 0; i < devices_.size(); i++){
- const device& device = devices_[i];
- if (name && !matches(device.name(), name))
- continue;
-
- if (type && matches(std::string("GPU"), type))
- if (!(device.type() & device::gpu))
- continue;
-
- if (type && matches(std::string("CPU"), type))
- if (!(device.type() & device::cpu))
- continue;
-
- if (platform && !matches(device.platform().name(), platform))
- continue;
-
- if (vendor && !matches(device.vendor(), vendor))
- continue;
-
- return device;
- }
- }
-
- // find the first gpu device
- for(size_t i = 0; i < devices_.size(); i++){
- const device& device = devices_[i];
-
- if(device.type() & device::gpu){
- return device;
- }
- }
-
- // find the first cpu device
- for(size_t i = 0; i < devices_.size(); i++){
- const device& device = devices_[i];
-
- if(device.type() & device::cpu){
- return device;
- }
- }
-
- // return the first device found
- return devices_[0];
- }
-
- /// \internal_
- static bool matches(const std::string &str, const std::string &pattern)
- {
- return str.find(pattern) != std::string::npos;
- }
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_SYSTEM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits.hpp
deleted file mode 100644
index 9ba98d9c2..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_HPP
-
-#include <boost/compute/type_traits/common_type.hpp>
-#include <boost/compute/type_traits/is_device_iterator.hpp>
-#include <boost/compute/type_traits/is_fundamental.hpp>
-#include <boost/compute/type_traits/is_vector_type.hpp>
-#include <boost/compute/type_traits/make_vector_type.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-#include <boost/compute/type_traits/scalar_type.hpp>
-#include <boost/compute/type_traits/type_definition.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/type_traits/vector_size.hpp>
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/common_type.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/common_type.hpp
deleted file mode 100644
index 49a81ff3f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/common_type.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_COMMON_TYPE_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_COMMON_TYPE_HPP
-
-#include <boost/type_traits/common_type.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPE(scalar, size) \
- template<> \
- struct common_type<BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size), \
- BOOST_COMPUTE_MAKE_SCALAR_TYPE(scalar)> \
- { \
- typedef BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size) type; \
- }; \
- template<> \
- struct common_type<BOOST_COMPUTE_MAKE_SCALAR_TYPE(scalar), \
- BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size)> \
- { \
- typedef BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size) type; \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(scalar) \
- BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPE(scalar, 2) \
- BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPE(scalar, 4) \
- BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPE(scalar, 8) \
- BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPE(scalar, 16) \
-
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(char)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(uchar)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(short)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(ushort)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(int)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(uint)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(long)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(ulong)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(float)
-BOOST_COMPUTE_DECLARE_SCALAR_VECTOR_COMMON_TYPES(double)
-
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_COMMON_TYPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/detail/capture_traits.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/detail/capture_traits.hpp
deleted file mode 100644
index e790f8069..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/detail/capture_traits.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_DETAIL_CAPTURE_TRAITS_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_DETAIL_CAPTURE_TRAITS_HPP
-
-#include <boost/compute/type_traits/type_name.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-struct capture_traits
-{
- static std::string type_name()
- {
- return ::boost::compute::type_name<T>();
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_DETAIL_CAPTURE_TRAITS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_device_iterator.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_device_iterator.hpp
deleted file mode 100644
index 5e7021f2e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_device_iterator.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_IS_DEVICE_ITERATOR_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_IS_DEVICE_ITERATOR_HPP
-
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function returning \c true if \c Iterator is a device-iterator.
-///
-/// By default, this function returns false. Device iterator types (such as
-/// buffer_iterator) should specialize this trait and return \c true.
-///
-/// For example:
-/// \code
-/// is_device_iterator<buffer_iterator<int>>::value == true
-/// is_device_iterator<std::vector<int>::iterator>::value == false
-/// \endcode
-template<class Iterator>
-struct is_device_iterator : boost::false_type {};
-
-/// \internal_
-template<class Iterator>
-struct is_device_iterator<const Iterator> : is_device_iterator<Iterator> {};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_IS_DEVICE_ITERATOR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_fundamental.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_fundamental.hpp
deleted file mode 100644
index 6386f1184..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_fundamental.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_IS_FUNDAMENTAL_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_IS_FUNDAMENTAL_HPP
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function returning \c true if \p T is a fundamental (i.e.
-/// built-in) type.
-///
-/// For example,
-/// \code
-/// is_fundamental<float>::value == true
-/// is_fundamental<std::pair<int, float>>::value == false
-/// \endcode
-template<class T>
-struct is_fundamental : public boost::false_type {};
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(type) \
- template<> struct is_fundamental<BOOST_PP_CAT(type, _)> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(BOOST_PP_CAT(type, 2), _)> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(BOOST_PP_CAT(type, 4), _)> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(BOOST_PP_CAT(type, 8), _)> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(BOOST_PP_CAT(type, 16), _)> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(cl_, BOOST_PP_CAT(type, 2))> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(cl_, BOOST_PP_CAT(type, 4))> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(cl_, BOOST_PP_CAT(type, 8))> : boost::true_type {}; \
- template<> struct is_fundamental<BOOST_PP_CAT(cl_, BOOST_PP_CAT(type, 16))> : boost::true_type {};
-
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(char)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(uchar)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(short)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(ushort)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(int)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(uint)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(long)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(ulong)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(float)
-BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL(double)
-
-#undef BOOST_COMPUTE_DETAIL_DECLARE_FUNDAMENTAL
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_IS_FUNDAMENTAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_vector_type.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_vector_type.hpp
deleted file mode 100644
index f4382f0e2..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/is_vector_type.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_IS_VECTOR_TYPE_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_IS_VECTOR_TYPE_HPP
-
-#include <boost/mpl/bool.hpp>
-
-#include <boost/compute/type_traits/vector_size.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function returning \c true if \p T is a vector type.
-///
-/// For example,
-/// \code
-/// is_vector_type<int>::value == false
-/// is_vector_type<float4_>::value == true
-/// \endcode
-///
-/// \see make_vector_type, vector_size
-template<class T>
-struct is_vector_type : boost::mpl::bool_<vector_size<T>::value != 1>
-{
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_IS_VECTOR_TYPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/make_vector_type.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/make_vector_type.hpp
deleted file mode 100644
index 6494ff267..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/make_vector_type.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_MAKE_VECTOR_TYPE_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_MAKE_VECTOR_TYPE_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function which returns a vector type for \p Scalar with \p Size.
-///
-/// For example,
-/// \code
-/// make_vector_type<int, 2>::type == int2_
-/// make_vector_type<float, 4>::type == float4_
-/// \endcode
-///
-/// \see is_vector_type
-template<class Scalar, size_t Size>
-struct make_vector_type
-{
-};
-
-/// \internal_
-template<class Scalar>
-struct make_vector_type<Scalar, 1>
-{
- typedef Scalar type;
-};
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTION(scalar, size) \
- template<> \
- struct make_vector_type<BOOST_PP_CAT(scalar, _), size> \
- { \
- typedef BOOST_PP_CAT(BOOST_PP_CAT(scalar, size), _) type; \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(scalar) \
- BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTION(scalar, 2) \
- BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTION(scalar, 4) \
- BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTION(scalar, 8) \
- BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTION(scalar, 16)
-
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(char)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(uchar)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(short)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(ushort)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(int)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(uint)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(long)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(ulong)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(float)
-BOOST_COMPUTE_DECLARE_MAKE_VECTOR_TYPE_FUNCTIONS(double)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_MAKE_VECTOR_TYPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/result_of.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/result_of.hpp
deleted file mode 100644
index 3f475a35d..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/result_of.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_RESULT_OF_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_RESULT_OF_HPP
-
-#include <boost/utility/result_of.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Returns the result of \c Function when called with \c Args.
-///
-/// For example,
-/// \code
-/// // int + int = int
-/// result_of<plus(int, int)>::type == int
-/// \endcode
-template<class Signature>
-struct result_of
-{
- // the default implementation uses the TR1-style result_of protocol. note
- // that we explicitly do *not* use the C++11 decltype operator as we want
- // the result type as it would be on an OpenCL device, not the actual C++
- // type resulting from "invoking" the function on the host.
- typedef typename ::boost::tr1_result_of<Signature>::type type;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_RESULT_OF_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/scalar_type.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/scalar_type.hpp
deleted file mode 100644
index c40682fd2..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/scalar_type.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_SCALAR_TYPE_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_SCALAR_TYPE_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function returning the scalar type for a vector type.
-///
-/// For example,
-/// \code
-/// scalar_type<float4_>::type == float
-/// \endcode
-template<class Vector>
-struct scalar_type
-{
- /// \internal_
- typedef void type;
-};
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTION(scalar) \
- template<> \
- struct scalar_type<BOOST_PP_CAT(scalar, _)> \
- { \
- typedef BOOST_PP_CAT(scalar, _) type; \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_VECTOR_SCALAR_TYPE_FUNCTION(scalar, size) \
- template<> \
- struct scalar_type<BOOST_PP_CAT(BOOST_PP_CAT(scalar, size), _)> \
- { \
- typedef BOOST_PP_CAT(scalar, _) type; \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(scalar) \
- BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTION(scalar) \
- BOOST_COMPUTE_DECLARE_VECTOR_SCALAR_TYPE_FUNCTION(scalar, 2) \
- BOOST_COMPUTE_DECLARE_VECTOR_SCALAR_TYPE_FUNCTION(scalar, 4) \
- BOOST_COMPUTE_DECLARE_VECTOR_SCALAR_TYPE_FUNCTION(scalar, 8) \
- BOOST_COMPUTE_DECLARE_VECTOR_SCALAR_TYPE_FUNCTION(scalar, 16)
-
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(char)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(uchar)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(short)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(ushort)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(int)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(uint)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(long)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(ulong)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(float)
-BOOST_COMPUTE_DECLARE_SCALAR_TYPE_FUNCTIONS(double)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_SCALAR_TYPE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_definition.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_definition.hpp
deleted file mode 100644
index de9095fbd..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_definition.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_TYPE_DEFINITION_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_TYPE_DEFINITION_HPP
-
-#include <string>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-struct type_definition_trait;
-
-} // end detail namespace
-
-/// Returns the OpenCL type definition for \c T.
-///
-/// \return a string containing the type definition for \c T
-///
-/// \see type_name<T>()
-template<class T>
-inline std::string type_definition()
-{
- return detail::type_definition_trait<T>::value();
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_TYPE_DEFINITION_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_name.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_name.hpp
deleted file mode 100644
index 86ac7bc8b..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/type_name.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_TYPE_NAME_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_TYPE_NAME_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-struct type_name_trait;
-
-/// \internal_
-#define BOOST_COMPUTE_DEFINE_SCALAR_TYPE_NAME_FUNCTION(type) \
- template<> \
- struct type_name_trait<BOOST_PP_CAT(type, _)> \
- { \
- static const char* value() \
- { \
- return BOOST_PP_STRINGIZE(type); \
- } \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DEFINE_VECTOR_TYPE_NAME_FUNCTION(scalar, n) \
- template<> \
- struct type_name_trait<BOOST_PP_CAT(BOOST_PP_CAT(scalar, n), _)> \
- { \
- static const char* value() \
- { \
- return BOOST_PP_STRINGIZE(BOOST_PP_CAT(scalar, n)); \
- } \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(scalar) \
- BOOST_COMPUTE_DEFINE_SCALAR_TYPE_NAME_FUNCTION(scalar) \
- BOOST_COMPUTE_DEFINE_VECTOR_TYPE_NAME_FUNCTION(scalar, 2) \
- BOOST_COMPUTE_DEFINE_VECTOR_TYPE_NAME_FUNCTION(scalar, 4) \
- BOOST_COMPUTE_DEFINE_VECTOR_TYPE_NAME_FUNCTION(scalar, 8) \
- BOOST_COMPUTE_DEFINE_VECTOR_TYPE_NAME_FUNCTION(scalar, 16)
-
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(char)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(uchar)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(short)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(ushort)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(int)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(uint)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(long)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(ulong)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(float)
-BOOST_COMPUTE_DEFINE_TYPE_NAME_FUNCTIONS(double)
-
-/// \internal_
-#define BOOST_COMPUTE_DEFINE_BUILTIN_TYPE_NAME_FUNCTION(type) \
- template<> \
- struct type_name_trait<type> \
- { \
- static const char* value() \
- { \
- return #type; \
- } \
- };
-
-BOOST_COMPUTE_DEFINE_BUILTIN_TYPE_NAME_FUNCTION(bool)
-BOOST_COMPUTE_DEFINE_BUILTIN_TYPE_NAME_FUNCTION(char)
-BOOST_COMPUTE_DEFINE_BUILTIN_TYPE_NAME_FUNCTION(void)
-
-} // end detail namespace
-
-/// Returns the OpenCL type name for the type \c T as a string.
-///
-/// \return a string containing the type name for \c T
-///
-/// For example:
-/// \code
-/// type_name<float>() == "float"
-/// type_name<float4_>() == "float4"
-/// \endcode
-///
-/// \see type_definition<T>()
-template<class T>
-inline const char* type_name()
-{
- return detail::type_name_trait<T>::value();
-}
-
-} // end compute namespace
-} // end boost namespace
-
-/// Registers the OpenCL type for the C++ \p type to \p name.
-///
-/// For example, the following will allow Eigen's \c Vector2f type
-/// to be used with Boost.Compute algorithms and containers as the
-/// built-in \c float2 type.
-/// \code
-/// BOOST_COMPUTE_TYPE_NAME(Eigen::Vector2f, float2)
-/// \endcode
-///
-/// This macro should be invoked in the global namespace.
-///
-/// \see type_name()
-#define BOOST_COMPUTE_TYPE_NAME(type, name) \
- namespace boost { namespace compute { \
- template<> \
- inline const char* type_name<type>() \
- { \
- return #name; \
- }}}
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_TYPE_NAME_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/vector_size.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/vector_size.hpp
deleted file mode 100644
index c207a6fed..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/type_traits/vector_size.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPE_TRAITS_VECTOR_SIZE_HPP
-#define BOOST_COMPUTE_TYPE_TRAITS_VECTOR_SIZE_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/compute/types/fundamental.hpp>
-
-namespace boost {
-namespace compute {
-
-/// Meta-function returning the size (number of components) of a vector type
-/// \p T. For scalar types this function returns \c 1.
-///
-/// For example,
-/// \code
-/// vector_size<float>::value == 1
-/// vector_size<float4_>::value == 4
-/// \endcode
-template<class T>
-struct vector_size
-{
- /// \internal_
- BOOST_STATIC_CONSTANT(size_t, value = 1);
-};
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTION(scalar, size) \
- template<> \
- struct vector_size<BOOST_PP_CAT(BOOST_PP_CAT(scalar, size), _)> \
- { \
- BOOST_STATIC_CONSTANT(size_t, value = size); \
- };
-
-/// \internal_
-#define BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(scalar) \
- BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTION(scalar, 2) \
- BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTION(scalar, 4) \
- BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTION(scalar, 8) \
- BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTION(scalar, 16)
-
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(char)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(uchar)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(short)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(ushort)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(int)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(uint)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(long)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(ulong)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(float)
-BOOST_COMPUTE_DECLARE_VECTOR_SIZE_FUNCTIONS(double)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPE_TRAITS_VECTOR_SIZE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types.hpp
deleted file mode 100644
index 3d9120b65..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_HPP
-#define BOOST_COMPUTE_TYPES_HPP
-
-/// \file
-///
-/// Meta-header to include all Boost.Compute types headers.
-
-#include <boost/compute/types/complex.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/types/pair.hpp>
-#include <boost/compute/types/struct.hpp>
-#include <boost/compute/types/tuple.hpp>
-
-#endif // BOOST_COMPUTE_TYPES_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/complex.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/complex.hpp
deleted file mode 100644
index 1d60cef9e..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/complex.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_COMPLEX_HPP
-#define BOOST_COMPUTE_TYPES_COMPLEX_HPP
-
-#include <complex>
-
-#include <boost/compute/functional.hpp>
-#include <boost/compute/types/fundamental.hpp>
-#include <boost/compute/type_traits/make_vector_type.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class T>
-meta_kernel& operator<<(meta_kernel &kernel, const std::complex<T> &x)
-{
- typedef typename std::complex<T> value_type;
-
- kernel << "(" << type_name<value_type>() << ")"
- << "(" << x.real() << ", " << x.imag() << ")";
-
- return kernel;
-}
-
-// get<N>() result type specialization for std::complex<>
-template<size_t N, class T>
-struct get_result_type<N, std::complex<T> >
-{
- typedef T type;
-};
-
-// get<N>() specialization for std::complex<>
-template<size_t N, class Arg, class T>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_get<N, Arg, std::complex<T> > &expr)
-{
- BOOST_STATIC_ASSERT(N < 2);
-
- return kernel << expr.m_arg << (N == 0 ? ".x" : ".y");
-}
-
-} // end detail namespace
-
-// returns the real component of a complex<T>
-template<class T>
-struct real
-{
- typedef T result_type;
-
- template<class Arg>
- detail::invoked_get<0, Arg, std::complex<T> >
- operator()(const Arg &x) const
- {
- return detail::invoked_get<0, Arg, std::complex<T> >(x);
- }
-};
-
-// returns the imaginary component of a complex<T>
-template<class T>
-struct imag
-{
- typedef T result_type;
-
- template<class Arg>
- detail::invoked_get<1, Arg, std::complex<T> >
- operator()(const Arg &x) const
- {
- return detail::invoked_get<1, Arg, std::complex<T> >(x);
- }
-};
-
-namespace detail {
-
-template<class Arg1, class Arg2, class T>
-struct invoked_complex_multiplies
-{
- typedef typename std::complex<T> result_type;
-
- invoked_complex_multiplies(const Arg1 &x, const Arg2 &y)
- : m_x(x),
- m_y(y)
- {
- }
-
- Arg1 m_x;
- Arg2 m_y;
-};
-
-template<class Arg1, class Arg2, class T>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_complex_multiplies<Arg1, Arg2, T> &expr)
-{
- typedef typename std::complex<T> value_type;
-
- kernel << "(" << type_name<value_type>() << ")"
- << "(" << expr.m_x << ".x*" << expr.m_y << ".x-"
- << expr.m_x << ".y*" << expr.m_y << ".y,"
- << expr.m_x << ".y*" << expr.m_y << ".x+"
- << expr.m_x << ".x*" << expr.m_y << ".y" << ")";
-
- return kernel;
-}
-
-template<class Arg, class T>
-struct invoked_complex_conj
-{
- typedef typename std::complex<T> result_type;
-
- invoked_complex_conj(const Arg &arg)
- : m_arg(arg)
- {
- }
-
- Arg m_arg;
-};
-
-template<class Arg, class T>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_complex_conj<Arg, T> &expr)
-{
- typedef typename std::complex<T> value_type;
-
- kernel << "(" << type_name<value_type>() << ")"
- << "(" << expr.m_arg << ".x" << ", -" << expr.m_arg << ".y" << ")";
-
- return kernel;
-}
-
-} // end detail namespace
-
-// specialization for multiplies<T>
-template<class T>
-class multiplies<std::complex<T> > :
- public function<std::complex<T> (std::complex<T>, std::complex<T>)>
-{
-public:
- multiplies() :
- function<
- std::complex<T> (std::complex<T>, std::complex<T>)
- >("complex_multiplies")
- {
- }
-
- template<class Arg1, class Arg2>
- detail::invoked_complex_multiplies<Arg1, Arg2, T>
- operator()(const Arg1 &x, const Arg2 &y) const
- {
- return detail::invoked_complex_multiplies<Arg1, Arg2, T>(x, y);
- }
-};
-
-// returns the complex conjugate of a complex<T>
-template<class T>
-struct conj
-{
- typedef typename std::complex<T> result_type;
-
- template<class Arg>
- detail::invoked_complex_conj<Arg, T>
- operator()(const Arg &x) const
- {
- return detail::invoked_complex_conj<Arg, T>(x);
- }
-};
-
-namespace detail {
-
-// type_name() specialization for std::complex
-template<class T>
-struct type_name_trait<std::complex<T> >
-{
- static const char* value()
- {
- typedef typename make_vector_type<T, 2>::type vector_type;
-
- return type_name<vector_type>();
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPES_COMPLEX_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/fundamental.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/fundamental.hpp
deleted file mode 100644
index c1502e327..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/fundamental.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_FUNDAMENTAL_HPP
-#define BOOST_COMPUTE_TYPES_FUNDAMENTAL_HPP
-
-#include <cstring>
-#include <ostream>
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/comma.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#include <boost/compute/cl.hpp>
-
-namespace boost {
-namespace compute {
-
-// scalar data types
-typedef cl_char char_;
-typedef cl_uchar uchar_;
-typedef cl_short short_;
-typedef cl_ushort ushort_;
-typedef cl_int int_;
-typedef cl_uint uint_;
-typedef cl_long long_;
-typedef cl_ulong ulong_;
-typedef cl_float float_;
-typedef cl_double double_;
-
-// converts uchar to ::boost::compute::uchar_
-#define BOOST_COMPUTE_MAKE_SCALAR_TYPE(scalar) \
- BOOST_PP_CAT(::boost::compute::scalar, _)
-
-// converts float, 4 to ::boost::compute::float4_
-#define BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size) \
- BOOST_PP_CAT(BOOST_PP_CAT(::boost::compute::scalar, size), _)
-
-// vector data types
-template<class Scalar, size_t N>
-class vector_type
-{
-public:
- typedef Scalar scalar_type;
-
- vector_type()
- {
-
- }
-
- explicit vector_type(const Scalar scalar)
- {
- for(size_t i = 0; i < N; i++)
- m_value[i] = scalar;
- }
-
- vector_type(const vector_type<Scalar, N> &other)
- {
- std::memcpy(m_value, other.m_value, sizeof(m_value));
- }
-
- vector_type<Scalar, N>&
- operator=(const vector_type<Scalar, N> &other)
- {
- std::memcpy(m_value, other.m_value, sizeof(m_value));
- return *this;
- }
-
- size_t size() const
- {
- return N;
- }
-
- Scalar& operator[](size_t i)
- {
- return m_value[i];
- }
-
- Scalar operator[](size_t i) const
- {
- return m_value[i];
- }
-
- bool operator==(const vector_type<Scalar, N> &other) const
- {
- return std::memcmp(m_value, other.m_value, sizeof(m_value)) == 0;
- }
-
- bool operator!=(const vector_type<Scalar, N> &other) const
- {
- return !(*this == other);
- }
-
-protected:
- scalar_type m_value[N];
-};
-
-#define BOOST_COMPUTE_VECTOR_TYPE_CTOR_ARG_FUNCTION(z, i, _) \
- BOOST_PP_COMMA_IF(i) scalar_type BOOST_PP_CAT(arg, i)
-#define BOOST_COMPUTE_VECTOR_TYPE_DECLARE_CTOR_ARGS(scalar, size) \
- BOOST_PP_REPEAT(size, BOOST_COMPUTE_VECTOR_TYPE_CTOR_ARG_FUNCTION, _)
-#define BOOST_COMPUTE_VECTOR_TYPE_ASSIGN_CTOR_ARG(z, i, _) \
- m_value[i] = BOOST_PP_CAT(arg, i);
-#define BOOST_COMPUTE_VECTOR_TYPE_ASSIGN_CTOR_SINGLE_ARG(z, i, _) \
- m_value[i] = arg;
-
-#define BOOST_COMPUTE_DECLARE_VECTOR_TYPE_CLASS(cl_scalar, size, class_name) \
- class class_name : public vector_type<cl_scalar, size> \
- { \
- public: \
- class_name() { } \
- explicit class_name( scalar_type arg ) \
- { \
- BOOST_PP_REPEAT(size, BOOST_COMPUTE_VECTOR_TYPE_ASSIGN_CTOR_SINGLE_ARG, _) \
- } \
- class_name( \
- BOOST_PP_REPEAT(size, BOOST_COMPUTE_VECTOR_TYPE_CTOR_ARG_FUNCTION, _) \
- ) \
- { \
- BOOST_PP_REPEAT(size, BOOST_COMPUTE_VECTOR_TYPE_ASSIGN_CTOR_ARG, _) \
- } \
- };
-
-#define BOOST_COMPUTE_DECLARE_VECTOR_TYPE(scalar, size) \
- BOOST_COMPUTE_DECLARE_VECTOR_TYPE_CLASS(BOOST_PP_CAT(cl_, scalar), \
- size, \
- BOOST_PP_CAT(BOOST_PP_CAT(scalar, size), _)) \
- \
- inline std::ostream& operator<<( \
- std::ostream &s, \
- const BOOST_COMPUTE_MAKE_VECTOR_TYPE(scalar, size) &v) \
- { \
- s << BOOST_PP_STRINGIZE(BOOST_PP_CAT(scalar, size)) << "("; \
- for(size_t i = 0; i < size; i++){\
- s << v[i]; \
- if(i != size - 1){\
- s << ", "; \
- } \
- } \
- s << ")"; \
- return s; \
- }
-
-#define BOOST_COMPUTE_DECLARE_VECTOR_TYPES(scalar) \
- BOOST_COMPUTE_DECLARE_VECTOR_TYPE(scalar, 2) \
- BOOST_COMPUTE_DECLARE_VECTOR_TYPE(scalar, 4) \
- BOOST_COMPUTE_DECLARE_VECTOR_TYPE(scalar, 8) \
- BOOST_COMPUTE_DECLARE_VECTOR_TYPE(scalar, 16) \
-
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(char)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(uchar)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(short)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(ushort)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(int)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(uint)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(long)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(ulong)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(float)
-BOOST_COMPUTE_DECLARE_VECTOR_TYPES(double)
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPES_FUNDAMENTAL_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/pair.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/pair.hpp
deleted file mode 100644
index 96db6539f..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/pair.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_PAIR_HPP
-#define BOOST_COMPUTE_TYPES_PAIR_HPP
-
-#include <string>
-#include <utility>
-
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/type_traits/type_definition.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// meta_kernel operator for std::pair literals
-template<class T1, class T2>
-inline meta_kernel&
-operator<<(meta_kernel &kernel, const std::pair<T1, T2> &x)
-{
- kernel << "(" << type_name<std::pair<T1, T2> >() << ")"
- << "{" << kernel.make_lit(x.first) << ", "
- << kernel.make_lit(x.second) << "}";
-
- return kernel;
-}
-
-// inject_type() specialization for std::pair
-template<class T1, class T2>
-struct inject_type_impl<std::pair<T1, T2> >
-{
- void operator()(meta_kernel &kernel)
- {
- typedef std::pair<T1, T2> pair_type;
-
- kernel.inject_type<T1>();
- kernel.inject_type<T2>();
-
- kernel.add_type_declaration<pair_type>(type_definition<pair_type>());
- }
-};
-
-// get<N>() result type specialization for std::pair<>
-template<class T1, class T2>
-struct get_result_type<0, std::pair<T1, T2> >
-{
- typedef T1 type;
-};
-
-template<class T1, class T2>
-struct get_result_type<1, std::pair<T1, T2> >
-{
- typedef T2 type;
-};
-
-// get<N>() specialization for std::pair<>
-template<size_t N, class Arg, class T1, class T2>
-inline meta_kernel& operator<<(meta_kernel &kernel,
- const invoked_get<N, Arg, std::pair<T1, T2> > &expr)
-{
- kernel.inject_type<std::pair<T1, T2> >();
-
- return kernel << expr.m_arg << (N == 0 ? ".first" : ".second");
-}
-
-} // end detail namespace
-
-namespace detail {
-
-// type_name() specialization for std::pair
-template<class T1, class T2>
-struct type_name_trait<std::pair<T1, T2> >
-{
- static const char* value()
- {
- static std::string name =
- std::string("_pair_") +
- type_name<T1>() + "_" + type_name<T2>() +
- "_t";
-
- return name.c_str();
- }
-};
-
-// type_definition() specialization for std::pair
-template<class T1, class T2>
-struct type_definition_trait<std::pair<T1, T2> >
-{
- static std::string value()
- {
- typedef std::pair<T1, T2> pair_type;
-
- std::stringstream declaration;
- declaration << "typedef struct {\n"
- << " " << type_name<T1>() << " first;\n"
- << " " << type_name<T2>() << " second;\n"
- << "} " << type_name<pair_type>() << ";\n";
-
- return declaration.str();
- }
-};
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPES_PAIR_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/struct.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/struct.hpp
deleted file mode 100644
index 92aeaedf2..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/struct.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_STRUCT_HPP
-#define BOOST_COMPUTE_TYPES_STRUCT_HPP
-
-#include <sstream>
-
-#include <boost/static_assert.hpp>
-
-#include <boost/preprocessor/expr_if.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/preprocessor/seq/fold_left.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/transform.hpp>
-
-#include <boost/compute/type_traits/type_definition.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/detail/variadic_macros.hpp>
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-template<class Struct, class T>
-inline std::string adapt_struct_insert_member(T Struct::*, const char *name)
-{
- std::stringstream s;
- s << " " << type_name<T>() << " " << name << ";\n";
- return s.str();
-}
-
-
-template<class Struct, class T, int N>
-inline std::string adapt_struct_insert_member(T (Struct::*)[N], const char *name)
-{
- std::stringstream s;
- s << " " << type_name<T>() << " " << name << "[" << N << "]" << ";\n";
- return s.str();
-}
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_ADAPT_STRUCT_INSERT_MEMBER(r, type, member) \
- << ::boost::compute::detail::adapt_struct_insert_member( \
- &type::member, BOOST_PP_STRINGIZE(member) \
- )
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_ADAPT_STRUCT_STREAM_MEMBER(r, data, i, elem) \
- BOOST_PP_EXPR_IF(i, << ", ") << data.elem
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE(s, struct_, member_) \
- sizeof(((struct_ *)0)->member_)
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE_ADD(s, x, y) (x+y)
-
-/// \internal_
-#define BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE_SUM(struct_, members_) \
- BOOST_PP_SEQ_FOLD_LEFT( \
- BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE_ADD, \
- 0, \
- BOOST_PP_SEQ_TRANSFORM( \
- BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE, struct_, members_ \
- ) \
- )
-
-/// \internal_
-///
-/// Returns true if struct_ contains no internal padding bytes (i.e. it is
-/// packed). members_ is a sequence of the names of the struct members.
-#define BOOST_COMPUTE_DETAIL_STRUCT_IS_PACKED(struct_, members_) \
- (sizeof(struct_) == BOOST_COMPUTE_DETAIL_STRUCT_MEMBER_SIZE_SUM(struct_, members_))
-
-/// The BOOST_COMPUTE_ADAPT_STRUCT() macro makes a C++ struct/class available
-/// to OpenCL kernels.
-///
-/// \param type The C++ type.
-/// \param name The OpenCL name.
-/// \param members A tuple of the struct's members.
-///
-/// For example, to adapt a 2D particle struct with position (x, y) and
-/// velocity (dx, dy):
-/// \code
-/// // c++ struct definition
-/// struct Particle
-/// {
-/// float x, y;
-/// float dx, dy;
-/// };
-///
-/// // adapt struct for OpenCL
-/// BOOST_COMPUTE_ADAPT_STRUCT(Particle, Particle, (x, y, dx, dy))
-/// \endcode
-///
-/// After adapting the struct it can be used in Boost.Compute containers
-/// and with Boost.Compute algorithms:
-/// \code
-/// // create vector of particles
-/// boost::compute::vector<Particle> particles = ...
-///
-/// // function to compare particles by their x-coordinate
-/// BOOST_COMPUTE_FUNCTION(bool, sort_by_x, (Particle a, Particle b),
-/// {
-/// return a.x < b.x;
-/// });
-///
-/// // sort particles by their x-coordinate
-/// boost::compute::sort(
-/// particles.begin(), particles.end(), sort_by_x, queue
-/// );
-/// \endcode
-///
-/// Due to differences in struct padding between the host compiler and the
-/// device compiler, the \c BOOST_COMPUTE_ADAPT_STRUCT() macro requires that
-/// the adapted struct is packed (i.e. no padding bytes between members).
-///
-/// \see type_name()
-#define BOOST_COMPUTE_ADAPT_STRUCT(type, name, members) \
- BOOST_STATIC_ASSERT_MSG( \
- BOOST_COMPUTE_DETAIL_STRUCT_IS_PACKED(type, BOOST_COMPUTE_PP_TUPLE_TO_SEQ(members)), \
- "BOOST_COMPUTE_ADAPT_STRUCT() does not support structs with internal padding." \
- ); \
- BOOST_COMPUTE_TYPE_NAME(type, name) \
- namespace boost { namespace compute { \
- template<> \
- inline std::string type_definition<type>() \
- { \
- std::stringstream declaration; \
- declaration << "typedef struct __attribute__((packed)) {\n" \
- BOOST_PP_SEQ_FOR_EACH( \
- BOOST_COMPUTE_DETAIL_ADAPT_STRUCT_INSERT_MEMBER, \
- type, \
- BOOST_COMPUTE_PP_TUPLE_TO_SEQ(members) \
- ) \
- << "} " << type_name<type>() << ";\n"; \
- return declaration.str(); \
- } \
- namespace detail { \
- template<> \
- struct inject_type_impl<type> \
- { \
- void operator()(meta_kernel &kernel) \
- { \
- kernel.add_type_declaration<type>(type_definition<type>()); \
- } \
- }; \
- inline meta_kernel& operator<<(meta_kernel &k, type s) \
- { \
- return k << "(" << #name << "){" \
- BOOST_PP_SEQ_FOR_EACH_I( \
- BOOST_COMPUTE_DETAIL_ADAPT_STRUCT_STREAM_MEMBER, \
- s, \
- BOOST_COMPUTE_PP_TUPLE_TO_SEQ(members) \
- ) \
- << "}"; \
- } \
- }}}
-
-#endif // BOOST_COMPUTE_TYPES_STRUCT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/tuple.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/tuple.hpp
deleted file mode 100644
index 095bd9544..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/types/tuple.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_TYPES_TUPLE_HPP
-#define BOOST_COMPUTE_TYPES_TUPLE_HPP
-
-#include <string>
-#include <utility>
-
-#include <boost/preprocessor/enum.hpp>
-#include <boost/preprocessor/expr_if.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/tuple/tuple.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/functional/get.hpp>
-#include <boost/compute/type_traits/type_name.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-
-#ifndef BOOST_COMPUTE_NO_STD_TUPLE
-#include <tuple>
-#endif
-
-namespace boost {
-namespace compute {
-namespace detail {
-
-// meta_kernel operators for boost::tuple literals
-#define BOOST_COMPUTE_PRINT_ELEM(z, n, unused) \
- BOOST_PP_EXPR_IF(n, << ", ") \
- << kernel.make_lit(boost::get<n>(x))
-
-#define BOOST_COMPUTE_PRINT_TUPLE(z, n, unused) \
-template<BOOST_PP_ENUM_PARAMS(n, class T)> \
-inline meta_kernel& \
-operator<<(meta_kernel &kernel, \
- const boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> &x) \
-{ \
- return kernel \
- << "(" \
- << type_name<boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> >() \
- << ")" \
- << "{" \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_PRINT_ELEM, ~) \
- << "}"; \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_PRINT_TUPLE, ~)
-
-#undef BOOST_COMPUTE_PRINT_TUPLE
-#undef BOOST_COMPUTE_PRINT_ELEM
-
-// inject_type() specializations for boost::tuple
-#define BOOST_COMPUTE_INJECT_TYPE(z, n, unused) \
- kernel.inject_type<T ## n>();
-
-#define BOOST_COMPUTE_INJECT_DECL(z, n, unused) \
- << " " << type_name<T ## n>() << " v" #n ";\n"
-
-#define BOOST_COMPUTE_INJECT_IMPL(z, n, unused) \
-template<BOOST_PP_ENUM_PARAMS(n, class T)> \
-struct inject_type_impl<boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> > \
-{ \
- void operator()(meta_kernel &kernel) \
- { \
- typedef boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> tuple_type; \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_INJECT_TYPE, ~) \
- std::stringstream declaration; \
- declaration << "typedef struct {\n" \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_INJECT_DECL, ~) \
- << "} " << type_name<tuple_type>() << ";\n"; \
- kernel.add_type_declaration<tuple_type>(declaration.str()); \
- } \
-};
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_INJECT_IMPL, ~)
-
-#undef BOOST_COMPUTE_INJECT_IMPL
-#undef BOOST_COMPUTE_INJECT_DECL
-#undef BOOST_COMPUTE_INJECT_TYPE
-
-#ifdef BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-// type_name() specializations for boost::tuple (without variadic templates)
-#define BOOST_COMPUTE_PRINT_TYPE(z, n, unused) \
- + type_name<T ## n>() + "_"
-
-#define BOOST_COMPUTE_PRINT_TYPE_NAME(z, n, unused) \
-template<BOOST_PP_ENUM_PARAMS(n, class T)> \
-struct type_name_trait<boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> > \
-{ \
- static const char* value() \
- { \
- static std::string name = \
- std::string("boost_tuple_") \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_PRINT_TYPE, ~) \
- "t"; \
- return name.c_str(); \
- } \
-};
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_PRINT_TYPE_NAME, ~)
-
-#undef BOOST_COMPUTE_PRINT_TYPE_NAME
-#undef BOOST_COMPUTE_PRINT_TYPE
-
-#else
-template<size_t N, class T, class... Rest>
-struct write_tuple_type_names
-{
- void operator()(std::ostream &os)
- {
- os << type_name<T>() << "_";
- write_tuple_type_names<N-1, Rest...>()(os);
- }
-};
-
-template<class T, class... Rest>
-struct write_tuple_type_names<1, T, Rest...>
-{
- void operator()(std::ostream &os)
- {
- os << type_name<T>();
- }
-};
-
-// type_name<> specialization for boost::tuple<...> (with variadic templates)
-template<class... T>
-struct type_name_trait<boost::tuple<T...>>
-{
- static const char* value()
- {
- static std::string str = make_type_name();
-
- return str.c_str();
- }
-
- static std::string make_type_name()
- {
- typedef typename boost::tuple<T...> tuple_type;
-
- std::stringstream s;
- s << "boost_tuple_";
- write_tuple_type_names<
- boost::tuples::length<tuple_type>::value, T...
- >()(s);
- s << "_t";
- return s.str();
- }
-};
-#endif // BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-
-#ifndef BOOST_COMPUTE_NO_STD_TUPLE
-// type_name<> specialization for std::tuple<T...>
-template<class... T>
-struct type_name_trait<std::tuple<T...>>
-{
- static const char* value()
- {
- static std::string str = make_type_name();
-
- return str.c_str();
- }
-
- static std::string make_type_name()
- {
- typedef typename std::tuple<T...> tuple_type;
-
- std::stringstream s;
- s << "std_tuple_";
- write_tuple_type_names<
- std::tuple_size<tuple_type>::value, T...
- >()(s);
- s << "_t";
- return s.str();
- }
-};
-#endif // BOOST_COMPUTE_NO_STD_TUPLE
-
-// get<N>() result type specialization for boost::tuple<>
-#define BOOST_COMPUTE_GET_RESULT_TYPE(z, n, unused) \
-template<size_t N, BOOST_PP_ENUM_PARAMS(n, class T)> \
-struct get_result_type<N, boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> > \
-{ \
- typedef typename boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> T; \
- typedef typename boost::tuples::element<N, T>::type type; \
-};
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_GET_RESULT_TYPE, ~)
-
-#undef BOOST_COMPUTE_GET_RESULT_TYPE
-
-
-// get<N>() specialization for boost::tuple<>
-#define BOOST_COMPUTE_GET_N(z, n, unused) \
-template<size_t N, class Arg, BOOST_PP_ENUM_PARAMS(n, class T)> \
-inline meta_kernel& operator<<(meta_kernel &kernel, \
- const invoked_get<N, Arg, boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> > &expr) \
-{ \
- typedef typename boost::tuple<BOOST_PP_ENUM_PARAMS(n, T)> T; \
- BOOST_STATIC_ASSERT(N < size_t(boost::tuples::length<T>::value)); \
- kernel.inject_type<T>(); \
- return kernel << expr.m_arg << ".v" << uint_(N); \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_GET_N, ~)
-
-#undef BOOST_COMPUTE_GET_N
-
-} // end detail namespace
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_TYPES_TUPLE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/user_event.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/user_event.hpp
deleted file mode 100644
index a3fdba033..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/user_event.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_USER_EVENT_HPP
-#define BOOST_COMPUTE_USER_EVENT_HPP
-
-#include <boost/compute/event.hpp>
-#include <boost/compute/context.hpp>
-
-namespace boost {
-namespace compute {
-
-#if defined(CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
-/// \class user_event
-/// \brief An user-created event.
-///
-/// \opencl_version_warning{1,1}
-///
-/// \see event
-class user_event : public event
-{
-public:
- /// Creates a new user-event object.
- ///
- /// \see_opencl_ref{clCreateUserEvent}
- explicit user_event(const context &context)
- {
- cl_int error;
- m_event = clCreateUserEvent(context.get(), &error);
- if(!m_event){
- BOOST_THROW_EXCEPTION(opencl_error(error));
- }
- }
-
- /// Creates a new user-event from \p other.
- user_event(const user_event &other)
- : event(other)
- {
- }
-
- /// Copies the user-event from \p other to \c *this.
- user_event& operator=(const user_event &other)
- {
- event::operator=(other);
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new user event object from \p other.
- user_event(user_event&& other) BOOST_NOEXCEPT
- : event(std::move(other))
- {
- }
-
- /// Move-assigns the user event from \p other to \c *this.
- user_event& operator=(user_event&& other) BOOST_NOEXCEPT
- {
- event::operator=(std::move(other));
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Sets the execution status for the user-event.
- ///
- /// \see_opencl_ref{clSetUserEventStatus}
- void set_status(cl_int execution_status)
- {
- cl_int ret = clSetUserEventStatus(m_event, execution_status);
- if(ret != CL_SUCCESS){
- BOOST_THROW_EXCEPTION(opencl_error(ret));
- }
- }
-};
-#endif // CL_VERSION_1_1
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_EVENT_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility.hpp
deleted file mode 100644
index e6d1f6eab..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_HPP
-#define BOOST_COMPUTE_UTILITY_HPP
-
-#include <boost/compute/utility/dim.hpp>
-#include <boost/compute/utility/extents.hpp>
-#include <boost/compute/utility/invoke.hpp>
-#include <boost/compute/utility/program_cache.hpp>
-#include <boost/compute/utility/source.hpp>
-#include <boost/compute/utility/wait_list.hpp>
-
-#endif // BOOST_COMPUTE_UTILITY_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/dim.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/dim.hpp
deleted file mode 100644
index 210c09cf6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/dim.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_DIM_HPP
-#define BOOST_COMPUTE_UTILITY_DIM_HPP
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/utility/extents.hpp>
-
-namespace boost {
-namespace compute {
-
-#ifndef BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-/// The variadic \c dim() function provides a concise syntax for creating
-/// \ref extents objects.
-///
-/// For example,
-/// \code
-/// extents<2> region = dim(640, 480); // region == (640, 480)
-/// \endcode
-///
-/// \see \ref extents "extents<N>"
-template<class... Args>
-inline extents<sizeof...(Args)> dim(Args... args)
-{
- return extents<sizeof...(Args)>({ static_cast<size_t>(args)... });
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1800)
-// for some inexplicable reason passing one parameter to 'dim' variadic template
-// generates compile error on msvc 2013 update 4
-template<class T>
-inline extents<1> dim(T arg)
-{
- return extents<1>(static_cast<size_t>(arg));
-}
-#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1800)
-
-#else
-// dim() function definitions for non-c++11 compilers
-#define BOOST_COMPUTE_DETAIL_ASSIGN_DIM(z, n, var) \
- var[n] = BOOST_PP_CAT(e, n);
-
-#define BOOST_COMPUTE_DETAIL_DEFINE_DIM(z, n, var) \
- inline extents<n> dim(BOOST_PP_ENUM_PARAMS(n, size_t e)) \
- { \
- extents<n> exts; \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_DETAIL_ASSIGN_DIM, exts) \
- return exts; \
- }
-
-BOOST_PP_REPEAT(BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_DETAIL_DEFINE_DIM, ~)
-
-#undef BOOST_COMPUTE_DETAIL_ASSIGN_DIM
-#undef BOOST_COMPUTE_DETAIL_DEFINE_DIM
-
-#endif // BOOST_COMPUTE_NO_VARIADIC_TEMPLATES
-
-/// \internal_
-template<size_t N>
-inline extents<N> dim()
-{
- return extents<N>();
-}
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_UTILITY_DIM_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/extents.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/extents.hpp
deleted file mode 100644
index 9666d47ab..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/extents.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_EXTENTS_HPP
-#define BOOST_COMPUTE_UTILITY_EXTENTS_HPP
-
-#include <functional>
-#include <numeric>
-
-#include <boost/compute/config.hpp>
-
-#ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/array.hpp>
-
-namespace boost {
-namespace compute {
-
-/// The extents class contains an array of n-dimensional extents.
-///
-/// \see dim()
-template<size_t N>
-class extents
-{
-public:
- typedef size_t size_type;
- static const size_type static_size = N;
- typedef boost::array<size_t, N> array_type;
- typedef typename array_type::iterator iterator;
- typedef typename array_type::const_iterator const_iterator;
-
- /// Creates an extents object with each component set to zero.
- ///
- /// For example:
- /// \code
- /// extents<3> exts(); // (0, 0, 0)
- /// \endcode
- extents()
- {
- m_extents.fill(0);
- }
-
- /// Creates an extents object with each component set to \p value.
- ///
- /// For example:
- /// \code
- /// extents<3> exts(1); // (1, 1, 1)
- /// \endcode
- explicit extents(size_t value)
- {
- m_extents.fill(value);
- }
-
- #ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
- /// Creates an extents object with \p values.
- extents(std::initializer_list<size_t> values)
- {
- BOOST_ASSERT(values.size() == N);
-
- std::copy(values.begin(), values.end(), m_extents.begin());
- }
- #endif // BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-
- /// Returns the size (i.e. dimensionality) of the extents array.
- size_type size() const
- {
- return N;
- }
-
- /// Returns the linear size of the extents. This is equivalent to the
- /// product of each extent in each dimension.
- size_type linear() const
- {
- return std::accumulate(
- m_extents.begin(), m_extents.end(), 1, std::multiplies<size_type>()
- );
- }
-
- /// Returns a pointer to the extents data array.
- ///
- /// This is useful for passing the extents data to OpenCL APIs which
- /// expect an array of \c size_t.
- size_t* data()
- {
- return m_extents.data();
- }
-
- /// \overload
- const size_t* data() const
- {
- return m_extents.data();
- }
-
- iterator begin()
- {
- return m_extents.begin();
- }
-
- const_iterator begin() const
- {
- return m_extents.begin();
- }
-
- const_iterator cbegin() const
- {
- return m_extents.cbegin();
- }
-
- iterator end()
- {
- return m_extents.end();
- }
-
- const_iterator end() const
- {
- return m_extents.end();
- }
-
- const_iterator cend() const
- {
- return m_extents.cend();
- }
-
- /// Returns a reference to the extent at \p index.
- size_t& operator[](size_t index)
- {
- return m_extents[index];
- }
-
- /// \overload
- const size_t& operator[](size_t index) const
- {
- return m_extents[index];
- }
-
- /// Returns \c true if the extents in \c *this are the same as \p other.
- bool operator==(const extents &other) const
- {
- return m_extents == other.m_extents;
- }
-
- /// Returns \c true if the extents in \c *this are not the same as \p other.
- bool operator!=(const extents &other) const
- {
- return m_extents != other.m_extents;
- }
-
-private:
- array_type m_extents;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_UTILITY_EXTENTS_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/invoke.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/invoke.hpp
deleted file mode 100644
index b03162aa2..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/invoke.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://kylelutz.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_INVOKE_HPP
-#define BOOST_COMPUTE_UTILITY_INVOKE_HPP
-
-#include <boost/preprocessor/enum.hpp>
-#include <boost/preprocessor/repetition.hpp>
-
-#include <boost/compute/config.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/detail/meta_kernel.hpp>
-#include <boost/compute/container/detail/scalar.hpp>
-#include <boost/compute/type_traits/result_of.hpp>
-
-namespace boost {
-namespace compute {
-
-#define BOOST_COMPUTE_DETAIL_INVOKE_ARG(z, n, unused) \
- BOOST_PP_COMMA_IF(n) k.var<BOOST_PP_CAT(T, n)>("arg" BOOST_PP_STRINGIZE(n))
-
-#define BOOST_COMPUTE_DETAIL_INVOKE_ADD_ARG(z, n, unused) \
- k.add_set_arg("arg" BOOST_PP_STRINGIZE(n), BOOST_PP_CAT(arg, n));
-
-#define BOOST_COMPUTE_DETAIL_DEFINE_INVOKE(z, n, unused) \
-template<class Function, BOOST_PP_ENUM_PARAMS(n, class T)> \
-inline typename result_of<Function(BOOST_PP_ENUM_PARAMS(n, T))>::type \
-invoke(const Function& function, command_queue& queue, BOOST_PP_ENUM_BINARY_PARAMS(n, const T, &arg)) \
-{ \
- typedef typename result_of<Function(BOOST_PP_ENUM_PARAMS(n, T))>::type result_type; \
- detail::meta_kernel k("invoke"); \
- detail::scalar<result_type> result(queue.get_context()); \
- const size_t result_arg = k.add_arg<result_type *>(memory_object::global_memory, "result"); \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_DETAIL_INVOKE_ADD_ARG, ~) \
- k << "*result = " << function( \
- BOOST_PP_REPEAT(n, BOOST_COMPUTE_DETAIL_INVOKE_ARG, ~) \
- ) << ";"; \
- k.set_arg(result_arg, result.get_buffer()); \
- k.exec(queue); \
- return result.read(queue); \
-}
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_COMPUTE_MAX_ARITY, BOOST_COMPUTE_DETAIL_DEFINE_INVOKE, ~)
-
-#undef BOOST_COMPUTE_DETAIL_INVOKE_ARG
-#undef BOOST_COMPUTE_DETAIL_INVOKE_ADD_ARG
-#undef BOOST_COMPUTE_DETAIL_DEFINE_INVOKE
-
-#ifdef BOOST_COMPUTE_DOXYGEN_INVOKED
-/// Invokes \p function with \p args on \p queue.
-///
-/// For example, to invoke the builtin abs() function:
-/// \code
-/// int result = invoke(abs<int>(), queue, -10); // returns 10
-/// \endcode
-template<class Function, class... Args>
-inline typename result_of<Function(Args...)>::type
-invoke(const Function& function, command_queue& queue, const Args&... args);
-#endif // BOOST_COMPUTE_DOXYGEN_INVOKED
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_UTILITY_INVOKE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/program_cache.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/program_cache.hpp
deleted file mode 100644
index c80e1a3b1..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/program_cache.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_PROGRAM_CACHE_HPP
-#define BOOST_COMPUTE_UTILITY_PROGRAM_CACHE_HPP
-
-#include <string>
-#include <utility>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/make_shared.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/compute/context.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/detail/lru_cache.hpp>
-#include <boost/compute/detail/global_static.hpp>
-
-namespace boost {
-namespace compute {
-
-/// The program_cache class stores \ref program objects in a LRU cache.
-///
-/// This class can be used to help mitigate the overhead of OpenCL's run-time
-/// kernel compilation model. Commonly used programs can be stored persistently
-/// in the cache and only compiled once on their first use.
-///
-/// Program objects are stored and retreived based on a user-defined cache key
-/// along with the options used to build the program (if any).
-///
-/// For example, to insert a program into the cache:
-/// \code
-/// cache.insert("foo", foo_program);
-/// \endcode
-///
-/// And to retreive the program later:
-/// \code
-/// boost::optional<program> p = cache.get("foo");
-/// if(p){
-/// // program found in cache
-/// }
-/// \endcode
-///
-/// \see program
-class program_cache : boost::noncopyable
-{
-public:
- /// Creates a new program cache with space for \p capacity number of
- /// program objects.
- program_cache(size_t capacity)
- : m_cache(capacity)
- {
- }
-
- /// Destroys the program cache.
- ~program_cache()
- {
- }
-
- /// Returns the number of program objects currently stored in the cache.
- size_t size() const
- {
- return m_cache.size();
- }
-
- /// Returns the total capacity of the cache.
- size_t capacity() const
- {
- return m_cache.capacity();
- }
-
- /// Clears the program cache.
- void clear()
- {
- m_cache.clear();
- }
-
- /// Returns the program object with \p key. Returns a null optional if no
- /// program with \p key exists in the cache.
- boost::optional<program> get(const std::string &key)
- {
- return m_cache.get(std::make_pair(key, std::string()));
- }
-
- /// Returns the program object with \p key and \p options. Returns a null
- /// optional if no program with \p key and \p options exists in the cache.
- boost::optional<program> get(const std::string &key, const std::string &options)
- {
- return m_cache.get(std::make_pair(key, options));
- }
-
- /// Inserts \p program into the cache with \p key.
- void insert(const std::string &key, const program &program)
- {
- insert(key, std::string(), program);
- }
-
- /// Inserts \p program into the cache with \p key and \p options.
- void insert(const std::string &key, const std::string &options, const program &program)
- {
- m_cache.insert(std::make_pair(key, options), program);
- }
-
- /// Loads the program with \p key from the cache if it exists. Otherwise
- /// builds a new program with \p source and \p options, stores it in the
- /// cache, and returns it.
- ///
- /// This is a convenience function to simplify the common pattern of
- /// attempting to load a program from the cache and, if not present,
- /// building the program from source and storing it in the cache.
- ///
- /// Equivalent to:
- /// \code
- /// boost::optional<program> p = get(key, options);
- /// if(!p){
- /// p = program::create_with_source(source, context);
- /// p->build(options);
- /// insert(key, options, *p);
- /// }
- /// return *p;
- /// \endcode
- program get_or_build(const std::string &key,
- const std::string &options,
- const std::string &source,
- const context &context)
- {
- boost::optional<program> p = get(key, options);
- if(!p){
- p = program::build_with_source(source, context, options);
-
- insert(key, options, *p);
- }
- return *p;
- }
-
- /// Returns the global program cache for \p context.
- ///
- /// This global cache is used internally by Boost.Compute to store compiled
- /// program objects used by its algorithms. All Boost.Compute programs are
- /// stored with a cache key beginning with \c "__boost". User programs
- /// should avoid using the same prefix in order to prevent collisions.
- static boost::shared_ptr<program_cache> get_global_cache(const context &context)
- {
- typedef detail::lru_cache<cl_context, boost::shared_ptr<program_cache> > cache_map;
-
- BOOST_COMPUTE_DETAIL_GLOBAL_STATIC(cache_map, caches, (8));
-
- boost::optional<boost::shared_ptr<program_cache> > cache = caches.get(context.get());
- if(!cache){
- cache = boost::make_shared<program_cache>(64);
-
- caches.insert(context.get(), *cache);
- }
-
- return *cache;
- }
-
-private:
- detail::lru_cache<std::pair<std::string, std::string>, program> m_cache;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_UTILITY_PROGRAM_CACHE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/source.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/source.hpp
deleted file mode 100644
index 3b073fbc8..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/source.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_SOURCE_HPP
-#define BOOST_COMPUTE_UTILITY_SOURCE_HPP
-
-/// Stringizes OpenCL source code.
-///
-/// For example, to create a simple kernel which squares each input value:
-/// \code
-/// const char source[] = BOOST_COMPUTE_STRINGIZE_SOURCE(
-/// __kernel void square(const float *input, float *output)
-/// {
-/// const uint i = get_global_id(0);
-/// const float x = input[i];
-/// output[i] = x * x;
-/// }
-/// );
-///
-/// // create and build square program
-/// program square_program = program::build_with_source(source, context);
-///
-/// // create square kernel
-/// kernel square_kernel(square_program, "square");
-/// \endcode
-#ifdef BOOST_COMPUTE_DOXYGEN_INVOKED
-#define BOOST_COMPUTE_STRINGIZE_SOURCE(source)
-#else
-#define BOOST_COMPUTE_STRINGIZE_SOURCE(...) #__VA_ARGS__
-#endif
-
-#endif // BOOST_COMPUTE_UTILITY_SOURCE_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/wait_list.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/wait_list.hpp
deleted file mode 100644
index 8b81924d6..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/utility/wait_list.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013-2014 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_UTILITY_WAIT_LIST_HPP
-#define BOOST_COMPUTE_UTILITY_WAIT_LIST_HPP
-
-#include <vector>
-
-#include <boost/compute/config.hpp>
-
-#ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/compute/event.hpp>
-
-namespace boost {
-namespace compute {
-
-template<class T> class future;
-
-/// \class wait_list
-/// \brief Stores a list of events.
-///
-/// The wait_list class stores a set of event objects and can be used to
-/// specify dependencies for OpenCL operations or to wait on the host until
-/// all of the events have completed.
-///
-/// This class also provides convenience functions for interacting with
-/// OpenCL APIs which typically accept event dependencies as a \c cl_event*
-/// pointer and a \c cl_uint size. For example:
-/// \code
-/// wait_list events = ...;
-///
-/// clEnqueueNDRangeKernel(..., events.get_event_ptr(), events.size(), ...);
-/// \endcode
-///
-/// \see event, \ref future "future<T>"
-class wait_list
-{
-public:
- typedef std::vector<event>::iterator iterator;
- typedef std::vector<event>::const_iterator const_iterator;
-
- /// Creates an empty wait-list.
- wait_list()
- {
- }
-
- /// Creates a wait-list containing \p event.
- wait_list(const event &event)
- {
- insert(event);
- }
-
- /// Creates a new wait-list as a copy of \p other.
- wait_list(const wait_list &other)
- : m_events(other.m_events)
- {
- }
-
- #ifndef BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
- /// Creates a wait-list from \p events
- wait_list(std::initializer_list<event> events)
- : m_events(events)
- {
- }
- #endif // BOOST_COMPUTE_NO_HDR_INITIALIZER_LIST
-
- /// Copies the events in the wait-list from \p other.
- wait_list& operator=(const wait_list &other)
- {
- if(this != &other){
- m_events = other.m_events;
- }
-
- return *this;
- }
-
- #ifndef BOOST_COMPUTE_NO_RVALUE_REFERENCES
- /// Move-constructs a new wait list object from \p other.
- wait_list(wait_list&& other)
- : m_events(std::move(other.m_events))
- {
- }
-
- /// Move-assigns the wait list from \p other to \c *this.
- wait_list& operator=(wait_list&& other)
- {
- m_events = std::move(other.m_events);
-
- return *this;
- }
- #endif // BOOST_COMPUTE_NO_RVALUE_REFERENCES
-
- /// Destroys the wait-list.
- ~wait_list()
- {
- }
-
- /// Returns \c true if the wait-list is empty.
- bool empty() const
- {
- return m_events.empty();
- }
-
- /// Returns the number of events in the wait-list.
- uint_ size() const
- {
- return static_cast<uint_>(m_events.size());
- }
-
- /// Removes all of the events from the wait-list.
- void clear()
- {
- m_events.clear();
- }
-
- /// Returns a cl_event pointer to the first event in the wait-list.
- /// Returns \c 0 if the wait-list is empty.
- ///
- /// This can be used to pass the wait-list to OpenCL functions which
- /// expect a \c cl_event pointer to refer to a list of events.
- const cl_event* get_event_ptr() const
- {
- if(empty()){
- return 0;
- }
-
- return reinterpret_cast<const cl_event *>(&m_events[0]);
- }
-
- /// Reserves a minimum length of storage for the wait list object.
- void reserve(size_t new_capacity) {
- m_events.reserve(new_capacity);
- }
-
- /// Inserts \p event into the wait-list.
- void insert(const event &event)
- {
- m_events.push_back(event);
- }
-
- /// Inserts the event from \p future into the wait-list.
- template<class T>
- void insert(const future<T> &future)
- {
- insert(future.get_event());
- }
-
- /// Blocks until all of the events in the wait-list have completed.
- ///
- /// Does nothing if the wait-list is empty.
- void wait() const
- {
- if(!empty()){
- BOOST_COMPUTE_ASSERT_CL_SUCCESS(
- clWaitForEvents(size(), get_event_ptr())
- );
- }
- }
-
- /// Returns a reference to the event at specified location \p pos.
- const event& operator[](size_t pos) const {
- return m_events[pos];
- }
-
- /// Returns a reference to the event at specified location \p pos.
- event& operator[](size_t pos) {
- return m_events[pos];
- }
-
- /// Returns an iterator to the first element of the wait-list.
- iterator begin() {
- return m_events.begin();
- }
-
- /// Returns an iterator to the first element of the wait-list.
- const_iterator begin() const {
- return m_events.begin();
- }
-
- /// Returns an iterator to the first element of the wait-list.
- const_iterator cbegin() const {
- return m_events.begin();
- }
-
- /// Returns an iterator to the element following the last element of the wait-list.
- iterator end() {
- return m_events.end();
- }
-
- /// Returns an iterator to the element following the last element of the wait-list.
- const_iterator end() const {
- return m_events.end();
- }
-
- /// Returns an iterator to the element following the last element of the wait-list.
- const_iterator cend() const {
- return m_events.end();
- }
-
-private:
- std::vector<event> m_events;
-};
-
-} // end compute namespace
-} // end boost namespace
-
-#endif // BOOST_COMPUTE_UTILITY_WAIT_LIST_HPP
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/version.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/version.hpp
deleted file mode 100644
index fdf6caeea..000000000
--- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/compute/version.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//---------------------------------------------------------------------------//
-// 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_VERSION_HPP
-#define BOOST_COMPUTE_VERSION_HPP
-
-#define BOOST_COMPUTE_VERSION_MAJOR 0
-#define BOOST_COMPUTE_VERSION_MINOR 5
-#define BOOST_COMPUTE_VERSION_PATCH 0
-
-#endif // BOOST_COMPUTE_VERSION_HPP