Handbook
Granite NN worker images (LCDL)
Forge LCDL NN tasks (nn_fleet_infer, nn_train, nn_eval, nn_generate) submit Fleet docker_argv workspace jobs with NVIDIA GPU flags.
Updated
Requirements
- Granite host with NVIDIA Container Toolkit
- Fleet bearer token and
POST /v1/jobsaccess - Worker image with Python 3.11+, TensorFlow GPU for MNIST training
Images
| Image | Role |
|---|---|
forge-lcdl-nn-infer-worker:local |
Default infer stub / light worker |
forge-lcdl-nn-gpu-worker:local |
CUDA MNIST train/eval/infer (deploy/nn-gpu-worker/Dockerfile) |
Build GPU worker from forge-lcdl root:
docker build -f deploy/nn-gpu-worker/Dockerfile -t forge-lcdl-nn-gpu-worker:local .
Entry: python -m forge_lcdl.nn.fleet_worker
Override with FORGE_LCDL_NN_FLEET_INFER_IMAGE.
Fleet template meta
LCDL sets job meta:
{
"container_class": "docker_argv_workspace",
"workspace_upload_required": true,
"nn_worker_kind": "train",
"use_fleet_template_image": true,
"requirements": ["lcdl_nn_gpu_worker"]
}
Set FORGE_LCDL_NN_FLEET_TEMPLATE_REQUIREMENTS=lcdl_nn_gpu_worker for Granite template resolution.
docker argv shape
docker run --rm --gpus all <image> python -m forge_lcdl.nn.fleet_worker
Workspace tarball contains request.json with op: infer | train | eval | generate.
Worker POSTs /v1/jobs/{id}/workspace-worker-complete with metrics, artifact_path, device_used, architecture.
MNIST Granite learning
- Prepare categorized digits on operator host:
python scripts/prepare-handwritten-digits.py --full export FORGE_LCDL_GRANITE_GPU=1./scripts/run-mnist-granite-gpu.sh cnn_lenetor--fullfor all Tier A
Manual Granite smoke
- Confirm
/v1/healthreportshost.gpu.nvidia.available: true export FORGE_LCDL_TASK_PACKS=nn- Run
nn_fleet_inferwith keras model andrequire_gpu: true - Poll job until
completed; verifyworker_result.device_usedisGPU
See LCDL NN backends in forge-lcdl.