summaryrefslogtreecommitdiff
path: root/common/common.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/common.cpp')
-rw-r--r--common/common.cpp51
1 files changed, 33 insertions, 18 deletions
diff --git a/common/common.cpp b/common/common.cpp
index 232101e4..569c2ecd 100644
--- a/common/common.cpp
+++ b/common/common.cpp
@@ -81,7 +81,9 @@
#endif
#define LLAMA_CURL_MAX_URL_LENGTH 2084 // Maximum URL Length in Chrome: 2083
#endif // LLAMA_USE_CURL
-
+#ifdef GGML_USE_RPC
+# include "ggml-rpc.h"
+#endif
using json = nlohmann::ordered_json;
//
@@ -1004,6 +1006,35 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa
if (arg == "--rpc") {
CHECK_ARG
params.rpc_servers = argv[i];
+ std::string servers(params.rpc_servers);
+ size_t pos = 0;
+ while ((pos = servers.find(",")) != std::string::npos) {
+ std::string server = servers.substr(0, pos);
+ ggml_backend_rpc_buffer_type(server.c_str());
+ servers.erase(0, pos + 1);
+ }
+ ggml_backend_rpc_buffer_type(servers.c_str());
+ return true;
+ }
+ if (arg == "--override-kv") {
+ CHECK_ARG
+ if (!string_parse_kv_override(argv[i], params.kv_overrides)) {
+ fprintf(stderr, "error: Invalid type for KV override: %s\n", argv[i]);
+ invalid_param = true;
+ return true;
+ }
+ return true;
+ }
+ if (arg == "--override-tensor" || arg == "-ot") {
+ CHECK_ARG
+ /*for (auto endpoint : params.rpc_servers.split)
+ {
+
+ }*/
+ if (!parse_buft_overrides(std::string{ argv[i] }, params.tensor_buft_overrides)) {
+ fprintf(stderr, "error: Invalid tensor buffer type override: %s\n", argv[i]);
+ invalid_param = true;
+ }
return true;
}
if (arg == "--no-mmap") {
@@ -1211,23 +1242,7 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa
sparams.grammar = json_schema_to_grammar(json::parse(argv[i]));
return true;
}
- if (arg == "--override-kv") {
- CHECK_ARG
- if (!string_parse_kv_override(argv[i], params.kv_overrides)) {
- fprintf(stderr, "error: Invalid type for KV override: %s\n", argv[i]);
- invalid_param = true;
- return true;
- }
- return true;
- }
- if (arg == "--override-tensor" || arg == "-ot") {
- CHECK_ARG
- if (!parse_buft_overrides(std::string{argv[i]}, params.tensor_buft_overrides)) {
- fprintf(stderr, "error: Invalid tensor buffer type override: %s\n", argv[i]);
- invalid_param = true;
- }
- return true;
- }
+
if (arg == "--offload-policy" || arg == "-op") {
CHECK_ARG
auto p = string_split_pairs<int,int>(argv[i], ',');