- Created entrypoint-self-terminate.sh wrapper script - Updates entrypoint-generic.sh to be called by wrapper - Modified Dockerfile.runpod to use self-terminate entrypoint - Adds automatic pod termination via runpodctl after training completes - Prevents infinite restart loops and wasted GPU credits - Saves ~96% cost per training run ($4.59 per run) Implements pod self-termination using RUNPOD_POD_ID environment variable. Training exits with code 0 → runpodctl remove pod → immediate shutdown. Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.0 KiB
Plaintext
58 lines
1.0 KiB
Plaintext
[env]
|
|
SQLX_OFFLINE = "false"
|
|
|
|
[cargo-new]
|
|
vcs = "none"
|
|
|
|
[net]
|
|
git-fetch-with-cli = true
|
|
|
|
[build]
|
|
jobs = 16
|
|
incremental = true
|
|
pipelining = true
|
|
rustflags = [
|
|
"-D", "unsafe_op_in_unsafe_fn",
|
|
"-D", "clippy::undocumented_unsafe_blocks",
|
|
"-W", "rust_2024_idioms",
|
|
"-C", "force-frame-pointers=yes",
|
|
"-C", "relocation-model=pic",
|
|
]
|
|
|
|
[term]
|
|
verbose = false
|
|
progress.when = "auto"
|
|
|
|
[target.x86_64-unknown-linux-gnu]
|
|
rustflags = [
|
|
"-C", "link-arg=-Wl,-z,relro,-z,now",
|
|
"-C", "link-arg=-Wl,--as-needed",
|
|
# RUNPOD COMPATIBILITY: x86-64-v3 (AVX2/FMA) NOT native (NO AVX-512)
|
|
"-C", "target-cpu=x86-64-v3",
|
|
"-C", "target-feature=+avx2,+fma,+bmi2",
|
|
"-C", "opt-level=3",
|
|
"-C", "codegen-units=1",
|
|
]
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = false
|
|
debug = false
|
|
overflow-checks = false
|
|
|
|
[profile.bench]
|
|
inherits = "release"
|
|
debug = false
|
|
|
|
[profile.hft]
|
|
inherits = "release"
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = false
|
|
overflow-checks = false
|