33 lines
1.6 KiB
Text
33 lines
1.6 KiB
Text
|
|
FROM --platform=linux/arm64 nvidia/cuda:12.8.1-cudnn-runtime-ubuntu22.04
|
||
|
|
|
||
|
|
ARG TARGETARCH
|
||
|
|
|
||
|
|
RUN apt-get update \
|
||
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends python3 python3-pip \
|
||
|
|
&& rm -rf /var/lib/apt/lists/* \
|
||
|
|
&& python3 -m pip install --no-cache-dir --upgrade pip \
|
||
|
|
&& python3 -m pip install --no-cache-dir \
|
||
|
|
--index-url https://download.pytorch.org/whl/cu128 \
|
||
|
|
--extra-index-url https://pypi.org/simple \
|
||
|
|
torch==2.7.1+cu128 numpy
|
||
|
|
|
||
|
|
# Fail the ARM64 image build if it selected an incompatible interpreter or PyTorch wheel.
|
||
|
|
RUN test "$TARGETARCH" = arm64 \
|
||
|
|
&& python3 -c "import platform, torch; assert platform.machine() == 'aarch64'; assert torch.version.cuda == '12.8'; print(f'{platform.machine()} torch={torch.__version__} cuda={torch.version.cuda}')"
|
||
|
|
|
||
|
|
WORKDIR /opt/gpu-feature
|
||
|
|
COPY gpu_feature_engine_v1.py /opt/gpu-feature/gpu_feature_engine_v1.py
|
||
|
|
COPY gpu_batch01_v1_1_runner.py gpu_feature_parity_contract_v1_1.py /opt/gpu-feature/
|
||
|
|
COPY control_plane/trading_studio/indicators/historical_band_channel.py /opt/gpu-feature/control_plane/trading_studio/indicators/historical_band_channel.py
|
||
|
|
|
||
|
|
# Oracle and market data are intentionally supplied as read-only runtime mounts.
|
||
|
|
ENV PYTHONUNBUFFERED=1 \
|
||
|
|
CUDA_DEVICE_ORDER=PCI_BUS_ID \
|
||
|
|
GPU_FEATURE_DATA_CSV=/data/binance_btcusdt_spot_2m_180d.csv \
|
||
|
|
GPU_FEATURE_ORACLE_NPZ=/oracle/batch01_oracle_outputs.npz \
|
||
|
|
GPU_FEATURE_REQUEST_JSON=/oracle/batch01_oracle_request.json \
|
||
|
|
GPU_FEATURE_CACHE_DIR=/cache
|
||
|
|
|
||
|
|
ENTRYPOINT ["python3", "/opt/gpu-feature/gpu_feature_engine_v1.py"]
|
||
|
|
CMD ["--mode", "smoke"]
|