P10 (WIP): release build script, Dockerfile, conda recipes, fresh-VM acceptance task
scripts/build_dist.sh: sdist + pure wheel + manylinux_2_28 kernel wheels (maturin --zig,
both architectures). Dockerfile (multi-stage, kernels included, non-root user).
packaging/conda/{simurg,simurg-core}. scripts/p10/digest.py: platform-independent content
digests of GTC/VCF/summary outputs. Cloud task p10 installs the artifacts on a fresh
Ubuntu VM and runs the tutorial with pip, Docker and conda installs. trial.sh picks the
arm64/amd64 image from the instance type and can run instances in parallel (PARALLEL=1).
Licence files ship in both wheels; Rust crate notices added.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
This commit is contained in:
1 parent
ed4895516d
commit
92416397fe
13 files changed
+403
-5
No files matched your search
@@ -14,6 +14,8 @@ set -euo pipefail
|
||||
cd "$(dirname "$0")/../.."
|
||||
REGION=${REGION:-us-east-1}
|
||||
TYPE=${TYPE:-m7g.4xlarge}
|
||||
# Graviton families carry a "g" after the generation number (m7g, c7gn, r8g): arm64 image; everything else amd64
|
||||
if [[ $TYPE =~ ^[a-z]+[0-9]+g ]]; then ARCH=${ARCH:-arm64}; else ARCH=${ARCH:-amd64}; fi
|
||||
MAX_PRICE=${MAX_PRICE:-0.30} # USD/hour spot cap (on-demand is 0.6528)
|
||||
MAX_MINUTES=${MAX_MINUTES:-360} # hard cap: 6 hours
|
||||
DISK_GB=${DISK_GB:-250}
|
||||
@@ -59,7 +61,7 @@ EOF
|
||||
launch)
|
||||
running=$($AWS ec2 describe-instances --filters Name=tag:Project,Values=$TAG \
|
||||
Name=instance-state-name,Values=pending,running --query 'length(Reservations[].Instances[])')
|
||||
[[ "$running" == "0" ]] || { echo "a trial instance is already running; refusing to start another"; exit 1; }
|
||||
[[ "$running" == "0" || "${PARALLEL:-0}" == "1" ]] || { echo "a trial instance is already running; refusing to start another (PARALLEL=1 overrides)"; exit 1; }
|
||||
RUN=run-$(date -u +%Y%m%dT%H%M%SZ)
|
||||
echo "-> packing repository at $(git rev-parse --short HEAD) -> s3://$BUCKET/$RUN/"
|
||||
git archive --format=tar.gz -o /tmp/simurg-repo.tar.gz HEAD
|
||||
@@ -69,7 +71,7 @@ launch)
|
||||
sed -e "s/__BUCKET__/$BUCKET/" -e "s/__RUN__/$RUN/" -e "s/__MAX_MINUTES__/$MAX_MINUTES/" -e "s/__TASK__/$TASK/g" \
|
||||
-e "s/__OMNI__/$OMNI/" \
|
||||
scripts/cloud/userdata.sh > /tmp/simurg-userdata.sh
|
||||
AMI=$($AWS ssm get-parameter --name /aws/service/canonical/ubuntu/server/24.04/stable/current/arm64/hvm/ebs-gp3/ami-id \
|
||||
AMI=$($AWS ssm get-parameter --name /aws/service/canonical/ubuntu/server/24.04/stable/current/$ARCH/hvm/ebs-gp3/ami-id \
|
||||
--query Parameter.Value --output text)
|
||||
echo "-> task: $TASK"
|
||||
echo "-> launching $TYPE spot (cap \$$MAX_PRICE/h, hard limit ${MAX_MINUTES} min, ${DISK_GB} GB disk deleted on exit)"
|
||||
|
||||
Reference in new issue
Block a user