Skip to content

Building a half-baked container to finalize the build (on the fly) during runtime.

License

Notifications You must be signed in to change notification settings

converged-computing/half-baked

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Half Baked

img/half-baked.jpeg

These are experiments to try building a base image with an LLVM IR "internal representation" that can be finalized (the compilation finished) more on demand to be fit to a node. This approach would be suitable for cases when we need a niche architecture, but don't have one built in advance. It provides an alterative to what we currently consider the only option. More specifically:

  • Option 1: pre-build all options / variants of an application (and maybe miss some or get it wrong)
  • Option 2: start with a "half baked" image, and then finish compilation on demand for exactly what we need.

The second option also only requires one image base! Let's give a shot, with a simple LAMMPS build. Our strategy here will be the following:

  1. Try first a manual approach, manual builds on a local system.
  2. Try a design that is in Kubernetes
  3. Optimize the design in Kubernetes

For the last, it's not clear if we will want an operator or similar, e.g., something with an init container or even a mutating webhook. We will likely also need to consider caching or deploy strategies, because we wouldn't want to kick off 1000x of the same build at once!

Builds

  • pi: "Half baked pi" 🥧️
  • rellume: lift machine code to LLVM IR

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

About

Building a half-baked container to finalize the build (on the fly) during runtime.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages