Breakout-v5__cleanba_ppo_envpool_impala_atari_wrapper__1__e25fe000-cbac-415b-af7a-0aa8d3633459
data transfer optimization
Created on February 27|Last edited on February 27
Comment
It's better to accumulate data on device to produce a single obs pointer before sending it to the queue
Expand 280 lines ... | |||||
281 | 281 | return b_obs, b_actions, b_logprobs, b_advantages, b_returns | |||
282 | 282 | ||||
283 | 283 | ||||
284 | + |
| |||
285 | + | def make_bulk_array( | |||
286 | + | obs: list, | |||
287 | + | values: list, | |||
288 | + | actions: list, | |||
289 | + | logprobs: list, | |||
290 | + | ): | |||
291 | + | obs = jnp.asarray(obs) | |||
292 | + | values = jnp.asarray(values) | |||
293 | + | actions = jnp.asarray(actions) | |||
294 | + | logprobs = jnp.asarray(logprobs) | |||
295 | + | return obs, values, actions, logprobs | |||
296 | + | ||||
297 | + | ||||
284 | 298 | def rollout( | |||
285 | 299 | key: jax.random.PRNGKey, | |||
286 | 300 |
| |||
Expand 110 lines ... | |||||
397 | 411 | writer.add_scalar("stats/inference_time", inference_time, global_step) | |||
398 | 412 | writer.add_scalar("stats/storage_time", storage_time, global_step) | |||
399 | 413 | writer.add_scalar("stats/env_send_time", env_send_time, global_step) | |||
414 | + |
| |||
415 | + |
| |||
416 | + |
| |||
417 | + | obs, values, actions, logprobs = make_bulk_array( | |||
418 | + |
| |||
419 | + |
| |||
420 | + |
| |||
421 | + |
| |||
422 | + |
| |||
423 | + | ||||
400 | 424 | payload = ( | |||
401 | 425 |
| |||
402 | 426 |
| |||
403 | 427 |
| |||
404 | 428 |
| |||
405 | - |
| |||
406 | 429 |
| |||
407 | 430 |
| |||
408 | 431 |
| |||
432 | + |
| |||
409 | 433 |
| |||
410 | 434 |
| |||
411 | 435 | np.mean(params_queue_get_time), | |||
Expand 305 lines ... | |||||
717 | 741 |
| |||
718 | 742 |
| |||
719 | 743 |
| |||
720 | - |
| |||
721 | 744 |
| |||
722 | 745 |
| |||
723 | 746 |
| |||
747 | + |
| |||
724 | 748 |
| |||
725 | 749 |
| |||
726 | 750 |
| |||
Expand 106 lines ... |
baseline
1
make_bulk_array
1
1
baseline
1
slight optimization
1
slgiht optimization (looks like doesn't work)
1
Add a comment