Parallelism
- Introduction
- Magma Kernel Distributed Parallelism
- GPUs
- Linear Algebra
- Gröbner Bases
- Polynomial System Solving
- Polynomial Rings
- Distributed Computation for Internal Algorithms
- Integer Factorisation
- Ideal Class Group of Algebraic Number Fields
- Integral Lattices
- Lattice Vector Enumeration
- Introduction
- Enumeration of Short Vectors
- A Single Shortest Vector
- Enumeration of Close Vectors
CloseVectors(L, w, B): Lat, ModTupRngElt, RngElt → SeqEnum
CloseVectors(L, w, A, B): Lat, ModTupRngElt, RngElt, RngElt → SeqEnum
ClosestVectors(L, w): Lat, ModTupRngElt → SeqEnum
Example: Close Vector1
Example: Close Vector2
- A Single Closest Vector
CloseVector(L, w, B): Lat, ModTupRngElt, RngElt → LatElt
CloseVector(L, w, A, B): Lat, ModTupRngElt, RngElt, RngElt → LatElt
ClosestVector(L, w): Lat, ModTupRngElt → LatElt
Example: Close Vector
- Intrinsics that Use Enumeration
- Theta Series
- Linear Codes
- User-Implemented Distributed Parallelism
- Introduction
- The Manager/Worker Model
- Basic Usage
DistributedManager(socket, items : parameters): IO, SeqEnum
DistributedManager(socket, items : parameters): IO, List
DistributedManager(socket, items : parameters): IO, Process
DistributedWorker({host, port, }{work_function}): MonStgElt, RngIntElt, UserProgram
- Basic Example
- Verbose Output
- Alternative Results Handling
- Task Groups
- Task Group Management
- Monitoring and Respawning Workers
- Implementing Distributed Parallelism
- A Note on Security
- Timing