-
Notifications
You must be signed in to change notification settings - Fork 0
Contents of this repository
Nariaki Tateiwa edited this page Mar 30, 2022
·
1 revision
Tools for lattice problems and algorithms.
- Lattice manager
- Some lattice algorithms
- Reduction: DeepLLL, DeepBKZ
- Enumeration:
- Sieving: GaussSieve
[link]
UG is a generic framework to parallelize branch-and-bound based solvers (e.g., MIP, MINLP, ExactIP) in a distributed or shared memory computing environment.
- Exploits powerful performance of state-of-the-art "base solvers", such as SCIP, CPLEX, etc.
- Without the need for base solver parallelization
Configurable massively parallel framework for lattice problem
- Load Coordinator (process in rank = 0)
- creates and assigns task to solvers
- collects lattice vectors and basis from solvers and distributes them
- Solvers (process in rank > 0)
- execute lattice algorithms
- send lattice vectors and basis to Load Coordinator
- receive lattice vectors and basis from Load Coordinator
-
synchronous_cmapdeepbkz
: for synchronous shared memory parallelization -
fcmaplaplib
: for shared memory parallelization -
paracmaplaplib
: for distributed memory parallelization
Test configure for cmaplap framework
- Add CMapTestParaSolver by inheriting CMapLapParaSolver
- Add lattice algorithms with data sharing through CMapTestParaSolver's API
- CMapTestDeepBkz
- CMapTestDeepLll
- CMapTestEnumeration
- CMapTestSieve
Solver of Massively parallel reduction algorithm
- All solvers executes reduction algorithm
- Solvers share the top-k lattice vectors in their basis
- LoadCoordinator maintains and destributes the global lattice basis
- Add CMapDeepBkzLoadCoordinator by inheriting CMapLapParaLoadCoordinator
- Add CMapDeepBkzParaSolver by inheriting CMapLapParaParaSolver
- Add DeepBKZ reduction algorithms with basis sharing through CMapDeepBkzParaSolver's API