forked from peteonrails/voxtype
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.build.yml
More file actions
125 lines (115 loc) · 3.1 KB
/
docker-compose.build.yml
File metadata and controls
125 lines (115 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
version: '3.8'
# CI build configuration for TrueN
A2FC
AS SCALE
#
# Builds voxtype binaries on a machine WITHOUT AVX-512 to ensure compatibility
# with older CPUs (Zen 3, Haswell, etc.)
#
# Usage:
# docker compose -f docker-compose.build.yml build
# docker compose -f docker-compose.build.yml up
#
# Or build specific targets:
# docker compose -f docker-compose.build.yml up avx2
# docker compose -f docker-compose.build.yml up vulkan
# docker compose -f docker-compose.build.yml up avx512
services:
avx2:
build:
context: .
dockerfile: Dockerfile.build
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
vulkan:
build:
context: .
dockerfile: Dockerfile.vulkan
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
avx512:
build:
context: .
dockerfile: Dockerfile.avx512
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
profiles:
- avx512 # Only build if explicitly requested (requires AVX-512 capable host)
# ONNX AVX2 build (Parakeet + Moonshine, ONNX Runtime bundled, wide compatibility)
onnx-avx2:
build:
context: .
dockerfile: Dockerfile.onnx
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
# ONNX AVX-512 build (requires AVX-512 capable host)
onnx-avx512:
build:
context: .
dockerfile: Dockerfile.onnx-avx512
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
profiles:
- avx512 # Only build if explicitly requested (requires AVX-512 capable host)
# ONNX CUDA build (NVIDIA GPU acceleration with CPU fallback)
onnx-cuda:
build:
context: .
dockerfile: Dockerfile.onnx-cuda
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
# ONNX ROCm build (AMD GPU acceleration, requires AMD GPU host)
onnx-rocm:
build:
context: .
dockerfile: Dockerfile.onnx-rocm
args:
VERSION: ${VERSION:-0.6.2}
volumes:
- ./releases/${VERSION:-0.6.2}:/output
environment:
- VERSION=${VERSION:-0.6.2}
# ONNX model export (Japanese + Vietnamese Parakeet models)
# Usage: docker compose -f docker-compose.build.yml up onnx-export
onnx-export:
build:
context: .
dockerfile: Dockerfile.onnx-export
volumes:
- ./models/parakeet-onnx:/output
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
# All-in-one build (AVX2 + Vulkan)
all:
build:
context: .
dockerfile: Dockerfile.build
depends_on:
- avx2
- vulkan
command: echo "All builds complete"