Skip to content

Commit 994c13a

Browse files
committed
Merge branch 'upstream' into concedo_experimental
# Conflicts: # .github/workflows/build.yml # ci/run.sh # ggml/src/ggml-metal/CMakeLists.txt # tools/mtmd/clip.cpp # tools/rpc/rpc-server.cpp
2 parents bf8fc46 + aa0c461 commit 994c13a

File tree

10 files changed

+887
-191
lines changed

10 files changed

+887
-191
lines changed

common/arg.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,7 +1306,7 @@ static std::vector<ggml_backend_dev_t> parse_device_list(const std::string & val
13061306
} else {
13071307
for (const auto & device : dev_names) {
13081308
auto * dev = ggml_backend_dev_by_name(device.c_str());
1309-
if (!dev || ggml_backend_dev_type(dev) != GGML_BACKEND_DEVICE_TYPE_GPU) {
1309+
if (!dev || ggml_backend_dev_type(dev) == GGML_BACKEND_DEVICE_TYPE_CPU) {
13101310
throw std::invalid_argument(string_format("invalid device: %s", device.c_str()));
13111311
}
13121312
devices.push_back(dev);
@@ -1316,7 +1316,7 @@ static std::vector<ggml_backend_dev_t> parse_device_list(const std::string & val
13161316
return devices;
13171317
}
13181318

1319-
static void add_rpc_devices(std::string servers) {
1319+
static void add_rpc_devices(const std::string & servers) {
13201320
auto rpc_servers = string_split<std::string>(servers, ',');
13211321
if (rpc_servers.empty()) {
13221322
throw std::invalid_argument("no RPC servers specified");
@@ -2518,24 +2518,15 @@ common_params_context common_params_parser_init(common_params & params, llama_ex
25182518
{"--list-devices"},
25192519
"print list of available devices and exit",
25202520
[](common_params &) {
2521-
std::vector<ggml_backend_dev_t> rpc_devices;
2522-
std::vector<ggml_backend_dev_t> all_devices;
2521+
std::vector<ggml_backend_dev_t> devices;
25232522
for (size_t i = 0; i < ggml_backend_dev_count(); ++i) {
25242523
auto * dev = ggml_backend_dev_get(i);
2525-
if (ggml_backend_dev_type(dev) == GGML_BACKEND_DEVICE_TYPE_GPU) {
2526-
ggml_backend_reg_t reg = ggml_backend_dev_backend_reg(dev);
2527-
if (ggml_backend_reg_name(reg) == std::string("RPC")) {
2528-
rpc_devices.push_back(dev);
2529-
} else {
2530-
all_devices.push_back(dev);
2531-
}
2524+
if (ggml_backend_dev_type(dev) != GGML_BACKEND_DEVICE_TYPE_CPU) {
2525+
devices.push_back(dev);
25322526
}
25332527
}
2534-
// insert RPC devices in front
2535-
all_devices.insert(all_devices.begin(), rpc_devices.begin(), rpc_devices.end());
25362528
printf("Available devices:\n");
2537-
for (size_t i = 0; i < all_devices.size(); ++i) {
2538-
auto * dev = all_devices[i];
2529+
for (auto * dev : devices) {
25392530
size_t free, total;
25402531
ggml_backend_dev_memory(dev, &free, &total);
25412532
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);

0 commit comments

Comments
 (0)