Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RustBoard tasks #4422

Closed
32 of 34 tasks
wchargin opened this issue Dec 3, 2020 · 5 comments
Closed
32 of 34 tasks

RustBoard tasks #4422

wchargin opened this issue Dec 3, 2020 · 5 comments
Labels
core:rustboard //tensorboard/data/server/...

Comments

@wchargin
Copy link
Contributor

wchargin commented Dec 3, 2020

Feature tasks

If you’re interested, let me know, and I’ll assess whether it’s a good idea and
provide guidance if appropriate.

Small-ish

Involved

These are mostly for feature parity. There are further ideas for new
features—indexing, deferred blob loading, etc.—but let’s hold off on
those.

Infra tasks

(I plan to take care of these.)

  • Filesystems (rust: extract Logdir trait for other filesystems #4636)
    • touches: core, CLI
  • Pull main.rs into rustboard_core::cli
    • dovetails with filesystems: bring your own entry point
  • Pip packaging
  • Cross-platform builds
    • trivial to cross-compile to pc-windows-gnu, less so to pc-windows-msvc
    • osxcross?
    • just build ’em all on GitHub Actions? has VMs for all relevant
      platforms
  • Benchmarks
    • touches: core, build
    • status: have a starting point; can expand as needed

Other tasks that I plan to investigate:

@wchargin wchargin added the core:rustboard //tensorboard/data/server/... label Dec 3, 2020
@bileschi
Copy link
Collaborator

bileschi commented Dec 4, 2020

May I reserve plugin listing?

@wchargin
Copy link
Contributor Author

wchargin commented Dec 4, 2020

Sure! You’ll want to update the list_plugins RPC handler to iterate
over the map of data and extract the plugin names from the summary
metadata, rather than just returning a hard-coded "scalars".

You can unit test this easily (follow existing examples), and for an
end-to-end test you can compare a logdir with scalars to an empty logdir
(since we don’t yet have tensor/blob sequence support).

@wchargin
Copy link
Contributor Author

I’ve grabbed blob sequence support. It’s more involved than tensors but
teaches approx. the same lessons, so I figure that I can grab it.

@wchargin
Copy link
Contributor Author

wchargin commented Jan 19, 2021

I ended up also grabbing “make CRCs optional” because I was curious and
it turns out to make things 15–60% faster (#4573), so I didn’t want to
just leave that on the table that it might potentially get dropped.

psybuzz added a commit that referenced this issue Feb 22, 2021
Introduces a `--samples-per-plugin` flag on the Rust data server, which
takes the `--samples_per_plugin` flag from standard TensorBoard's CLI.
At the moment, this change makes the value of `0` interpreted as
"create a reservoir with capacity 0", while traditionally the value would be
interpreted as "create a reservoir with unbounded capacity". This
discrepancy will be addressed separately.

Test plan:
Added unit tests and ran with `cargo test`.
Ran `bazel run tensorboard:dev --define=link_data_server=true -- --load_fast --logdir <logdir> --bind_all --samples_per_plugin=scalars=5,images=0` and observed that scalar
charts that normally show lots of points now only show 5, while images do
not appear at all.

Associated issue: "samples per plugin" item in the Rustboard task list #4422.
@wchargin
Copy link
Contributor Author

Thanks to @bileschi, @psybuzz, and @nfelt for your contributions! We’ve
gotten all the important stuff by this point, so I’m closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core:rustboard //tensorboard/data/server/...
Projects
None yet
Development

No branches or pull requests

2 participants