#include "gmxpre.h"
+#include "config.h"
+
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
return egpuCompatible;
}
- /* Only AMD and NVIDIA GPUs are supported for now */
+ /* Only AMD, Intel, and NVIDIA GPUs are supported for now */
switch (ocl_gpu_device->vendor_e)
{
case OCL_VENDOR_NVIDIA:
return egpuCompatible;
case OCL_VENDOR_AMD:
return runningOnCompatibleOSForAmd() ? egpuCompatible : egpuIncompatible;
+ case OCL_VENDOR_INTEL:
+ return GMX_OCL_NB_CLUSTER_SIZE == 4 ? egpuCompatible : egpuIncompatibleClusterSize;
default:
return egpuIncompatible;
}
return;
}
- gmx_device_info_t *dinfo = &gpu_info.gpu_dev[index];
+ gmx_device_info_t *dinfo = &gpu_info.gpu_dev[index];
- bool bGpuExists =
- dinfo->stat == egpuCompatible ||
- dinfo->stat == egpuIncompatible;
+ bool bGpuExists = (dinfo->stat != egpuNonexistent &&
+ dinfo->stat != egpuInsane);
if (!bGpuExists)
{