Environment variables

Read by GPUlayer

VariableUsed byMeaning
GPULAYER_HOMEeverythinglocal state directory (default ~/.gpulayer)
GPULAYER_URLSDK, CLI, Trainer, launchserver URL; unset means the embedded control plane
GPULAYER_TOKENSDK, CLIclient token
GPULAYER_FINGERPRINTSDK, CLI, joinpinned server certificate (sha256:...)
GPULAYER_JOIN_TOKENjoin, worker startworker join token
GPULAYER_WORKER_PYTHONSDK in-process workersinterpreter for jobs

Set for every job

VariableMeaning
GPULAYER_JOB_ID, GPULAYER_TASK_ID, GPULAYER_ATTEMPTidentity
GPULAYER_NODE_RANKnode rank (0 for independent jobs)
GPULAYER_ACCELERATORcpu, cuda or mps, as requested
GPULAYER_INPUT_DIRstaged input files
GPULAYER_OUTPUT_DIRfiles written here come back as output artifacts
GPULAYER_COMM_BACKENDdistributed jobs: gloo or nccl
CUDA_VISIBLE_DEVICESgranted CUDA devices; empty for CPU jobs
PYTHONUNBUFFERED=1so logs stream as they are written

Distributed jobs also get torchrun's variables: RANK, WORLD_SIZE, LOCAL_RANK, LOCAL_WORLD_SIZE, GROUP_RANK, MASTER_ADDR, MASTER_PORT.

Jobs do not inherit the worker's environment, except PATH, HOME, USER, LANG, LC_ALL, TMPDIR and TERM. Pass anything else with env or secrets.