Exemple #1
0
	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);
		}
	}
Exemple #2
0
	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;
 }