Xilinx / inference-server

https://xilinx.github.io/inference-server/
Apache License 2.0
43 stars 13 forks source link

Refactor Dockerfile #43

Closed varunsh-xilinx closed 2 years ago

varunsh-xilinx commented 2 years ago

Summary of Changes

Closes #41

Motivation

In the old Dockerfile, labels were assigned at the beginning so changing whether Vitis AI was included invalidated the entire cache. This refactoring enables more parallel stage building and encourages cache reuse.

AKS kernels no longer need to be built manually and are instead built as part of the regular build process.

Implementation

The Dockerfile multi-stage build process is broken up into two kinds of stages: builder and installer stages. Builder stages build and compile dependencies and place all the ones that are ultimately needed into a location for the installer stages to copy. The installer stages inherit from each other and are built serially but the builder stages are largely independent.

This PR also makes Vitis AI an opt-in feature in the Dockerfile, similar to the other backends.

gbuildx commented 2 years ago

Build Failed! :(

gbuildx commented 2 years ago

Build Failed! :(

gbuildx commented 2 years ago

Build Failed! :(

gbuildx commented 2 years ago

Build Failed! :(

gbuildx commented 2 years ago

Build Passed!