* something wrong with the machine: driver-runtime
* mismatch, all GPUs being busy in exclusive mode,
* invalid CUDA_VISIBLE_DEVICES, or some other condition
- * which should result in GROMACS issuing a warning a
- * falling back to CPUs. */
+ * which should result in GROMACS issuing at least a
+ * warning. */
errorMessage->assign(cudaGetErrorString(stat));
}
* Returns true when this is a build of \Gromacs configured to support
* GPU usage, and a valid device driver, ICD, and/or runtime was detected.
*
- * \param[out] errorMessage When returning false and non-nullptr was passed,
+ * This function is not intended to be called from build
+ * configurations that do not support GPUs, and there will be no
+ * descriptive message in that case.
+ *
+ * \param[out] errorMessage When returning false on a build configured with
+ * GPU support and non-nullptr was passed,
* the string contains a descriptive message about
* why GPUs cannot be detected.
*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
if (!gpusCanBeDetected)
{
GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
- "NOTE: GPUs cannot be detected:\n"
- " %s\n"
- " Can not use GPU acceleration, will fall back to CPU kernels.",
+ "NOTE: Detection of GPUs failed. The API reported:\n"
+ " %s\n",
+ " GROMACS cannot run tasks on a GPU.",
errorMessage.c_str());
}
}