MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / rpc_server_params_parse

Function rpc_server_params_parse

smallthinker/tools/rpc/rpc-server.cpp:155–214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155static bool rpc_server_params_parse(int argc, char ** argv, rpc_server_params & params) {
156 std::string arg;
157 for (int i = 1; i < argc; i++) {
158 arg = argv[i];
159 if (arg == "-H" || arg == "--host") {
160 if (++i >= argc) {
161 return false;
162 }
163 params.host = argv[i];
164 } else if (arg == "-t" || arg == "--threads") {
165 if (++i >= argc) {
166 return false;
167 }
168 params.n_threads = std::stoi(argv[i]);
169 if (params.n_threads <= 0) {
170 fprintf(stderr, "error: invalid number of threads: %d\n", params.n_threads);
171 return false;
172 }
173 } else if (arg == "-d" || arg == "--device") {
174 if (++i >= argc) {
175 return false;
176 }
177 params.device = argv[i];
178 if (ggml_backend_dev_by_name(params.device.c_str()) == nullptr) {
179 fprintf(stderr, "error: unknown device: %s\n", params.device.c_str());
180 fprintf(stderr, "available devices:\n");
181 for (size_t i = 0; i < ggml_backend_dev_count(); i++) {
182 auto * dev = ggml_backend_dev_get(i);
183 size_t free, total;
184 ggml_backend_dev_memory(dev, &free, &total);
185 printf(" %s: %s (%zu MiB, %zu MiB free)\n", ggml_backend_dev_name(dev), ggml_backend_dev_description(dev), total / 1024 / 1024, free / 1024 / 1024);
186 }
187 return false;
188 }
189 } else if (arg == "-p" || arg == "--port") {
190 if (++i >= argc) {
191 return false;
192 }
193 params.port = std::stoi(argv[i]);
194 if (params.port <= 0 || params.port > 65535) {
195 return false;
196 }
197 } else if (arg == "-c" || arg == "--cache") {
198 params.use_cache = true;
199 } else if (arg == "-m" || arg == "--mem") {
200 if (++i >= argc) {
201 return false;
202 }
203 params.backend_mem = std::stoul(argv[i]) * 1024 * 1024;
204 } else if (arg == "-h" || arg == "--help") {
205 print_usage(argc, argv, params);
206 exit(0);
207 } else {
208 fprintf(stderr, "error: unknown argument: %s\n", arg.c_str());
209 print_usage(argc, argv, params);
210 exit(0);
211 }
212 }

Callers 1

mainFunction · 0.85

Calls 10

fprintfFunction · 0.85
ggml_backend_dev_by_nameFunction · 0.85
ggml_backend_dev_countFunction · 0.85
ggml_backend_dev_getFunction · 0.85
ggml_backend_dev_memoryFunction · 0.85
printfFunction · 0.85
ggml_backend_dev_nameFunction · 0.85
print_usageFunction · 0.70
c_strMethod · 0.45

Tested by

no test coverage detected