Building uenv¶
uenv build service¶
CSCS provides a build service for uenv that takes as its input a uenv recipe, and builds the uenv using the same pipeline used to build the officially supported uenv.
The command takes two arguments:
recipe
: the path to the recipe- A uenv recipe is a description of the software to build in the uenv. See the stackinator documentation for more information.
label
: the label to attach, of the formname/version@system%uarch
where:name
is the name, e.g.prgenv-gnu
,gromacs
,vistools
.version
is a version string, e.g.24.11
,v1.2
,2025-rc2
system
is the CSCS cluster to build on (e.g.daint
,santis
,clariden
,eiger
)uarch
is the micro-architecture.
Building a uenv
The image will be built on daint
for the gh200
node type.
The output of the above command will print a URL that links to a status page where you can follow the progress of the build. After a successful build, the uenv can be pulled using a name from the status page:
Note that the image is given a unique numeric tag, provided on the status page for the build.
Info
To use an existing uenv recipe as the starting point for a custom recipe, uenv start
the uenv and take the contents of the meta/recipe
path in the mounted image (this is the recipe that was used to build the uenv).
All uenv built by uenv build
are pushed into the service
namespace, where they can be accessed by all users logged in to CSCS.
This makes it easy to share your uenv with other users, by giving them the name, version and tag of the image.
Danger
If, for whatever reason, your uenv can not be made publicly available, do not use the build service.
Search user-built uenv
To view all of the uenv on daint that have been built by the service:
Building with Stackinator¶
CSCS develops and maintains the Stackinator tool that is used to configure and build uenv.
Note
The tool is currently maintained for internal use, and is used by automated pipelines, including the one used by the uenv build
command.
As such, CSCS provide limited support for the tool.