Skip to content

Commit ba4cf5c

Browse files
authored
train : move number of gpu layers argument parsing to common/train.cpp (#4074)
- introduces help entry for the argument - cuts '--gpu-layers' form in order to simplify usage and documentation. Signed-off-by: Jiri Podivin <[email protected]> Co-authored-by: Jiri Podivin <[email protected]>
1 parent e85bb1a commit ba4cf5c

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

common/train.cpp

+12
Original file line numberDiff line numberDiff line change
@@ -1136,6 +1136,7 @@ void print_common_train_usage(int /*argc*/, char ** /*argv*/, const struct train
11361136
fprintf(stderr, " --adam-beta2 N AdamW beta2 in interval [0,1). How much to smooth the second moment of gradients. (default %f)\n", params->adam_beta2);
11371137
fprintf(stderr, " --adam-gclip N AdamW gradient clipping. Disabled when zero. (default %f)\n", params->adam_gclip);
11381138
fprintf(stderr, " --adam-epsf N AdamW epsilon for convergence test. Disabled when <= zero. (default %f)\n", params->adam_eps_f);
1139+
fprintf(stderr, " -ngl N, --n-gpu-layers N Number of model layers to offload to GPU (default %d)", params->n_gpu_layers);
11391140
fprintf(stderr, "\n");
11401141
}
11411142

@@ -1355,6 +1356,17 @@ bool consume_common_train_arg(
13551356
return true;
13561357
}
13571358
params->adam_gclip = std::stof(argv[i]);
1359+
} else if (arg == "-ngl" || arg == "--n-gpu-layers") {
1360+
if (++i >= argc) {
1361+
*invalid_param = true;
1362+
return true;
1363+
}
1364+
#ifdef LLAMA_SUPPORTS_GPU_OFFLOAD
1365+
params->n_gpu_layers = std::stoi(argv[i]);
1366+
#else
1367+
fprintf(stderr, "warning: not compiled with GPU offload support, --n-gpu-layers option will be ignored\n");
1368+
fprintf(stderr, "warning: see main README.md for information on enabling GPU BLAS support\n");
1369+
#endif
13581370
} else if (arg == "-h" || arg == "--help") {
13591371
params->print_usage = true;
13601372
return true;

examples/finetune/finetune.cpp

-11
Original file line numberDiff line numberDiff line change
@@ -1460,17 +1460,6 @@ static bool train_params_parse(int argc, char ** argv, struct train_params * par
14601460
}
14611461
params->n_rank_w3 = std::stoi(argv[i]);
14621462
params->custom_n_rank_w3 = true;
1463-
} else if (arg == "--gpu-layers" || arg == "-ngl" || arg == "--n-gpu-layers") {
1464-
if (++i >= argc) {
1465-
invalid_param = true;
1466-
break;
1467-
}
1468-
#ifdef LLAMA_SUPPORTS_GPU_OFFLOAD
1469-
params->common.n_gpu_layers = std::stoi(argv[i]);
1470-
#else
1471-
fprintf(stderr, "warning: not compiled with GPU offload support, --n-gpu-layers option will be ignored\n");
1472-
fprintf(stderr, "warning: see main README.md for information on enabling GPU BLAS support\n");
1473-
#endif
14741463
} else {
14751464
fprintf(stderr, "error: unknown argument: %s\n", arg.c_str());
14761465
train_print_usage(argc, argv, &default_params);

0 commit comments

Comments
 (0)