MCPcopy
hub / github.com/deepspeedai/DeepSpeed / test_async_write

Method test_async_write

tests/unit/ops/aio/test_aio.py:190–219  ·  view source on GitHub ↗
(self, tmpdir, use_cuda_pinned_tensor, single_submit, overlap_events, use_unpinned_tensor)

Source from the content-addressed store, hash-verified

188
189 @pytest.mark.parametrize("use_unpinned_tensor", [True, False])
190 def test_async_write(self, tmpdir, use_cuda_pinned_tensor, single_submit, overlap_events, use_unpinned_tensor):
191 _skip_for_invalid_environment(use_cuda_pinned_tensor=use_cuda_pinned_tensor)
192
193 ref_file, ref_buffer = _do_ref_write(tmpdir)
194
195 h = AsyncIOBuilder().load().aio_handle(BLOCK_SIZE, QUEUE_DEPTH, single_submit, overlap_events, IO_PARALLEL)
196 use_cpu_locked_tensor = False
197 if use_unpinned_tensor:
198 aio_file, aio_buffer = _get_test_write_file_and_unpinned_tensor(tmpdir, ref_buffer)
199 elif use_cuda_pinned_tensor:
200 aio_file, aio_buffer = _get_test_write_file_and_pinned_tensor(tmpdir, ref_buffer)
201 else:
202 aio_file, aio_buffer = _get_test_write_file_and_pinned_tensor(tmpdir, ref_buffer, h)
203 use_cpu_locked_tensor = True
204
205 _validate_handle_state(h, single_submit, overlap_events)
206
207 write_status = h.async_pwrite(aio_buffer, aio_file, 0)
208 assert write_status == 0
209
210 wait_status = h.wait()
211 assert wait_status == 1
212
213 if use_cpu_locked_tensor:
214 h.free_cpu_locked_tensor(aio_buffer)
215
216 assert os.path.isfile(aio_file)
217
218 filecmp.clear_cache()
219 assert filecmp.cmp(ref_file, aio_file, shallow=False)
220
221
222@pytest.mark.sequential

Callers

nothing calls this directly

Calls 8

AsyncIOBuilderClass · 0.90
_do_ref_writeFunction · 0.70
_validate_handle_stateFunction · 0.70
loadMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected