Perplexity's Tulip: CUDA graphs and LazyTensors for low-latency batch embedding

perplexity_ai · x · 2026-09-05

Perplexity explains Tulip, its lightweight Rust gRPC inference server between Ivy and the ROSE engine: it batches incoming requests for the GPU, noting that for small embedding models runtime depends on tokens (512 tokens fills the GPU). Two techniques cut latency and boost throughput: CUDA graphs pre-record GPU work for single-call launches, and LazyTensors tracks results asynchronously so the CPU preps the next batch while the GPU finishes the current one.

Related event: Perplexity Reveals Its In-House Embedding Inference Stack(8 posts)→

Original post →

More from Infra

Infra channel →