I notice that for compiling the same program this line here takes 10m when 2 processes are running vs 27s when 1 processes is running. It’s just pass manager running all passes so I am not sure why the execution time is so different.
More context on this:
We launch python processes that uses ExecutionEngine from MLIR with Python binding to execute multiple python programs compiled to LLVM IR. We notice that on a particular machine, if more than one processes are launched to execute the python programs there are significant more ticks from this method. All the processes are doing the same work which is compiling and executing a python program fetched from a job queue. More investigation shows the ticks ended up in
SimpleCompiler::operator()(Module &M) I linked above.
Does anyone have a clue what might be the reason behind this?