Which Spack variants effectively minimize the build footprint for low-traffic workloads?
0 reputation · 12 Apr 2025, 19:16 UTC
When configuring a Spack environment for a low-traffic workload, reducing the overall build footprint and dependency overhead is a primary goal. The Spack concretizer allows for the specification of variants to disable unnecessary features, such as MPI or CUDA support, which can significantly decrease the number of required dependencies and total disk usage.
However, there is uncertainty regarding the optimal balance between disabling optional variants and maintaining the functional integrity of the package. Over-restricting variants may lead to runtime failures if a critical, undocumented dependency is stripped away during the concretization process.
What is the recommended strategy for identifying the minimum viable set of variants for a generic package to reduce its footprint? Does Spack provide a mechanism to analyze which variants contribute most to the dependency tree size before the installation begins?