|
|
@ -275,7 +275,7 @@ bool ChatLLM::loadModel(const ModelInfo &modelInfo)
|
|
|
|
if (requestedDevice != "CPU") {
|
|
|
|
if (requestedDevice != "CPU") {
|
|
|
|
const size_t requiredMemory = m_llModelInfo.model->requiredMem(filePath.toStdString());
|
|
|
|
const size_t requiredMemory = m_llModelInfo.model->requiredMem(filePath.toStdString());
|
|
|
|
std::vector<LLModel::GPUDevice> availableDevices = m_llModelInfo.model->availableGPUDevices(requiredMemory);
|
|
|
|
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());
|
|
|
|
m_llModelInfo.model->initializeGPUDevice(devices.front());
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
for (LLModel::GPUDevice &d : availableDevices) {
|
|
|
|
for (LLModel::GPUDevice &d : availableDevices) {
|
|
|
|