public Error Create(IntPtr globalContext, bool useOpenCL, ComputeDeviceType deviceType, int numComputeUnits) { var error = Error.None; if (useOpenCL) { error = PhononCore.iplCreateComputeDevice(globalContext, deviceType, numComputeUnits, ref device); if (error != Error.None) { throw new Exception("Unable to create OpenCL compute device (" + deviceType.ToString() + ", " + numComputeUnits.ToString() + " CUs): [" + error.ToString() + "]"); } } return(error); }
public Error Create(IntPtr globalContext, bool useOpenCL, ComputeDeviceFilter deviceFilter) { var error = Error.None; if (useOpenCL) { error = PhononCore.iplCreateComputeDevice(globalContext, deviceFilter, ref device); if (error != Error.None) { throw new Exception("Unable to create OpenCL compute device (" + deviceFilter.type.ToString() + ", " + deviceFilter.maxCUsToReserve.ToString() + " max CUs, " + deviceFilter.fractionCUsForIRUpdate.ToString("0.00") + " fraction of IR Update CUs): [" + error.ToString() + "]"); } } return(error); }