Verified Commit f4c3caee authored by Marc Vef's avatar Marc Vef
Browse files

Add UCX support to client

parent 9056b819
Loading
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -67,8 +67,9 @@ constexpr auto ucx_all = "ucx+all";
constexpr auto ucx_tcp = "ucx+tcp";
constexpr auto ucx_rc = "ucx+rc";
constexpr auto ucx_ud = "ucx+ud";
const auto all_protocols = {na_sm,   ofi_sockets, ofi_tcp, ofi_verbs, ofi_psm2,
                            ucx_all, ucx_tcp,     ucx_rc,  ucx_ud};
constexpr auto all_remote_protocols = {ofi_sockets, ofi_tcp, ofi_verbs,
                                       ofi_psm2,    ucx_all, ucx_tcp,
                                       ucx_rc,      ucx_ud};
} // namespace protocol
} // namespace gkfs::rpc

+8 −9
Original line number Diff line number Diff line
@@ -104,16 +104,15 @@ extract_protocol(const string& uri) {
        throw runtime_error(fmt::format("Invalid format for URI: '{}'", uri));
    }
    string protocol{};

    if(uri.find(gkfs::rpc::protocol::ofi_sockets) != string::npos) {
        protocol = gkfs::rpc::protocol::ofi_sockets;
    } else if(uri.find(gkfs::rpc::protocol::ofi_psm2) != string::npos) {
        protocol = gkfs::rpc::protocol::ofi_psm2;
    } else if(uri.find(gkfs::rpc::protocol::ofi_verbs) != string::npos) {
        protocol = gkfs::rpc::protocol::ofi_verbs;
    for(const auto& valid_protocol :
        gkfs::rpc::protocol::all_remote_protocols) {
        if(uri.find(valid_protocol) != string::npos) {
            protocol = valid_protocol;
            break;
        }
    }
    // check for shared memory protocol. Can be plain shared memory or real ofi
    // protocol + auto_sm
    // check for shared memory protocol. Can be plain shared memory or real
    // ofi protocol + auto_sm
    if(uri.find(gkfs::rpc::protocol::na_sm) != string::npos) {
        if(protocol.empty())
            protocol = gkfs::rpc::protocol::na_sm;
+2 −1
Original line number Diff line number Diff line
@@ -497,7 +497,8 @@ parse_input(const cli_options& opts, const CLI::App& desc) {
    if(desc.count("--rpc-protocol")) {
        rpc_protocol = opts.rpc_protocol;
        auto protocol_found = false;
        for(const auto& valid_protocol : gkfs::rpc::protocol::all_protocols) {
        for(const auto& valid_protocol :
            gkfs::rpc::protocol::all_remote_protocols) {
            if(rpc_protocol == valid_protocol) {
                protocol_found = true;
                break;