Alcides Fonseca.AI & Programming Languages researcher
40.197958, -8.408312

Making intelligent software
more reliable.

I work on the intersection of AI, Software Engineering and Programming Languages. Currently, I am applying Formal Methods to Agents, towards AI Safety.

Program synthesisLiquid typesReliable AIGuardrailsEvals

Multithreading bug in Numpy

Whenever I have worked on parallel programming, I always plot some variation of the speedup scale.

This is very helpful to detect problems like this one that affects numpy, where you can only see it whenever the contention for some resource is high enough. It might not appear with two or four threads, but sometimes it happens with 10 or 20 threads.

The whole debugging process is quite interesting, using flame graphs, scale plots and the world-famous good-diagram-technique.

Nothing like a good diagram to debug how a system works!

Read next