# How to Configure DSPARKMAXINFLIGHTPREFILLS in DeepSeek v4 Flash DSpark

> Configure DSPARKMAXINFLIGHTPREFILLS in DeepSeek v4 Flash DSpark by setting the environment variable. Limit concurrent partial prefill requests for better scheduler performance.

- Repository: [Mia's AI Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark)
- Tags: how-to-guide
- Published: 2026-09-09

---

**Set the `DSPARKMAXINFLIGHTPREFILLS` environment variable to a positive integer before launching the DSpark service** to limit the number of concurrent partial prefill requests the scheduler processes simultaneously.

The MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark repository exposes `DSPARKMAXINFLIGHTPREFILLS` as a numeric tuning knob defined in [`dspark-numeric-knobs.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/dspark-numeric-knobs.sh). This setting controls request concurrency in the partial prefill stage, allowing operators to balance GPU memory utilization against inference throughput based on their specific hardware configuration.

## Quick Configuration via Environment Variable

To apply the setting for a single shell session, export the variable immediately before executing the launch script:

```bash
export DSPARKMAXINFLIGHTPREFILLS=64
./start-deepseek-v4-flash-dspark.sh

```

The DSpark runtime reads this value during initialization and passes it to the internal prefill scheduler. The scheduler uses this limit to gate how many partial prefills may be active in-flight at any moment.

## Persistent Configuration with Environment Files

For permanent settings across service restarts, define the knob in `.env.dspark.example`:

```dotenv
DSPARKMAXINFLIGHTPREFILLS=128

```

The launch script [`start-deepseek-v4-flash-dspark.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/start-deepseek-v4-flash-dspark.sh) automatically sources this environment file. Alternatively, you can manually load the configuration:

```bash
source .env.dspark.example
./start-deepseek-v4-flash-dspark.sh

```

Storing the value in `.env.dspark.example` ensures the limit persists across container restarts and deployments without requiring interactive shell configuration.

## How the Knob is Parsed

According to the source code in [`dspark-numeric-knobs.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/dspark-numeric-knobs.sh), the environment variable is mapped to an internal configuration field used by the DSpark scheduler. This shell script acts as the central registry for numeric parameters, ensuring that `DSPARKMAXINFLIGHTPREFILLS` is correctly cast to an integer and propagated to the inference engine during startup.

## Validating the Configuration

Verify that your setting is active using the repository's dedicated test suite. The file [`tests/test_issue27_inflight_cap.py`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/tests/test_issue27_inflight_cap.py) validates the in-flight prefill cap functionality:

```bash
python -m pytest tests/test_issue27_inflight_cap.py -v

```

You can also inspect the runtime value programmatically:

```python
import os

# Query the current limit after DSpark starts

limit = int(os.getenv("DSPARKMAXINFLIGHTPREFILLS", "0"))
print(f"Current in-flight partial prefill limit: {limit}")

```

## Performance Tuning Guidelines

The optimal value depends on your GPU memory capacity and request batching patterns:

- **Higher limits** (e.g., 64–128) maximize throughput on high-memory DGX systems by allowing greater overlap of prefill computations across multiple requests.
- **Lower limits** (e.g., 8–16) reduce VRAM pressure and improve latency stability on smaller GPU configurations by constraining concurrent partial prefills.

Tune this value empirically based on observed GPU memory utilization and request latency metrics.

## Summary

- **Set `DSPARKMAXINFLIGHTPREFILLS`** as an environment variable or in `.env.dspark.example` to control partial prefill concurrency.
- The value is parsed by **[`dspark-numeric-knobs.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/dspark-numeric-knobs.sh)** and passed to the DSpark scheduler during initialization via [`start-deepseek-v4-flash-dspark.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/start-deepseek-v4-flash-dspark.sh).
- Use **[`tests/test_issue27_inflight_cap.py`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/tests/test_issue27_inflight_cap.py)** to verify the setting functions correctly under load.
- Adjust based on hardware capacity: increase for throughput on large GPUs, decrease for stability on memory-constrained systems.

## Frequently Asked Questions

### What happens if I do not set DSPARKMAXINFLIGHTPREFILLS?

If the environment variable is undefined, the DSpark runtime resorts to an internal default value defined within the scheduler logic. This fallback is typically optimized for standard DGX configurations, but explicit configuration is recommended for production deployments to ensure predictable memory usage.

### Can I change the limit without restarting the DSpark service?

No. The knob is read once during the initialization phase when [`start-deepseek-v4-flash-dspark.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/start-deepseek-v4-flash-dspark.sh) sources the environment files and executes [`dspark-numeric-knobs.sh`](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark/blob/main/dspark-numeric-knobs.sh). Modifying the value requires a full service restart to reload the environment variables and reconfigure the prefill scheduler.

### How do I know if my setting is too high for my GPU?

Excessive values can trigger CUDA out-of-memory errors or cause severe performance degradation as the scheduler attempts to queue more concurrent partial prefills than the GPU VRAM can accommodate. Monitor GPU memory utilization during load testing; if utilization approaches 100% or latency spikes, reduce `DSPARKMAXINFLIGHTPREFILLS` incrementally.

### Is there a hard maximum value for DSPARKMAXINFLIGHTPREFILLS?

The shell scripts do not enforce a rigid upper bound, but practical limits are imposed by available GPU memory and the scheduler's internal queue depth. Values exceeding 256 are generally not recommended unless specifically benchmarking on multi-GPU DGX systems with substantial VRAM headroom.