SODA Toolchain Production Docker Image
The SODA (SOftware Defined Architectures) toolchain leverages mlir to extract, optimize, and translate high-level code snippets into LLVM IR, so that they can be synthesized by our high-level synthesis tool of choice.
In this production image the following tools will be available in the $PATH:
soda-opt
soda-translate
mlir-opt
mlir-translate
flatbuffer_translate
tf-mlir-translate
tf-opt
torch-mlir-opt - python packages available at /opt/torch-mlir/python_packages/torch_mlir
bambu
openroad - Requires exporting FLOW_HOME=/opt/openroad/openroad_flow_scripts/flow
yosys
Copy
Base image: 3.11-bookworm
Mirror of agostini01/soda-bookworm:v19.02
This repository tracks the latest docker image with the SODA toolchain.
CHANGELOG
V19.02
Add transform.loop.fullunroll operation to soda-opt
V19.01
Includes g++-multilib package necessary for proper compilation of verilated tesbenches
Includes /opt/or-tools necessary for openroad
Includes tensorflow-cpu python package
Update soda-opt with C Testbench generation functionality
Update /opt/soda/scripts
Includes all scripts necessary for pytorch to gds flow
V19.00
Integrate LLVM at: ab4b5a2db582958af1ee308a790cfdb42bd24720, tag: llvmorg-19.1.5
Change base image from Ubuntu to Python Debian bookworm
Python image supports system install of python packages that help our compilation process
Update Python to 3.11
Update Tensorflow
Update Torch
Update Torch-mlir
Update OpenRoad
Update Bambu, tag: 2024.10
Bambu required specific versions of gcc-8 and clang-16, they are now available in /opt/gcc-8/bin and /opt/clang-16/bin
System clang-16 did not provide all the required libraries for Bambu
We still use the system clang-16 for other tools
V18.00 - Completely skiped
Skiped porting code into llvm-18 in favor of a direct update into llvm-19
Skiped from docker image generation
V17.00 - Completely skiped
Skiped porting code into llvm-18 in favor of a direct update into llvm-19
Skiped from docker image generation
V16.00-RC1
V15.08
V15.07
Fix missing binaries from torch-mlir project
Enable soda-opt to accept ml_program operations to be present the mlir file
ml_program operations should not be inside a soda.launch operation
include SymbolDCE pass on pipelines to remove unused ml_program decls
in support of torch-mlir models
Fix volume mount error when lowering scripts were called outside docker
V15.06
Fix bug with /opt/soda/scripts permissions
V15.05
Fix bug with missing parts of torch-mlir python packages
NEW: include /opt/soda/scripts for a collection of mlir lowering scripts for different tools
lowering scripts check for required binaries in the $PATH
lowering scripts will use docker if binaries are not found in the $PATH
docker image contains all needed binaries
V15.04
NEW: Include flatbuffer_translate binary to translate tflite models into MLIR
V15.03
Update llvm version
Update tensorflow version
NEW: added python modules for CPU versions of torch, torchvision, and tensorflow
NEW: add torch-mlir to the docker-image
set python library path PYTHONPATH=/opt/torch-mlir/python_packages/torch_mlir
NEW: add soda-transform-interpreter and soda-transform-erase-schedule passes to soda
V15.02
Update llvm version
Include async token parsing and handling in the soda dialect
V15.01
Generates agostini01/soda:v15.01
Includes OpenRoadFlow binaries and scripts to the /opt/openroad
Deprecates the need for image agostini01/panda_openroad
Included OpenRoadFlow tracks a commit from master branch (see args_default file)
V15
Generates agostini01/soda:v15
Updated mlir/llvm project used by soda-opt to v15 dev
Updated panda bambu project to track github main branch
Fix docker image tensorflow into a specific commit