StagingArrayToArrayTests() { cpu_acc = accelerator(accelerator::cpu_accelerator); gpu_acc1 = require_device_for<DATA_TYPE>(); gpu_acc2 = require_device_for<DATA_TYPE>(gpu_acc1); if(gpu_acc1.get_supports_cpu_shared_memory()) { WLog() << "Accelerator " << gpu_acc1.get_description() << " supports zero copy" << std::endl; // Set the default cpu access type for this accelerator gpu_acc1.set_default_cpu_access_type(DEF_ACCESS_TYPE1); access_types_vec.push_back(std::make_tuple(access_type_none)); access_types_vec.push_back(std::make_tuple(access_type_read)); access_types_vec.push_back(std::make_tuple(access_type_write)); access_types_vec.push_back(std::make_tuple(access_type_read_write)); } else { access_types_vec.push_back(std::make_tuple(access_type_auto)); } if(gpu_acc2.get_supports_cpu_shared_memory()) { WLog() << "Accelerator " << gpu_acc2.get_description() << " supports zero copy" << std::endl; // Set the default cpu access type for this accelerator gpu_acc2.set_default_cpu_access_type(DEF_ACCESS_TYPE2); } }
StagingArrayToStagingArrayTests() { cpu_acc = accelerator(accelerator::cpu_accelerator); gpu_acc = require_device_for<DATA_TYPE>(); if(gpu_acc.get_supports_cpu_shared_memory()) { WLog() << "Accelerator " << gpu_acc.get_description() << " supports zero copy" << std::endl; // Set the default cpu access type for this accelerator gpu_acc.set_default_cpu_access_type(DEF_ACCESS_TYPE); } }
/** ******************************************************************************** * @fn setDefaultAccelerator * @brief Set a default accelerator *******************************************************************************/ int setDefaultAccelerator() { std::vector<accelerator> allAccl = accelerator::get_all(); /************************************************************************** * if deviceID is not set, the default accelerator is AMD Readon * **************************************************************************/ if(!enableDeviceId) { for (unsigned i = 0; i < allAccl.size(); ++i) { if (allAccl[i].get_description().find(L"AMD Radeon") != std::wstring::npos || allAccl[i].get_description().find(L"ATI Radeon") != std::wstring::npos ) { deviceAccl = allAccl[i]; break; } } } else { deviceAccl = allAccl[deviceId]; } accelerator::set_default(deviceAccl.device_path); std::wcout << L"Selected accelerator : " << deviceAccl.get_description() << std::endl; if (deviceAccl == accelerator(accelerator::direct3d_ref)) { std::cout << "WARNING!! Running on very slow emulator!" << std::endl; } if(deviceAccl == accelerator(accelerator::cpu_accelerator)) { std::cout << "There is no need to run on single CPU !"<<std::endl; return SDK_FAILURE; } return SDK_SUCCESS; }