  Motivated by deep neural network applications, we study the problem of
scheduling splittable jobs (e.g., neural network inference tasks) on
configurable machines (e.g., multi-instance GPUs). We are given $n$ jobs and a
set $C$ of configurations (e.g, representing ways to configure a GPU)
consisting of multisets of blocks (e.g., representing GPU instances). A
schedule consists of a set of machines, each assigned some configuration in $C$
with each block in the configuration assigned to process one job. The amount of
a job's demand that is satisfied by a given block is an arbitrary function of
the job and block. The objective is to satisfy all demands on as few machines
as possible. We provide a tight logarithmic approximation algorithm for this
problem in the general setting, an asymptotic $(2 + \varepsilon)$-approximation
with $O(1)$ input configurations for arbitrary $\varepsilon > 0$, and a
polynomial time approximation scheme when both the number and size of
configurations are $O(1)$.
