# การปรับ Optimization

Maximize llama.cpp inference speed and efficiency.

## CPU Optimization

### Thread tuning
```bash
# การปรับ Optimization
./llama-cli -m model.gguf -t 8

# การปรับ Optimization
-t 16  # Best: physical cores

# การปรับ Optimization
```

### BLAS acceleration
```bash
# การปรับ Optimization
make LLAMA_OPENBLAS=1

# การปรับ Optimization
```

## GPU Offloading

### Layer offloading
```bash
# การปรับ Optimization
./llama-cli -m model.gguf -ngl 35

# การปรับ Optimization
./llama-cli -m model.gguf -ngl 999

# การปรับ Optimization
# การปรับ Optimization
# การปรับ Optimization
```

### Memory usage
```bash
# การปรับ Optimization
nvidia-smi dmon

# การปรับ Optimization
./llama-cli -m model.gguf -c 2048  # 2K context instead of 4K
```

## Batch Processing

```bash
# การปรับ Optimization
./llama-cli -m model.gguf -b 512  # Default: 512

# การปรับ Optimization
--ubatch 128  # Process 128 tokens at once
```

## Context Management

```bash
# การปรับ Optimization
-c 512

# การปรับ Optimization
-c 4096

# การปรับ Optimization
-c 32768
```

## Benchmarks

### CPU Performance (Llama 2-7B Q4_K_M)

| Setup | Speed | Notes |
|-------|-------|-------|
| Apple M3 Max | 50 tok/s | Metal acceleration |
| AMD 7950X (16c) | 35 tok/s | OpenBLAS |
| Intel i9-13900K | 30 tok/s | AVX2 |

### GPU Offloading (RTX 4090)

| Layers GPU | Speed | VRAM |
|------------|-------|------|
| 0 (CPU only) | 30 tok/s | 0 GB |
| 20 (hybrid) | 80 tok/s | 8 GB |
| 35 (all) | 120 tok/s | 12 GB |
