What are the primary computational bottlenecks in modern LLM inference, and how does in-memory computing address them at TETRAMEM?