At EDPS in Monterey, Tom Spyrou of AMD talked about their compute environment in the context of parallel algorithms. I discovered that they are a big user of RTDA’s FlowTracer so I talked to Philip Steinke at AMD about how they used it.
He said that they largely use it as described in The Art of Flows as a graphical distributed make. They don’t make use of the automatic dependency detection that FlowTracer can do, instead create the dependencies by hand. When one step in the flow completes it declares certain files as outputs, and the next step declares files as inputs. FlowTracer ensures that one step cannot run until the previous ones have completed successfully.
AMD has a large base of users spread throughout the company ranging from fresh graduates to 20-30 years of experience veterans. They have a whole portfolio of different highly automated flows that cover most of the chip design process.
I asked Philip how the flow was originally put together. He told me that it was pretty much like the “French Style” described in the Art of Flows. It is very simple to add new pieces into the flow so that FlowTracer will pick it up and add it to the flow graph.
It was first developed as a solution for a single project, but over time it was adopted by more teams. It is now the basis for almost all digital implementation in AMD.
They have augmented FlowTracer with a couple of other tools. They use LSF (now from IBM since they acquired platform computing late last year) for scheduling jobs on their server farms. And they have created a special in-house utillity for scanning log files looking for error patterns, capable of ignoring errors and so on. This is to deal with the case where a tool doesn’t do so badly that it returns an error status but issues errors that might make the result suboptimal.
Download a free copy of The Art of Flows here.