├── CMakeLists.txt ├── Contributing.md ├── LICENSE.txt ├── README.md ├── first_edition_errata.txt ├── images ├── cover_first_edition.jpg └── cover_second_edition.jpg ├── samples ├── CMakeLists.txt ├── Ch01_introduction │ ├── CMakeLists.txt │ ├── fig_1_1_hello.cpp │ ├── fig_1_2.hpp │ ├── fig_1_3_race.cpp │ ├── fig_1_4_lambda.cpp │ └── fig_1_6_functor.cpp ├── Ch02_where_code_runs │ ├── CMakeLists.txt │ ├── fig_2_10_gpu_selector.cpp │ ├── fig_2_12_multiple_selectors.cpp │ ├── fig_2_13_gpu_plus_fpga.cpp │ ├── fig_2_15_aspect_selector.cpp │ ├── fig_2_16_custom_selector.cpp │ ├── fig_2_18_simple_device_code.cpp │ ├── fig_2_19.hpp │ ├── fig_2_20.hpp │ ├── fig_2_22_simple_device_code_2.cpp │ ├── fig_2_23_host_task.cpp │ ├── fig_2_2_simple_program.cpp │ ├── fig_2_3.hpp │ ├── fig_2_4.hpp │ ├── fig_2_7_implicit_default_selector.cpp │ └── fig_2_9_cpu_selector.cpp ├── Ch03_data_management │ ├── CMakeLists.txt │ ├── fig_3_10_in_order.cpp │ ├── fig_3_11_depends_on.cpp │ ├── fig_3_13_read_after_write.cpp │ ├── fig_3_15_write_after_read_and_write_after_write.cpp │ ├── fig_3_17.hpp │ ├── fig_3_18.hpp │ ├── fig_3_4_usm_explicit_data_movement.cpp │ ├── fig_3_5_usm_implicit_data_movement.cpp │ └── fig_3_6_buffers_and_accessors.cpp ├── Ch04_expressing_parallelism │ ├── CMakeLists.txt │ ├── fig_4_1.hpp │ ├── fig_4_10.hpp │ ├── fig_4_11.hpp │ ├── fig_4_15_nd_range_matrix_multiply.cpp │ ├── fig_4_17.hpp │ ├── fig_4_18.hpp │ ├── fig_4_19.hpp │ ├── fig_4_2.hpp │ ├── fig_4_20.hpp │ ├── fig_4_21.hpp │ ├── fig_4_22.hpp │ ├── fig_4_5_vector_add.cpp │ ├── fig_4_6_matrix_add.cpp │ ├── fig_4_7_basic_matrix_multiply.cpp │ └── fig_4_9.hpp ├── Ch05_error_handling │ ├── CMakeLists.txt │ ├── fig_5_1_async_task_graph.cpp │ ├── fig_5_2_sync_error.cpp │ ├── fig_5_3_async_error.cpp │ ├── fig_5_4_unhandled_exception.cpp │ ├── fig_5_5_terminate.cpp │ ├── fig_5_6_catch_snip.cpp │ ├── fig_5_7_catch.cpp │ ├── fig_5_8_lambda_handler.cpp │ └── fig_5_9_default_handler_proxy.cpp ├── Ch06_unified_shared_memory │ ├── CMakeLists.txt │ ├── fig_6_2.hpp │ ├── fig_6_3.hpp │ ├── fig_6_4.hpp │ ├── fig_6_5_allocation_styles.cpp │ ├── fig_6_6_usm_explicit_data_movement.cpp │ ├── fig_6_7_usm_implicit_data_movement.cpp │ ├── fig_6_8_prefetch_memadvise.cpp │ └── fig_6_9_queries.cpp ├── Ch07_buffers │ ├── CMakeLists.txt │ ├── fig_7_1.hpp │ ├── fig_7_10_accessors.cpp │ ├── fig_7_2_3_4_creating_buffers.cpp │ ├── fig_7_5_buffer_properties.cpp │ └── fig_7_8_accessors_simple.cpp ├── Ch08_scheduling_kernels_and_data_movement │ ├── CMakeLists.txt │ ├── fig_8_3_linear_dependence_in_order.cpp │ ├── fig_8_4_linear_dependence_events.cpp │ ├── fig_8_5_linear_dependence_buffers.cpp │ ├── fig_8_6_y_in_order.cpp │ ├── fig_8_7_y_events.cpp │ └── fig_8_8_y_buffers.cpp ├── Ch09_communication_and_sychronization │ ├── CMakeLists.txt │ ├── fig_9_11_matmul_broadcast.cpp │ ├── fig_9_12_ndrange_sub_group_matmul.cpp │ ├── fig_9_4_naive_matmul.cpp │ ├── fig_9_7_local_accessors.cpp │ ├── fig_9_8_ndrange_tiled_matmul.cpp │ ├── fig_9_9_sub_group_barrier.cpp │ └── matmul_harness.cpp ├── Ch10_defining_kernels │ ├── CMakeLists.txt │ ├── fig_10_10_kernel_query.cpp │ ├── fig_10_2_kernel_lambda.cpp │ ├── fig_10_3_optional_kernel_lambda_elements.cpp │ ├── fig_10_4_named_kernel_lambda.cpp │ ├── fig_10_5_unnamed_kernel_lambda.cpp │ ├── fig_10_6_kernel_functor.cpp │ ├── fig_10_7_optional_kernel_functor_elements.cpp │ ├── fig_10_8_use_kernel_bundle.cpp │ └── fig_10_9_use_specific_kernel_bundle.cpp ├── Ch11_vectors_and_math_arrays │ ├── CMakeLists.txt │ ├── fig_11_10.hpp │ ├── fig_11_2_marray.cpp │ ├── fig_11_3.hpp │ ├── fig_11_4_load_store.cpp │ ├── fig_11_5.hpp │ ├── fig_11_6_swizzle_vec.cpp │ └── fig_11_7_vector_exec.cpp ├── Ch12_device_information_and_kernel_specialization │ ├── CMakeLists.txt │ ├── fig_12_10_specialize.cpp │ ├── fig_12_1_assigned_device.cpp │ ├── fig_12_2_try_catch.cpp │ ├── fig_12_4_device_selector.cpp │ ├── fig_12_5_curious.cpp │ ├── fig_12_7_very_curious.cpp │ ├── fig_12_8_invocation_parameters.cpp │ └── tst_12_4_device_selector.cpp ├── Ch13_practical_tips │ ├── CMakeLists.txt │ ├── fig_13_10_common_pattern_bug.cpp │ ├── fig_13_11_host_accessor.cpp │ ├── fig_13_12_host_accessor_for_init.cpp │ ├── fig_13_13_host_accessor_deadlock.cpp │ ├── fig_13_4_stream.cpp │ ├── fig_13_6_queue_profiling_timing.cpp │ └── fig_13_9_common_buffer_pattern.cpp ├── Ch14_common_parallel_patterns │ ├── CMakeLists.txt │ ├── fig_14_10.hpp │ ├── fig_14_11_array_reduction.cpp │ ├── fig_14_12_user_defined_reduction.cpp │ ├── fig_14_13_algorithm_comparison.cpp │ ├── fig_14_15_map.cpp │ ├── fig_14_16_stencil.cpp │ ├── fig_14_17_local_stencil.cpp │ ├── fig_14_18_basic_reduction.cpp │ ├── fig_14_19_nd_range_reduction.cpp │ ├── fig_14_20-22_inclusive_scan.cpp │ ├── fig_14_23.hpp │ ├── fig_14_24_local_pack.cpp │ ├── fig_14_25.hpp │ ├── fig_14_26_local_unpack.cpp │ ├── fig_14_8_one_reduction.cpp │ └── fig_14_9.hpp ├── Ch15_programming_for_gpus │ ├── CMakeLists.txt │ ├── fig_15_10_divergent_control_flow.cpp │ ├── fig_15_12_small_work_group_matrix_multiplication.cpp │ ├── fig_15_18_columns_matrix_multiplication.cpp │ ├── fig_15_3_single_task_matrix_multiplication.cpp │ ├── fig_15_5_somewhat_parallel_matrix_multiplication.cpp │ ├── fig_15_7_more_parallel_matrix_multiplication.cpp │ └── matrix_multiplication_harness.cpp ├── Ch16_programming_for_cpus │ ├── CMakeLists.txt │ ├── fig_16_10.hpp │ ├── fig_16_12_forward_dep.cpp │ ├── fig_16_15.hpp │ ├── fig_16_16.hpp │ ├── fig_16_17pre.hpp │ ├── fig_16_18_vector_swizzle.cpp │ ├── fig_16_2.hpp │ ├── fig_16_4.hpp │ ├── fig_16_5.hpp │ └── fig_16_6_stream_triad.cpp ├── Ch17_programming_for_fpgas │ ├── CMakeLists.txt │ ├── fig_17_11_fpga_emulator_selector.cpp │ ├── fig_17_17_ndrange_func.cpp │ ├── fig_17_18_loop_func.cpp │ ├── fig_17_20_loop_carried_deps.cpp │ ├── fig_17_22_loop_carried_state.cpp │ ├── fig_17_31_inter_kernel_pipe.cpp │ ├── fig_17_32.hpp │ ├── fig_17_33.hpp │ └── fig_17_9_fpga_selector.cpp ├── Ch18_libraries │ ├── CMakeLists.txt │ ├── fig_18_10_pstl_usm.cpp │ ├── fig_18_1_builtin.cpp │ ├── fig_18_2_swap.cpp │ ├── fig_18_5.hpp │ ├── fig_18_6_std_fill.cpp │ ├── fig_18_7_std_fill_default_policy.cpp │ ├── fig_18_8_binary_search.cpp │ └── fig_18_9_pstl_usm_device.cpp ├── Ch19_memory_model_and_atomics │ ├── CMakeLists.txt │ ├── fig_19_11.hpp │ ├── fig_19_12.hpp │ ├── fig_19_13.hpp │ ├── fig_19_14.hpp │ ├── fig_19_15_buffer_and_atomic_ref.cpp │ ├── fig_19_16_usm_and_atomic_ref.cpp │ ├── fig_19_17_histogram.cpp │ ├── fig_19_18-19_device_latch.cpp │ ├── fig_19_3_data_race.cpp │ ├── fig_19_6_avoid_data_race_with_barrier.cpp │ └── fig_19_7_avoid_data_race_with_atomics.cpp ├── Ch20_backend_interoperability │ ├── CMakeLists.txt │ ├── fig_20_10_level_zero_kernel_interop.cpp │ ├── fig_20_11_filter_selector.cpp │ ├── fig_20_2_querying_backends.cpp │ ├── fig_20_3_opencl_to_sycl.cpp │ ├── fig_20_4_level_zero_to_sycl.cpp │ ├── fig_20_5_sycl_to_opencl.cpp │ ├── fig_20_6_sycl_to_level_zero.cpp │ ├── fig_20_7_interop_handle_opencl.cpp │ ├── fig_20_8_interop_handle_level_zero.cpp │ └── fig_20_9_opencl_kernel_interop.cpp ├── Ch21_migrating_cuda_code │ ├── CMakeLists.txt │ ├── fig_21_10_reverse.cu │ ├── fig_21_13-14_reverse_migrated.cpp │ ├── fig_21_1_basicsycl.cpp │ ├── fig_21_2_basiccuda.cu │ ├── fig_21_4-6_walkorder.cu │ ├── fig_21_5_walkorder.cpp │ ├── fig_21_7_possible_deadlock.cpp │ ├── fig_21_8_barriers.cpp │ └── fig_21_9_atomics.cpp └── Epilogue_future_direction_of_sycl │ ├── fig_ep_1_mdspan.cpp │ ├── fig_ep_2.hpp │ └── fig_ep_3_device_constexpr.cpp └── second_edition_errata.txt /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/Contributing.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/README.md -------------------------------------------------------------------------------- /first_edition_errata.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/first_edition_errata.txt -------------------------------------------------------------------------------- /images/cover_first_edition.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/images/cover_first_edition.jpg -------------------------------------------------------------------------------- /images/cover_second_edition.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/images/cover_second_edition.jpg -------------------------------------------------------------------------------- /samples/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch01_introduction/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch01_introduction/fig_1_1_hello.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/fig_1_1_hello.cpp -------------------------------------------------------------------------------- /samples/Ch01_introduction/fig_1_2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/fig_1_2.hpp -------------------------------------------------------------------------------- /samples/Ch01_introduction/fig_1_3_race.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/fig_1_3_race.cpp -------------------------------------------------------------------------------- /samples/Ch01_introduction/fig_1_4_lambda.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/fig_1_4_lambda.cpp -------------------------------------------------------------------------------- /samples/Ch01_introduction/fig_1_6_functor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch01_introduction/fig_1_6_functor.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_10_gpu_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_10_gpu_selector.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_12_multiple_selectors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_12_multiple_selectors.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_13_gpu_plus_fpga.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_13_gpu_plus_fpga.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_15_aspect_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_15_aspect_selector.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_16_custom_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_16_custom_selector.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_18_simple_device_code.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_18_simple_device_code.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_19.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_19.hpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_20.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_20.hpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_22_simple_device_code_2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_22_simple_device_code_2.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_23_host_task.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_23_host_task.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_2_simple_program.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_2_simple_program.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_3.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_3.hpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_4.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_4.hpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_7_implicit_default_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_7_implicit_default_selector.cpp -------------------------------------------------------------------------------- /samples/Ch02_where_code_runs/fig_2_9_cpu_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch02_where_code_runs/fig_2_9_cpu_selector.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_10_in_order.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_10_in_order.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_11_depends_on.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_11_depends_on.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_13_read_after_write.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_13_read_after_write.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_15_write_after_read_and_write_after_write.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_15_write_after_read_and_write_after_write.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_17.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_17.hpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_18.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_18.hpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_4_usm_explicit_data_movement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_4_usm_explicit_data_movement.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_5_usm_implicit_data_movement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_5_usm_implicit_data_movement.cpp -------------------------------------------------------------------------------- /samples/Ch03_data_management/fig_3_6_buffers_and_accessors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch03_data_management/fig_3_6_buffers_and_accessors.cpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_1.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_1.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_10.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_10.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_11.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_11.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_15_nd_range_matrix_multiply.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_15_nd_range_matrix_multiply.cpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_17.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_17.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_18.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_18.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_19.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_19.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_2.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_20.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_20.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_21.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_21.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_22.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_22.hpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_5_vector_add.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_5_vector_add.cpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_6_matrix_add.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_6_matrix_add.cpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_7_basic_matrix_multiply.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_7_basic_matrix_multiply.cpp -------------------------------------------------------------------------------- /samples/Ch04_expressing_parallelism/fig_4_9.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch04_expressing_parallelism/fig_4_9.hpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_1_async_task_graph.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_1_async_task_graph.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_2_sync_error.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_2_sync_error.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_3_async_error.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_3_async_error.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_4_unhandled_exception.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_4_unhandled_exception.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_5_terminate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_5_terminate.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_6_catch_snip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_6_catch_snip.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_7_catch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_7_catch.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_8_lambda_handler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_8_lambda_handler.cpp -------------------------------------------------------------------------------- /samples/Ch05_error_handling/fig_5_9_default_handler_proxy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch05_error_handling/fig_5_9_default_handler_proxy.cpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_2.hpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_3.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_3.hpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_4.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_4.hpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_5_allocation_styles.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_5_allocation_styles.cpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_6_usm_explicit_data_movement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_6_usm_explicit_data_movement.cpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_7_usm_implicit_data_movement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_7_usm_implicit_data_movement.cpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_8_prefetch_memadvise.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_8_prefetch_memadvise.cpp -------------------------------------------------------------------------------- /samples/Ch06_unified_shared_memory/fig_6_9_queries.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch06_unified_shared_memory/fig_6_9_queries.cpp -------------------------------------------------------------------------------- /samples/Ch07_buffers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch07_buffers/fig_7_1.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/fig_7_1.hpp -------------------------------------------------------------------------------- /samples/Ch07_buffers/fig_7_10_accessors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/fig_7_10_accessors.cpp -------------------------------------------------------------------------------- /samples/Ch07_buffers/fig_7_2_3_4_creating_buffers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/fig_7_2_3_4_creating_buffers.cpp -------------------------------------------------------------------------------- /samples/Ch07_buffers/fig_7_5_buffer_properties.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/fig_7_5_buffer_properties.cpp -------------------------------------------------------------------------------- /samples/Ch07_buffers/fig_7_8_accessors_simple.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch07_buffers/fig_7_8_accessors_simple.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_3_linear_dependence_in_order.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_3_linear_dependence_in_order.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_4_linear_dependence_events.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_4_linear_dependence_events.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_5_linear_dependence_buffers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_5_linear_dependence_buffers.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_6_y_in_order.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_6_y_in_order.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_7_y_events.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_7_y_events.cpp -------------------------------------------------------------------------------- /samples/Ch08_scheduling_kernels_and_data_movement/fig_8_8_y_buffers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch08_scheduling_kernels_and_data_movement/fig_8_8_y_buffers.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_11_matmul_broadcast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_11_matmul_broadcast.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_12_ndrange_sub_group_matmul.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_12_ndrange_sub_group_matmul.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_4_naive_matmul.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_4_naive_matmul.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_7_local_accessors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_7_local_accessors.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_8_ndrange_tiled_matmul.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_8_ndrange_tiled_matmul.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/fig_9_9_sub_group_barrier.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/fig_9_9_sub_group_barrier.cpp -------------------------------------------------------------------------------- /samples/Ch09_communication_and_sychronization/matmul_harness.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch09_communication_and_sychronization/matmul_harness.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_10_kernel_query.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_10_kernel_query.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_2_kernel_lambda.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_2_kernel_lambda.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_3_optional_kernel_lambda_elements.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_3_optional_kernel_lambda_elements.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_4_named_kernel_lambda.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_4_named_kernel_lambda.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_5_unnamed_kernel_lambda.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_5_unnamed_kernel_lambda.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_6_kernel_functor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_6_kernel_functor.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_7_optional_kernel_functor_elements.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_7_optional_kernel_functor_elements.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_8_use_kernel_bundle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_8_use_kernel_bundle.cpp -------------------------------------------------------------------------------- /samples/Ch10_defining_kernels/fig_10_9_use_specific_kernel_bundle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch10_defining_kernels/fig_10_9_use_specific_kernel_bundle.cpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_10.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_10.hpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_2_marray.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_2_marray.cpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_3.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_3.hpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_4_load_store.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_4_load_store.cpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_5.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_5.hpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_6_swizzle_vec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_6_swizzle_vec.cpp -------------------------------------------------------------------------------- /samples/Ch11_vectors_and_math_arrays/fig_11_7_vector_exec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch11_vectors_and_math_arrays/fig_11_7_vector_exec.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_10_specialize.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_10_specialize.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_1_assigned_device.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_1_assigned_device.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_2_try_catch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_2_try_catch.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_4_device_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_4_device_selector.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_5_curious.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_5_curious.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_7_very_curious.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_7_very_curious.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/fig_12_8_invocation_parameters.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/fig_12_8_invocation_parameters.cpp -------------------------------------------------------------------------------- /samples/Ch12_device_information_and_kernel_specialization/tst_12_4_device_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch12_device_information_and_kernel_specialization/tst_12_4_device_selector.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_10_common_pattern_bug.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_10_common_pattern_bug.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_11_host_accessor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_11_host_accessor.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_12_host_accessor_for_init.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_12_host_accessor_for_init.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_13_host_accessor_deadlock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_13_host_accessor_deadlock.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_4_stream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_4_stream.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_6_queue_profiling_timing.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_6_queue_profiling_timing.cpp -------------------------------------------------------------------------------- /samples/Ch13_practical_tips/fig_13_9_common_buffer_pattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch13_practical_tips/fig_13_9_common_buffer_pattern.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_10.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_10.hpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_11_array_reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_11_array_reduction.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_12_user_defined_reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_12_user_defined_reduction.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_13_algorithm_comparison.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_13_algorithm_comparison.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_15_map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_15_map.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_16_stencil.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_16_stencil.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_17_local_stencil.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_17_local_stencil.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_18_basic_reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_18_basic_reduction.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_19_nd_range_reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_19_nd_range_reduction.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_20-22_inclusive_scan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_20-22_inclusive_scan.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_23.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_23.hpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_24_local_pack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_24_local_pack.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_25.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_25.hpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_26_local_unpack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_26_local_unpack.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_8_one_reduction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_8_one_reduction.cpp -------------------------------------------------------------------------------- /samples/Ch14_common_parallel_patterns/fig_14_9.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch14_common_parallel_patterns/fig_14_9.hpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_10_divergent_control_flow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_10_divergent_control_flow.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_12_small_work_group_matrix_multiplication.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_12_small_work_group_matrix_multiplication.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_18_columns_matrix_multiplication.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_18_columns_matrix_multiplication.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_3_single_task_matrix_multiplication.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_3_single_task_matrix_multiplication.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_5_somewhat_parallel_matrix_multiplication.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_5_somewhat_parallel_matrix_multiplication.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/fig_15_7_more_parallel_matrix_multiplication.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/fig_15_7_more_parallel_matrix_multiplication.cpp -------------------------------------------------------------------------------- /samples/Ch15_programming_for_gpus/matrix_multiplication_harness.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch15_programming_for_gpus/matrix_multiplication_harness.cpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_10.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_10.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_12_forward_dep.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_12_forward_dep.cpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_15.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_15.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_16.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_16.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_17pre.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_17pre.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_18_vector_swizzle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_18_vector_swizzle.cpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_2.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_4.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_4.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_5.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_5.hpp -------------------------------------------------------------------------------- /samples/Ch16_programming_for_cpus/fig_16_6_stream_triad.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch16_programming_for_cpus/fig_16_6_stream_triad.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_11_fpga_emulator_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_11_fpga_emulator_selector.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_17_ndrange_func.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_17_ndrange_func.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_18_loop_func.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_18_loop_func.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_20_loop_carried_deps.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_20_loop_carried_deps.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_22_loop_carried_state.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_22_loop_carried_state.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_31_inter_kernel_pipe.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_31_inter_kernel_pipe.cpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_32.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_32.hpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_33.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_33.hpp -------------------------------------------------------------------------------- /samples/Ch17_programming_for_fpgas/fig_17_9_fpga_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch17_programming_for_fpgas/fig_17_9_fpga_selector.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_10_pstl_usm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_10_pstl_usm.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_1_builtin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_1_builtin.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_2_swap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_2_swap.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_5.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_5.hpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_6_std_fill.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_6_std_fill.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_7_std_fill_default_policy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_7_std_fill_default_policy.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_8_binary_search.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_8_binary_search.cpp -------------------------------------------------------------------------------- /samples/Ch18_libraries/fig_18_9_pstl_usm_device.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch18_libraries/fig_18_9_pstl_usm_device.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_11.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_11.hpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_12.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_12.hpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_13.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_13.hpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_14.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_14.hpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_15_buffer_and_atomic_ref.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_15_buffer_and_atomic_ref.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_16_usm_and_atomic_ref.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_16_usm_and_atomic_ref.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_17_histogram.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_17_histogram.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_18-19_device_latch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_18-19_device_latch.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_3_data_race.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_3_data_race.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_6_avoid_data_race_with_barrier.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_6_avoid_data_race_with_barrier.cpp -------------------------------------------------------------------------------- /samples/Ch19_memory_model_and_atomics/fig_19_7_avoid_data_race_with_atomics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch19_memory_model_and_atomics/fig_19_7_avoid_data_race_with_atomics.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_10_level_zero_kernel_interop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_10_level_zero_kernel_interop.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_11_filter_selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_11_filter_selector.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_2_querying_backends.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_2_querying_backends.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_3_opencl_to_sycl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_3_opencl_to_sycl.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_4_level_zero_to_sycl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_4_level_zero_to_sycl.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_5_sycl_to_opencl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_5_sycl_to_opencl.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_6_sycl_to_level_zero.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_6_sycl_to_level_zero.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_7_interop_handle_opencl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_7_interop_handle_opencl.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_8_interop_handle_level_zero.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_8_interop_handle_level_zero.cpp -------------------------------------------------------------------------------- /samples/Ch20_backend_interoperability/fig_20_9_opencl_kernel_interop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch20_backend_interoperability/fig_20_9_opencl_kernel_interop.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/CMakeLists.txt -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_10_reverse.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_10_reverse.cu -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_13-14_reverse_migrated.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_13-14_reverse_migrated.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_1_basicsycl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_1_basicsycl.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_2_basiccuda.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_2_basiccuda.cu -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_4-6_walkorder.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_4-6_walkorder.cu -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_5_walkorder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_5_walkorder.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_7_possible_deadlock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_7_possible_deadlock.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_8_barriers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_8_barriers.cpp -------------------------------------------------------------------------------- /samples/Ch21_migrating_cuda_code/fig_21_9_atomics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Ch21_migrating_cuda_code/fig_21_9_atomics.cpp -------------------------------------------------------------------------------- /samples/Epilogue_future_direction_of_sycl/fig_ep_1_mdspan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Epilogue_future_direction_of_sycl/fig_ep_1_mdspan.cpp -------------------------------------------------------------------------------- /samples/Epilogue_future_direction_of_sycl/fig_ep_2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Epilogue_future_direction_of_sycl/fig_ep_2.hpp -------------------------------------------------------------------------------- /samples/Epilogue_future_direction_of_sycl/fig_ep_3_device_constexpr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/samples/Epilogue_future_direction_of_sycl/fig_ep_3_device_constexpr.cpp -------------------------------------------------------------------------------- /second_edition_errata.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/data-parallel-CPP/HEAD/second_edition_errata.txt --------------------------------------------------------------------------------