mortbopet / VSRTL

Visual Simulation of Register Transfer Logic
MIT License
87 stars 17 forks source link

Implement concurrent propagation #41

Open mortbopet opened 4 years ago

mortbopet commented 4 years ago

With #40 , it should be possible to partition the graph into subgraphs with no dependencies. These subgraphs are then valid to be executed in a separate thread.

This task would initialize a QThreadPool and the logic for assigning subgraph propagation to threads.

Based on the circuit being simulated, this may induce some load balancing issues, but as long as the number of subgraphs is somewhat greater than the number of executing threads, assigning the subgraph propagations to the QThreadPool, the threadpool will handle the scheduling for maximum operation overlap.

Related to #9