fix: file symlink does not work on windows for cuda dependencies
This commit is contained in:
parent
a4649fa9cc
commit
687b034b06
@ -19,8 +19,8 @@ call .\node_modules\.bin\download %DOWNLOAD_URL%-avx.tar.gz -e --strip 1 -o %SHA
|
|||||||
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx2.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx2/v%ENGINE_VERSION%
|
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx2.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx2/v%ENGINE_VERSION%
|
||||||
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx512.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx512/v%ENGINE_VERSION%
|
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx512.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx512/v%ENGINE_VERSION%
|
||||||
call .\node_modules\.bin\download %DOWNLOAD_URL%-vulkan.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-vulkan/v%ENGINE_VERSION%
|
call .\node_modules\.bin\download %DOWNLOAD_URL%-vulkan.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-vulkan/v%ENGINE_VERSION%
|
||||||
call .\node_modules\.bin\download %CUDA_DOWNLOAD_URL%/cuda-12-0-windows-amd64.tar.gz -e --strip 1 -o %SHARED_PATH%
|
call .\node_modules\.bin\download %CUDA_DOWNLOAD_URL%/cuda-12-0-windows-amd64.tar.gz -e --strip 1 -o %BIN_PATH%
|
||||||
call .\node_modules\.bin\download %CUDA_DOWNLOAD_URL%/cuda-11-7-windows-amd64.tar.gz -e --strip 1 -o %SHARED_PATH%
|
call .\node_modules\.bin\download %CUDA_DOWNLOAD_URL%/cuda-11-7-windows-amd64.tar.gz -e --strip 1 -o %BIN_PATH%
|
||||||
|
|
||||||
move %BIN_PATH%\cortex-server-beta.exe %BIN_PATH%\cortex-server.exe
|
move %BIN_PATH%\cortex-server-beta.exe %BIN_PATH%\cortex-server.exe
|
||||||
del %BIN_PATH%\cortex-beta.exe
|
del %BIN_PATH%\cortex-beta.exe
|
||||||
|
|||||||
@ -6,6 +6,7 @@ ENGINE_VERSION=0.1.46
|
|||||||
CORTEX_RELEASE_URL="https://github.com/janhq/cortex.cpp/releases/download"
|
CORTEX_RELEASE_URL="https://github.com/janhq/cortex.cpp/releases/download"
|
||||||
ENGINE_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}/cortex.llamacpp-${ENGINE_VERSION}"
|
ENGINE_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}/cortex.llamacpp-${ENGINE_VERSION}"
|
||||||
CUDA_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}"
|
CUDA_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}"
|
||||||
|
BIN_PATH=./bin
|
||||||
SHARED_PATH="../../electron/shared"
|
SHARED_PATH="../../electron/shared"
|
||||||
# Detect platform
|
# Detect platform
|
||||||
OS_TYPE=$(uname)
|
OS_TYPE=$(uname)
|
||||||
@ -28,8 +29,8 @@ if [ "$OS_TYPE" == "Linux" ]; then
|
|||||||
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-noavx-cuda-12-0.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-noavx-cuda-12-0/v${ENGINE_VERSION}" 1
|
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-noavx-cuda-12-0.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-noavx-cuda-12-0/v${ENGINE_VERSION}" 1
|
||||||
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-noavx-cuda-11-7.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-noavx-cuda-11-7/v${ENGINE_VERSION}" 1
|
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-noavx-cuda-11-7.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-noavx-cuda-11-7/v${ENGINE_VERSION}" 1
|
||||||
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-vulkan.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-vulkan/v${ENGINE_VERSION}" 1
|
download "${ENGINE_DOWNLOAD_URL}-linux-amd64-vulkan.tar.gz" -e --strip 1 -o "${SHARED_PATH}/engines/cortex.llamacpp/linux-amd64-vulkan/v${ENGINE_VERSION}" 1
|
||||||
download "${CUDA_DOWNLOAD_URL}/cuda-12-0-linux-amd64.tar.gz" -e --strip 1 -o "${SHARED_PATH}" 1
|
download "${CUDA_DOWNLOAD_URL}/cuda-12-0-linux-amd64.tar.gz" -e --strip 1 -o "${BIN_PATH}" 1
|
||||||
download "${CUDA_DOWNLOAD_URL}/cuda-11-7-linux-amd64.tar.gz" -e --strip 1 -o "${SHARED_PATH}" 1
|
download "${CUDA_DOWNLOAD_URL}/cuda-11-7-linux-amd64.tar.gz" -e --strip 1 -o "${BIN_PATH}" 1
|
||||||
|
|
||||||
elif [ "$OS_TYPE" == "Darwin" ]; then
|
elif [ "$OS_TYPE" == "Darwin" ]; then
|
||||||
# macOS downloads
|
# macOS downloads
|
||||||
|
|||||||
@ -23,7 +23,6 @@ function run(systemInfo?: SystemInformation): Promise<any> {
|
|||||||
let gpuVisibleDevices = systemInfo?.gpuSetting?.gpus_in_use.join(',') ?? ''
|
let gpuVisibleDevices = systemInfo?.gpuSetting?.gpus_in_use.join(',') ?? ''
|
||||||
let binaryName = `cortex-server${process.platform === 'win32' ? '.exe' : ''}`
|
let binaryName = `cortex-server${process.platform === 'win32' ? '.exe' : ''}`
|
||||||
const binPath = path.join(__dirname, '..', 'bin')
|
const binPath = path.join(__dirname, '..', 'bin')
|
||||||
await createEngineSymlinks(binPath)
|
|
||||||
|
|
||||||
const executablePath = path.join(binPath, binaryName)
|
const executablePath = path.join(binPath, binaryName)
|
||||||
const sharedPath = path.join(appResourcePath(), 'shared')
|
const sharedPath = path.join(appResourcePath(), 'shared')
|
||||||
@ -63,25 +62,6 @@ function run(systemInfo?: SystemInformation): Promise<any> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Create symlinks for the engine shared libraries
|
|
||||||
* @param binPath
|
|
||||||
*/
|
|
||||||
async function createEngineSymlinks(binPath: string) {
|
|
||||||
const sharedPath = path.join(appResourcePath(), 'shared')
|
|
||||||
const sharedLibFiles = await readdir(sharedPath)
|
|
||||||
for (const sharedLibFile of sharedLibFiles) {
|
|
||||||
if (sharedLibFile.endsWith('.dll') || sharedLibFile.endsWith('.so')) {
|
|
||||||
const targetDllPath = path.join(sharedPath, sharedLibFile)
|
|
||||||
const symlinkDllPath = path.join(binPath, sharedLibFile)
|
|
||||||
await symlink(targetDllPath, symlinkDllPath, 'file').catch((error) =>
|
|
||||||
log(JSON.stringify(error))
|
|
||||||
)
|
|
||||||
console.log(`Symlink created: ${targetDllPath} -> ${symlinkDllPath}`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Every module should have a dispose function
|
* Every module should have a dispose function
|
||||||
* This will be called when the extension is unloaded and should clean up any resources
|
* This will be called when the extension is unloaded and should clean up any resources
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user