-
-
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
Initial support for IPv6 #8225
Initial support for IPv6 #8225
Conversation
The use of |
- Merge rabit socket into XGBoost. - Dask interface support. - Add test to socket. - Add more compatibility code with mysys32, including correct linking and enable most of the system function calls. - Workaround windows includes in tests. dmlc filesystem includes `windows.h`, which conflicts with winsock2.h.
@rongou Would you like to take a look into this? |
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.
I can't really say much about the implementation as I don't have experience here.
It does seem a bit unusual to me that we are doing this ourselves and not using a library. Would using another framework for communication give us IPv6?
If you are confident with this PR you should go ahead with it.
@RAMitchell We used to treat rabit as a separate library. ;-) But as suggested by @rongou , we can switch to something well maintained for allreduce implementation. |
the system function calls.
windows.h
, whichconflicts with winsock2.h.
Current status:
This PR enables initial support for IPv6 with dask on Linux. Some effort is put into Windows support but we don't support distributed training on Windows in general. As for macos, RABIT allreduce returns error but I don't have a macos device for development or testing.
I ran some basic tasks using dask on GCP debian-based instance with dual stack and verified that IPv6 is indeed used.
#7725 .