diff --git a/extensions/engine-management-extension/src/utils.ts b/extensions/engine-management-extension/src/utils.ts index 669ad9316..30d482313 100644 --- a/extensions/engine-management-extension/src/utils.ts +++ b/extensions/engine-management-extension/src/utils.ts @@ -25,10 +25,10 @@ const os = (settings?: GpuSetting): string => { return PLATFORM === 'win32' ? 'windows-amd64' : PLATFORM === 'darwin' - ? settings?.cpu?.arch === 'arm64' - ? 'mac-arm64' - : 'mac-amd64' - : 'linux-amd64' + ? settings?.cpu?.arch === 'arm64' + ? 'mac-arm64' + : 'mac-amd64' + : 'linux-amd64' } /** @@ -65,21 +65,22 @@ export const engineVariant = async ( // There is no need to append the variant extension for mac if (platform.startsWith('mac')) return platform - let engineVariant = [ - platform, - gpuSetting?.vulkan - ? 'vulkan' - : (gpuRunMode(gpuSetting) === 'cuda' && // GPU mode - packaged CUDA variants of avx2 and noavx - gpuSetting.cpu.instructions.some((inst) => inst === 'avx2')) || - gpuSetting.cpu.instructions.some((inst) => inst === 'avx512') - ? 'avx2' - : 'noavx', - gpuRunMode(gpuSetting), - cudaVersion(gpuSetting), - ] - .filter((e) => !!e) - .join('-') + let engineVariant = + gpuSetting?.vulkan || gpuSetting.gpus.some((e) => !e.additional_information) + ? [platform, 'vulkan'] + : [ + platform, + gpuRunMode(gpuSetting) === 'cuda' && + (gpuSetting.cpu.instructions.includes('avx2') || + gpuSetting.cpu.instructions.includes('avx512')) + ? 'avx2' + : 'noavx', + gpuRunMode(gpuSetting), + cudaVersion(gpuSetting), + ].filter(Boolean) // Remove any falsy values - log(`[CORTEX]: Engine variant: ${engineVariant}`) - return engineVariant + let engineVariantString = engineVariant.join('-') + + log(`[CORTEX]: Engine variant: ${engineVariantString}`) + return engineVariantString } diff --git a/web/screens/Settings/Hardware/index.tsx b/web/screens/Settings/Hardware/index.tsx index cd9c302db..4bd0e9fce 100644 --- a/web/screens/Settings/Hardware/index.tsx +++ b/web/screens/Settings/Hardware/index.tsx @@ -50,9 +50,9 @@ const Hardware = () => { } // Handle switch toggle for GPU activation - const handleSwitchChange = async (index: number, isActive: boolean) => { - const updatedGpus = gpus.map((gpu, i) => - i === index ? { ...gpu, activated: isActive } : gpu + const handleSwitchChange = async (id: string, isActive: boolean) => { + const updatedGpus = gpus.map((gpu) => + gpu.id === id ? { ...gpu, activated: isActive } : gpu ) setGpus(updatedGpus) // Call the API to update the active GPUs @@ -282,7 +282,10 @@ const Hardware = () => { - handleSwitchChange(i, e.target.checked) + handleSwitchChange( + item.id, + e.target.checked + ) } />