Environment Variables
Complete reference for environment variables used in vLLM CPU Performance Evaluation scripts and playbooks.
Test Configuration
Model and Test Settings
| Variable |
Description |
Default |
Example |
TEST_MODEL |
Override test model |
None |
meta-llama/Llama-3.2-1B-Instruct |
REQUESTED_CORES |
Override core count |
Varies by script |
16 |
VLLM_MODE |
vLLM operational mode |
managed |
managed, external |
WORKLOAD_TYPE |
Test workload type |
Varies |
chat, rag, code |
MTEB Quality Testing
| Variable |
Description |
Default |
Example |
MTEB_TASK_PRESET |
Task preset |
quick |
quick, comprehensive, retrieval |
MTEB_TASKS |
Custom task list |
None |
Banking77,Emotion |
MTEB_LANGUAGES |
Language configuration |
en |
en, en,es,fr |
MTEB_CONTAINER_IMAGE |
Custom MTEB container |
quay.io/vllm-cpu-perf-eval/vllm-mteb:latest |
Custom registry URL |
RESULTS_DIR |
MTEB results directory |
results/mteb |
/path/to/results |
Container Images
| Variable |
Description |
Default |
Example |
VLLM_CONTAINER_IMAGE |
vLLM container image |
Latest vLLM CPU |
registry.redhat.io/rhaii/vllm-cpu-rhel9:3.4.0 |
VLLM_CONTAINER_ENTRYPOINT |
Custom entrypoint |
None |
/opt/zendnn/activate.sh && vllm serve |
vLLM Server Configuration
| Variable |
Description |
Default |
Example |
VLLM_ENDPOINT_URL |
External vLLM endpoint |
None (auto-detect) |
http://192.168.1.100:8000 |
VLLM_HEALTH_TIMEOUT |
Health check timeout (seconds) |
600 |
900 (for slow-starting containers) |
VLLM_CPU_START |
Starting CPU for vLLM |
Auto |
64 |
VLLM_NUMA_NODE |
NUMA node for vLLM |
Auto |
1 |
Load Generator Configuration
| Variable |
Description |
Default |
Example |
GUIDELLM_CPUS |
CPU range for GuideLLM |
Auto |
0-31 |
GUIDELLM_NUMA_NODE |
NUMA node for GuideLLM |
Auto |
0 |
Monitoring and Logging
MLflow
| Variable |
Description |
Default |
Example |
MLFLOW_TRACKING_URI |
MLflow server URI |
http://localhost:5000 |
http://mlflow.example.com:5000 |
MLFLOW_EXPERIMENT_NAME |
Experiment name |
Auto-generated |
vllm-embedding-benchmarks |
Prometheus and Grafana
| Variable |
Description |
Default |
Example |
PROMETHEUS_PORT |
Prometheus port |
9090 |
9091 |
GRAFANA_PORT |
Grafana port |
3000 |
3001 |
Ansible Configuration
SSH and Connectivity
| Variable |
Description |
Default |
Example |
DUT_HOSTNAME |
Device under test hostname |
Required |
dut.example.com |
ANSIBLE_SSH_KEY |
SSH private key path |
~/.ssh/id_rsa |
~/.ssh/custom_key |
ANSIBLE_SSH_USER |
SSH username |
Current user |
testuser |
Inventory Management
| Variable |
Description |
Default |
Example |
INVENTORY_FILE |
Ansible inventory path |
inventory/hosts.yml |
custom-inventory.yml |
Script-Specific Variables
run-rhaiis-concurrent-load.sh
| Variable |
Description |
Example |
MODELS_INPUT |
Model preset or list |
all, llama, qwen, tiny |
CORES_INPUT |
Core counts |
8,16,32 |
WORKLOADS_INPUT |
Workload types |
chat,rag |
TENSOR_PARALLEL |
Tensor parallelism value |
2, 4, 8 |
SKIP_MODELS_INPUT |
Models to skip |
RedHatAI/TinyLlama-1.1B-Chat-v1.0-pruned2.4 |
run-embedding-suite.sh
| Variable |
Description |
Example |
EMBEDDING_MODELS |
Model preset |
all, small, medium, large, quick |
CORE_COUNTS |
Core counts to test |
4,8,16,32 |
NUM_PROMPTS |
Number of prompts |
100 |
run-mteb-model-sweep.sh
| Variable |
Description |
Example |
MTEB_MODELS |
Model list |
all, custom list |
MTEB_CORES |
Core count |
4 |
Advanced Configuration
NUMA and CPU Pinning
All socket pinning variables can be set via environment:
export VLLM_CPU_START=64
export VLLM_NUMA_NODE=1
export GUIDELLM_CPUS="0-31"
export GUIDELLM_NUMA_NODE=0
Container Runtime
| Variable |
Description |
Default |
Example |
CONTAINER_RUNTIME |
Container runtime |
Auto-detect |
docker, podman |
Usage Examples
Override Test Model
export TEST_MODEL="meta-llama/Llama-3.2-3B-Instruct"
./bash/run-embedding-suite.sh
Use Custom RHAIIS Container
export VLLM_CONTAINER_IMAGE="registry.redhat.io/rhaii/vllm-cpu-rhel9:3.4.0"
./bash/run-rhaiis-concurrent-load.sh
export MLFLOW_TRACKING_URI="http://mlflow-server.example.com:5000"
ansible-playbook log-to-mlflow.yml
Socket Separation via Environment
export VLLM_CPU_START=64
export VLLM_NUMA_NODE=1
export GUIDELLM_CPUS="0-31"
export GUIDELLM_NUMA_NODE=0
./bash/run-rhaiis-concurrent-load.sh --models qwen --cores 32
External vLLM Endpoint (DUT-Only Mode)
export VLLM_MODE="external"
export VLLM_ENDPOINT_URL="http://192.168.1.100:8000"
ansible-playbook llm-benchmark-auto.yml \
-e "workload_type=chat" \
-e "requested_cores=16"
ZenDNN Configuration (AMD)
export VLLM_CONTAINER_IMAGE="amd-vllm-zendnn:latest"
export VLLM_CONTAINER_ENTRYPOINT="/opt/zendnn/activate.sh && vllm serve"
export VLLM_HEALTH_TIMEOUT=900 # ZenDNN takes longer to initialize (default 600s)
ansible-playbook llm-benchmark-auto.yml
Precedence
Environment variables are overridden by:
1. Command-line flags (highest priority)
2. Ansible extra vars (-e flag)
3. Environment variables
4. Script defaults (lowest priority)
Example:
# Environment sets 16 cores
export REQUESTED_CORES=16
# But command-line flag overrides to 32
./bash/run-embedding-suite.sh --cores 32 # Uses 32 cores
See Also