You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement secure horizontal scheme for federated learning (dmlc#10231)
* Add additional data split mode to cover the secure vertical pipeline
* Add IsSecure info and update corresponding functions
* Modify evaluate_splits to block non-label owners to perform hist compute under secure scenario
* Continue using Allgather for best split sync for secure vertical, equvalent to broadcast
* Modify histogram sync scheme for secure vertical case, can identify global best split, but need to further apply split correctly
* Sync cut informaiton across clients, full pipeline works for testing case
* Code cleanup, phase 1 of alternative vertical pipeline finished
* Code clean
* change kColS to kColSecure to avoid confusion with kCols
* Replace allreduce with allgather, functional but inefficient version
* Update AllGather behavior from individual pair to bulk by adopting new histogram transmission data structure of a flat vector
* comment out the record printing
* fix pointer bug for histsync with allgather
* identify the HE adding locations
* revise and simplify template code
* revise and simplify template code
* prepare aggregator for gh broadcast
* prepare histogram for histindex and row index for allgather
* fix conflicts
* fix conflicts
* fix format
* fix allgather logic and update unit test
* fix linting
* fix linting and other unit test issues
* fix linting and other unit test issues
* integration with interface initial attempt
* integration with interface initial attempt
* integration with interface initial attempt
* functional integration with interface
* remove debugging prints
* remove processor from another PR
* Update the processor functions according to new processor implementation
* Move processor interface init from learner to communicator
* Move processor interface init from learner to communicator functional
* switch to allgatherV for encrypted message with varying lenghts
* consolidate with processor interface PR
* remove prints and fix format
* fix linting over reference pass
* fix undefined symbol issue
* fix processor test
* secure vertical relies on processor, move the unit test
* type correction
* type correction
* extra linting from last change
* Added Windows support
* fix for cstdint types
* fix for cstdint types
* Added support for horizontal secure XGBoost
* update with mock plugin
* secure horizontal fully functional with mock plugin
* linting fix
* linting fix
* linting fix
* fix type
* change loader and proc params input pattern to align with std map
* update with secure vertical incorporation
* Update mock_processor to enable nvflare usage
* [backport] Fix compiling with the latest CTX. (dmlc#10263)
* fix secure horizontal inference
* initialized aggr context only once
* Added support for multiple plugins in a single lib
* remove redundant condition
* Added support for boolean in proc_params
* free buffer
* CUDA.
* Fix clean build.
* Fix include.
* tidy.
* lint.
* nolint.
* disable.
* disable sanitizer.
---------
Co-authored-by: Zhihong Zhang <zhihongz@nvidia.com>
Co-authored-by: Jiaming Yuan <jm.yuan@outlook.com>
0 commit comments