When device is Auto (the default) then we will only consider discrete GPU's otherwise fallback to CPU.

This commit is contained in:
Adam Treat 2023-09-13 11:59:36 -04:00
parent 8f99dca70f
commit 891ddafc33

View File

@ -275,7 +275,7 @@ bool ChatLLM::loadModel(const ModelInfo &modelInfo)
if (requestedDevice != "CPU") {
const size_t requiredMemory = m_llModelInfo.model->requiredMem(filePath.toStdString());
std::vector<LLModel::GPUDevice> availableDevices = m_llModelInfo.model->availableGPUDevices(requiredMemory);
if (!availableDevices.empty() && requestedDevice == "Auto") {
if (!availableDevices.empty() && requestedDevice == "Auto" && devices.front().type == 2 /*a discrete gpu*/) {
m_llModelInfo.model->initializeGPUDevice(devices.front());
} else {
for (LLModel::GPUDevice &d : availableDevices) {