Skip to content

Commit

Permalink
Change GDS to 1 AIO thread (#6459)
Browse files Browse the repository at this point in the history
The `numThreads` config option determines how many threads are used to
read from the file. In the CPU case these threads are created via AIO,
in the GDS case they are handled by the GDS library via the cufile.json.
If we were to also create AIO threads it would have a multiplicative
effect. Example 8 AIO threads * 8 GDS threads would be 64 threads
reading from the file when the user really only intended for 8 threads.

Co-authored-by: Olatunji Ruwase <olruwase@microsoft.com>
  • Loading branch information
jomayeri and tjruwase authored Aug 29, 2024
1 parent 4864991 commit cde5469
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion csrc/gds/py_lib/deepspeed_py_gds_handle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ deepspeed_gds_handle_t::deepspeed_gds_handle_t(const int block_size,
const bool single_submit,
const bool overlap_events,
const int num_threads)
: deepspeed_io_handle_t(block_size, queue_depth, single_submit, overlap_events, num_threads)
: deepspeed_io_handle_t(block_size, queue_depth, single_submit, overlap_events, 1)
{
_init_cuFile(block_size, queue_depth, num_threads);
}
Expand Down

0 comments on commit cde5469

Please sign in to comment.