← Back to All Placements

Charlotte Gibson

Technical Intern

Callosum
London, United Kingdom

Summary

Callosum builds infrastructure that lets heterogeneous chips and intelligence co-evolve, rather than treating hardware and software as separate problems. This allows chips and software to be designed together to exploit each chip's specialist properties to work more efficiently. I work within the compute and infrastructure team, building internal tools to jointly optimise software and hardware. Optimal system design depends on the hardware, available models, and intended application. As all three continue to diversify, the number of configurations grows combinatorially, beyond the capabilities of manual optimisation. To solve this, I built an evolutionary system that creates many candidate solutions, evaluates their performance, and progressively improves the strongest over several generations. During my placement, this developed from an initial concept into an autonomous system that uses diagnoses from unsuccessful attempts to guide later changes. It has since been applied to a diverse range of engineering problems, each integrated with the system through a common interface.

Role and Contributions

I held ownership of building this system by extending existing internal optimisation work, defining its architecture, implementing its core components, and independently deciding which capabilities to prioritise and when to extend or replace them. The first version generated candidates by asking an AI model to propose targeted text changes. Testing showed that this restricted the range of solutions it could explore, so I replaced it with a sandboxed coding agent that can inspect, modify, and test multiple files within a secure environment. I also built a trace-analysis system that diagnoses why a candidate underperformed and uses that diagnosis to guide the next attempt. I developed the interfaces, templates, automated checks, and documentation, including user guides, needed for other teams to integrate their own engineering problems without changing the core system or relying on my direct support. I also presented the work at team, cross-team, and company-wide levels.

Technical Skills

I developed maintainable production software, automated testing and validation processes, and secure isolated environments for running untrusted code. I gained extensive experience with autonomous AI systems, multi-file coding agents, and trace-based diagnosis. The work also required balancing competing objectives such as performance, speed, energy use, and cost. I designed controlled studies to isolate specific weaknesses rather than relying on informal observation. Additionally, I gained practical exposure to graphics processors, novel chip architectures, and wafer-scale systems, and learned how software and hardware can be adapted together to improve overall system performance.

Professional Skills

I developed my communication skills by explaining my work to researchers, engineers, customer-facing colleagues, and company-wide audiences. This required adapting the level of detail while keeping the purpose, method, and outcome clear. Sole ownership strengthened my professional judgement when prioritising work and deciding which capabilities were necessary at each stage of development. Although there was always a longer-term vision for a more capable system, I learned to identify the most effective next step rather than attempting to build the final form immediately. As the team grew, I also supported new colleagues through documentation and direct guidance, improving my ability to transfer knowledge and help others work independently.

Tags

Software AI Hardware (Digital)