Skip to content

Commit 020f9d3

Browse files
committed
build: fix Windows CUDA build
1 parent f560e60 commit 020f9d3

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/bindings/utils/compileLLamaCpp.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
buildMetadataFileName, documentationPageUrls, llamaCppDirectory, llamaDirectory, llamaLocalBuildBinsDirectory,
1010
llamaPrebuiltBinsDirectory, llamaToolchainsDirectory
1111
} from "../../config.js";
12-
import {BuildMetadataFile, BuildOptions, convertBuildOptionsToBuildOptionsJSON} from "../types.js";
12+
import {BuildGpu, BuildMetadataFile, BuildOptions, convertBuildOptionsToBuildOptionsJSON} from "../types.js";
1313
import {spawnCommand, SpawnError} from "../../utils/spawnCommand.js";
1414
import {downloadCmakeIfNeeded, fixXpackPermissions, getCmakePath, hasBuiltinCmake} from "../../utils/cmake.js";
1515
import {getConsoleLogPrefix} from "../../utils/getConsoleLogPrefix.js";
@@ -54,7 +54,7 @@ export async function compileLlamaCpp(buildOptions: BuildOptions, compileOptions
5454

5555
const outDirectory = path.join(llamaLocalBuildBinsDirectory, finalBuildFolderName);
5656

57-
let parallelBuildThreads = getParallelBuildThreadsToUse(platform);
57+
let parallelBuildThreads = getParallelBuildThreadsToUse(platform, buildOptions.gpu, ciMode);
5858
if (ignoreWorkarounds.includes("singleBuildThread"))
5959
parallelBuildThreads = 1;
6060
else if (ignoreWorkarounds.includes("reduceParallelBuildThreads"))
@@ -502,9 +502,12 @@ async function getToolchainFileForArch(targetArch: string) {
502502
return null;
503503
}
504504

505-
function getParallelBuildThreadsToUse(platform: BinaryPlatform) {
505+
function getParallelBuildThreadsToUse(platform: BinaryPlatform, gpu?: BuildGpu, ciMode: boolean = false) {
506506
const cpuCount = os.cpus().length;
507507

508+
if (ciMode && platform === "win" && gpu === "cuda" && cpuCount === 4)
509+
return 3; // workaround for `compiler is out of heap space` error on GitHub Actions on Windows when building with CUDA
510+
508511
if (cpuCount <= 4)
509512
return cpuCount;
510513

0 commit comments

Comments
 (0)