Is update_all always single threaded within one process?

I was reading how update_all is implemented (dgl/heterograph.py at 17141dd372cb41922f98606549d255f6c12694cb · dmlc/dgl · GitHub). Looks like by default it behave single thread?

I know DGL is designed in a way that if we want to take advantage of multi-processing, having multiple graph partitions probably will do the trick (am I wrong?)

That being said, is there already a mechanism to make “update_all()” do all the updates in parallel?

Hi, the update_all kernel does utilize OpenMP for parallelization (code). Each thread is in charge of updating a set of nodes in parallel.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.