bool GpuAccView1ToGpuAccView2() { accelerator_view cpu_av1 = cpu_acc.get_default_view(); accelerator_view stg_arr_av1 = gpu_acc.get_default_view(); accelerator_view cpu_av2 = cpu_acc.get_default_view(); accelerator_view stg_arr_av2 = gpu_acc.create_view(); return CopyAndVerifyFromStagingArrayToStagingArray<DATA_TYPE, RANK>(cpu_av1, stg_arr_av1, cpu_av2, stg_arr_av2); }
runall_result test10(accelerator& device) { array<int, 1> arr1(64, device.get_default_view(), ACCESS_TYPE); array<int, 2> arr2(64, 64, device.get_default_view(), ACCESS_TYPE); array<int, 3> arr3(64, 64, 64, device.get_default_view(), ACCESS_TYPE); runall_result res; res &= REPORT_RESULT(VerifyCpuAccessType(arr1, ACCESS_TYPE)); res &= REPORT_RESULT(VerifyCpuAccessType(arr2, ACCESS_TYPE)); res &= REPORT_RESULT(VerifyCpuAccessType(arr3, ACCESS_TYPE)); return res; }
runall_result Gpu1AccViewToGpu2AccView() { accelerator_view gpu_av1 = gpu_acc1.get_default_view(); accelerator_view gpu_av2 = gpu_acc2.get_default_view(); runall_result res; for(auto a_t_tuple : access_types_vec) { print_access_type_tuple(a_t_tuple); res &= CopyAndVerifyFromArrayToNonContiguousArrayView<DATA_TYPE, RANK>(gpu_av1, gpu_av2, std::get<0>(a_t_tuple), std::get<1>(a_t_tuple), std::get<0>(a_t_tuple)); } return res; }
runall_result CpuAccViewToGpuAccView() { accelerator_view cpu_av = cpu_acc.get_default_view(); accelerator_view gpu_av = gpu_acc.get_default_view(); runall_result res; for(auto a_t_tuple : access_types_vec) { print_access_type_tuple(a_t_tuple); res &= CopyAndVerifyFromNonContigArrayViewConstToArray<DATA_TYPE, RANK>(cpu_av, gpu_av, std::get<0>(a_t_tuple), std::get<1>(a_t_tuple)); } return res; }
runall_result test9(accelerator& device) { extent<2> arr_extent = CreateRandomExtent<2>(64); array<float, 2> arr(arr_extent, device.get_default_view(), ACCESS_TYPE); return REPORT_RESULT(VerifyCpuAccessType(arr, ACCESS_TYPE)); }
runall_result Gpu1AccViewToGpu2AccView() { accelerator_view cpu_av = cpu_acc.get_default_view(); accelerator_view arr_av = gpu_acc1.get_default_view(); accelerator_view stg_arr_av = gpu_acc2.get_default_view(); runall_result res; for(auto a_t_tuple : access_types_vec) { print_access_type_tuple(a_t_tuple); res &= CopyAndVerifyFromStagingArrayToArray<DATA_TYPE, RANK>(cpu_av, arr_av, stg_arr_av, std::get<0>(a_t_tuple)); } return res; }
runall_result test12(accelerator& device) { extent<2> arr_extent = CreateRandomExtent<2>(64); std::vector<int> cont(arr_extent.size(), 10); array<int, 2> arr(arr_extent, cont.begin(), cont.end(), device.get_default_view(), ACCESS_TYPE); return REPORT_RESULT(VerifyCpuAccessType(arr, ACCESS_TYPE)); }
runall_result test14(accelerator& device) { std::vector<int> cont1(64, 10); array<int, 1> arr1(64, cont1.begin(), cont1.end(), device.get_default_view(), ACCESS_TYPE); std::vector<int> cont2(64 * 64, 10); array<int, 2> arr2(64, 64, cont2.begin(), cont2.end(), device.get_default_view(), ACCESS_TYPE); std::vector<int> cont3(64 * 64 * 64, 10); array<int, 3> arr3(64, 64, 64, cont3.begin(), cont3.end(), device.get_default_view(), ACCESS_TYPE); runall_result res; res &= REPORT_RESULT(VerifyCpuAccessType(arr1, ACCESS_TYPE)); res &= REPORT_RESULT(VerifyCpuAccessType(arr2, ACCESS_TYPE)); res &= REPORT_RESULT(VerifyCpuAccessType(arr3, ACCESS_TYPE)); return res; }
runall_result test8(accelerator& device) { extent<2> arr_extent = CreateRandomExtent<2>(64); array_view<int , 2> arr_v(arr_extent); array_view<const int, 2> arr_v_c(arr_v); array<int, 2> arr(arr_v_c, device.get_default_view(), ACCESS_TYPE); return REPORT_RESULT(VerifyCpuAccessType(arr, ACCESS_TYPE)); }