huawei-noah / SMARTS

Scalable Multi-Agent RL Training School for Autonomous Driving
MIT License
925 stars 185 forks source link

Vectorized Core #638

Open Gamenot opened 3 years ago

Gamenot commented 3 years ago

Improve performance of the simulation by processing data rather than objects.

The central idea is to collocate memory so it can be operated on in batch to reduce the number of jumps and improve the potential for parallelised processing. The final goal is that the state of the simulation should be possible to represent as frame. This leads to the potential of multi-buffering frames (e.g. similar to the usefulness of double buffering with graphics rendering.)

Prime targets of this change are:

Adaickalavan commented 3 years ago

Does this include changing for loops with independent iterations to instead use map?