-
Notifications
You must be signed in to change notification settings - Fork 79
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
Python Dataset Reader #2414
Python Dataset Reader #2414
Conversation
eee429e
to
40c516b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall looks good, some comments
@@ -0,0 +1,137 @@ | |||
import os |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not use the pytest version?
Would be nice to extend the test infrastructure (maybe at a later PR?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you clarify what you mean here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certainly. What I meant is that our pytest version of the tests (i.e., @test_util.lbann_test
) might have a nicer syntax here. However, it is designed to use the existing Python data reader and may be extended as such to use the dataset reader (for example, with a flag @test_util.lbann_test(dataset=MyObject())
or similar).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree we should change the test framework to use the new python dataset reader, but I think that should be a separate PR.
include/lbann/data_ingestion/readers/data_reader_python_dataset.hpp
Outdated
Show resolved
Hide resolved
40c516b
to
861931c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just noticed this
send_rank = recv_rank = send_rank_count = recv_rank_count = 0; | ||
uint64_t send_rank_max_count = | ||
local_distconv_mb_size + (distconv_extra_samples > 0); | ||
uint64_t recv_rank_max_count = local_mb_size + (extra_samples > 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fiedorowicz1 this looks like an Alltoall collective. Do you think using it would be more effective instead of the loop?
Co-authored-by: Tal Ben-Nun <[email protected]>
e0cf5f2
to
75aac4e
Compare
Implements a new python data reader that is cleaner, more general, and supports DistConv. It also supports parallel pre-fetching of multiple mini-batches.