ISL is a library for manipulating sets and relations of integer points bounded by linear constraints.
Supported operations on sets include:
- set difference
- emptiness check
- convex hull
- (integer) affine hull
- computing the lexicographic minimum using parametric integer programming
- coalescing and parametric vertex enumeration.
It also includes:
- an ILP solver based on generalized basis reduction
- transitive closures on maps (which may encode infinite graphs)
- dependence analysis and bounds on piecewise step-polynomials.
For more information see the user manual. For an introduction to the underlying concepts, see Presburger Formulas and Polyhedral Compilation. The barvinok package contains an iscc calculator that exposes some of the operations supported by ISL.
module load site-local
Note this package required modifications to:
module load isl/0.18/1
Example Job Scripts