@@ -1338,8 +1338,8 @@ static void add_rpc_devices(const std::string & servers) {
13381338 }
13391339}
13401340
1341- bool common_params_parse (int argc, char ** argv, common_params & params, llama_example ex, void (*print_usage)(int , char **)) {
1342- auto ctx_arg = common_params_parser_init (params, ex, print_usage);
1341+ bool common_params_parse (int argc, char ** argv, common_params & params, llama_example ex, void (*print_usage)(int , char **), bool skip_backend_init ) {
1342+ auto ctx_arg = common_params_parser_init (params, ex, print_usage, skip_backend_init );
13431343 const common_params params_org = ctx_arg.params ; // the example can modify the default params
13441344
13451345 try {
@@ -1395,9 +1395,14 @@ static bool is_autoy(const std::string & value) {
13951395 return value == " auto" || value == " -1" ;
13961396}
13971397
1398- common_params_context common_params_parser_init (common_params & params, llama_example ex, void (*print_usage)(int , char **)) {
1399- // load dynamic backends
1400- ggml_backend_load_all ();
1398+ common_params_context common_params_parser_init (common_params & params,
1399+ llama_example ex,
1400+ void (*print_usage)(int , char **),
1401+ bool skip_backend_init) {
1402+ // load dynamic backends (unless explicitly skipped)
1403+ if (!skip_backend_init) {
1404+ ggml_backend_load_all ();
1405+ }
14011406
14021407 common_params_context ctx_arg (params);
14031408 ctx_arg.print_usage = print_usage;
0 commit comments