-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI] Enable federated learning plugin in buildkite #8301
Conversation
@@ -22,7 +22,7 @@ command_wrapper="tests/ci_build/ci_build.sh gpu_build_centos7 docker --build-arg | |||
echo "--- Build libxgboost from the source" | |||
$command_wrapper tests/ci_build/prune_libnccl.sh | |||
$command_wrapper tests/ci_build/build_via_cmake.sh -DUSE_CUDA=ON -DUSE_NCCL=ON \ | |||
-DUSE_OPENMP=ON -DHIDE_CXX_SYMBOLS=ON -DUSE_NCCL_LIB_PATH=ON \ | |||
-DUSE_OPENMP=ON -DPLUGIN_FEDERATED=ON -DHIDE_CXX_SYMBOLS=ON -DUSE_NCCL_LIB_PATH=ON \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is gRPC a runtime dependency? (i.e. would users get error if they don't have gRPC installed on their machine?) If so, we shouldn't enable the federated learning plugin in the Python wheel on PyPI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can built a separate artifact with gRPC for testing purposes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a build time dependency since we are linking statically.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's kind of a cross-cutting concern though, we'd want it to work with cpu/gpu/mgpu etc.
# Install gRPC for Federated Learning | ||
git clone -b v1.49.1 https://github.com/grpc/grpc.git && \ | ||
pushd grpc && \ | ||
git submodule update --init && \ | ||
cmake -S . -B build -GNinja && \ | ||
cmake --build build --target install && \ | ||
popd && \ | ||
rm -fr grpc && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could be better to use grpc-cpp
package from Conda, as we won't have to build from the source
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried this, but looks like the libprotobuf
conda package doesn't install the cmake modules: conda-forge/libprotobuf-feedstock#68
As discussed offline, @hcho3 is taking this over. Feel free to close it when you are ready. Thanks! |
No description provided.