Skip to content

Commit a13d461

Browse files
rgerganovmglambda
authored andcommitted
arg : list RPC devices first when using --list-devices (ggml-org#11655)
List devices in the same order as they appear when evaluating the model and splitting tensors across devices, i.e. RPC devices come first in the list. ref ggml-org#11435
1 parent 1d92e01 commit a13d461

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

common/arg.cpp

+17-4
Original file line numberDiff line numberDiff line change
@@ -1465,15 +1465,28 @@ common_params_context common_params_parser_init(common_params & params, llama_ex
14651465
{"--list-devices"},
14661466
"print list of available devices and exit",
14671467
[](common_params &) {
1468-
printf("Available devices:\n");
1468+
std::vector<ggml_backend_dev_t> rpc_devices;
1469+
std::vector<ggml_backend_dev_t> all_devices;
14691470
for (size_t i = 0; i < ggml_backend_dev_count(); ++i) {
14701471
auto * dev = ggml_backend_dev_get(i);
14711472
if (ggml_backend_dev_type(dev) == GGML_BACKEND_DEVICE_TYPE_GPU) {
1472-
size_t free, total;
1473-
ggml_backend_dev_memory(dev, &free, &total);
1474-
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);
1473+
ggml_backend_reg_t reg = ggml_backend_dev_backend_reg(dev);
1474+
if (ggml_backend_reg_name(reg) == std::string("RPC")) {
1475+
rpc_devices.push_back(dev);
1476+
} else {
1477+
all_devices.push_back(dev);
1478+
}
14751479
}
14761480
}
1481+
// insert RPC devices in front
1482+
all_devices.insert(all_devices.begin(), rpc_devices.begin(), rpc_devices.end());
1483+
printf("Available devices:\n");
1484+
for (size_t i = 0; i < all_devices.size(); ++i) {
1485+
auto * dev = all_devices[i];
1486+
size_t free, total;
1487+
ggml_backend_dev_memory(dev, &free, &total);
1488+
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);
1489+
}
14771490
exit(0);
14781491
}
14791492
));

0 commit comments

Comments
 (0)