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

Method test_read

tests/unit/ops/aio/test_gds.py:176–208  ·  view source on GitHub ↗
(self, tmpdir, async_queue)

Source from the content-addressed store, hash-verified

174
175 @pytest.mark.parametrize("async_queue", [2, 3])
176 def test_read(self, tmpdir, async_queue):
177
178 ref_files = []
179 for i in range(async_queue):
180 f, _ = _do_ref_write(tmpdir, i)
181 ref_files.append(f)
182
183 single_submit = True
184 overlap_events = True
185 h = GDSBuilder().load().gds_handle(BLOCK_SIZE, QUEUE_DEPTH, single_submit, overlap_events, IO_PARALLEL)
186
187 gds_buffers = [
188 torch.empty(IO_SIZE, dtype=torch.uint8, device=get_accelerator().device_name()) for _ in range(async_queue)
189 ]
190 for buf in gds_buffers:
191 h.pin_device_tensor(buf)
192
193 _validate_handle_state(h, single_submit, overlap_events)
194
195 for i in range(async_queue):
196 read_status = h.async_pread(gds_buffers[i], ref_files[i], 0)
197 assert read_status == 0
198
199 wait_status = h.wait()
200 assert wait_status == async_queue
201
202 for i in range(async_queue):
203 with open(ref_files[i], 'rb') as f:
204 ref_buffer = list(f.read())
205 assert ref_buffer == gds_buffers[i].tolist()
206
207 for t in gds_buffers:
208 h.unpin_device_tensor(t)
209
210 @pytest.mark.parametrize("async_queue", [2, 3])
211 def test_write(self, tmpdir, async_queue):

Callers

nothing calls this directly

Calls 9

GDSBuilderClass · 0.90
get_acceleratorFunction · 0.90
appendMethod · 0.80
_do_ref_writeFunction · 0.70
_validate_handle_stateFunction · 0.70
loadMethod · 0.45
device_nameMethod · 0.45
waitMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected